关于使用XLSTransformer.transformXLS导出Excel表格中遇到的问题

关于使用XLSTransformer.transformXLS导出Excel表格中遇到的问题1.需求:最近拿到的一个任务,是将订单列表导出,按照订单列表导出(包括筛选条件)。背景:由于原本的订单列表查询代码太过繁重,里面夹杂的逻辑较多,再有一个是自己想尽快的熟悉公司的业务。于是决定,自己按照原本的样子重新写一个查询的逻辑。历程:原本以为这个功能会比较简单,用不了几天。原本打算用4天把这个需求搞定。结果,到今天结束用了10天。这大大的超出了我的预估。这也有开发系统故障的原因,导…

大家好,又见面了,我是你们的朋友全栈君。

1.

需求:最近拿到的一个任务,是将订单列表导出,按照订单列表导出(包括筛选条件)。

背景:由于原本的订单列表查询代码太过繁重,里面夹杂的逻辑较多,再有一个是自己想尽快的熟悉公司的业务。于是决定,自己按照原本的样子重新写一个查询的逻辑。

历程:原本以为这个功能会比较简单,用不了几天。原本打算用4天把这个需求搞定。结果,到今天结束用了10天。这大大的超出了我的预估。这也有开发系统故障的原因,导致debug需要部署到服务器上,浪费了很多的时间,效率也特别低(我枯了)。但是,这里面还是让我学习到了很多经验和知识,故而将这些看似不起眼的东西,记录下来。因为,小问题,也很费时间。

 

1.关于文件下载不能使用ajax请求的。

原因:因为response的原因,一般请求浏览器是会处理服务器输出的response,比如各种的文件流。然而,ajax请求指是将参数转换成类似于字符串的形式发送(Json什么的),请求返回的内容也是以字符串的形式返回到response里面,那么文件流从后端返回回来的时候,是不会进行自动解析的,于是乎下载是不能成功的,你只能看到response里面一堆乱码。也就是说,虽然返回的东西可以读取到,但只是读取却无法执行将文件解析出来,也就是无法调用到浏览器的下载处理机制。

2.关于表单提交数据的问题。

首先得说明一下,表单提交数据通过 application/x-www-form-urlencoded方式将数据按照key1:value1的形式提交到控制层,然后后端后自动的将数据对应,并赋值。但是,还是有例外的,是需要特别的注意的是Date数据类型,需要将接收的变量转变成String类型,或者提前将数据转换成Date格式,然后再进行赋值,当你发送请求的时候,会报400错误。

3.关于XLSTransformer.transformXLS的使用

Your InputStream was neither an OLE2 stream, nor an OOXML stream

表示的是创建workbook的时候丢失了文件类型,使用XLSTransformer.transformXLS的时候需要注意调用的是工厂方法create,如下图如果create方法识别不出文件流是哪类型的文件流时,就会抛出上述错误。源码实现如下:

关于使用XLSTransformer.transformXLS导出Excel表格中遇到的问题

 

其实,还有很多的小问题,只是本人的习惯不是很好,花了特别多的时间去解决这些小问题。为什么会遇到难么多的小问题呢?说白了就是基础不够扎实吧。一步三磕,一步三碰,前路慢行。

 

申明:本人只是单纯的记录下自己学习历程,如本文有表达错误的请各位大佬指正,给各位大佬递茶。

本人联系邮箱:CL30240@163.COM

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163881.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • json和jsonp的使用区别

    json和jsonp的使用区别

  • linux查看硬盘smart信息_centos查看未挂载磁盘

    linux查看硬盘smart信息_centos查看未挂载磁盘1          编写目的在如今大数据的环境中,磁盘的性能和稳定性是非常重要的一个业务因素。在Linux系统中,smartctl是较为常用的磁盘检测工具。本文基于Linux系统中smartctl进行分析,目的在于说明相关工具的使用,并对SMART(Self-Monitoring,AnalysisandReportingTechnology)做一些分析。2          …

  • Android 宏病毒,xls宏病毒,程序不落地创建傀儡进程实现远控

    Android 宏病毒,xls宏病毒,程序不落地创建傀儡进程实现远控本帖最后由Yennfer_于2019-9-2409:47编辑萌新分析,很多不足,请大佬们提出问题,共同学习。基本信息FileNameFileSizeFileTypeMD5Order_679873892xls47,4722ByteRat7641fef8abc7cb24b66655d11ef3daf2简介病毒是一个宏病毒,点击启用宏后会通过mshta.exe来访问url,得到要执行的代码,…

  • BGP AnyCast

    BGP AnyCast什么是BGPAnyCast?BGPanycast就是利用一个(多个)as号码在不同的地区广播相同的一个ip段。利用bgp的寻路原则,短的aspath会选成最优路径(bgp寻路原则之n),从而优化了访问速度。其实bgpanycast是不同服务器用了相同的ip地址。阿里的DNS就是使用了BGPAnyCast“其实bgpanycast是不同服务器用了相同的ip地址…

  • 刚开的博客测试下[通俗易懂]

    刚开的博客测试下[通俗易懂];;;;;;;;;——————-iK7VUYG0yF6lS3QNNmW4Gw==tRymiHsi9AbKpr3tTFXxup1GFhuX0czs73gSv/E7b5c=uk29oXxJxAg+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=eIWSkIow/vo+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=pcL609

  • Intellij IDEA2021.1创建Java web项目(超详细)

    Intellij IDEA2021.1创建Java web项目(超详细)IntellijIDEA2021.1点击next填写项目的名称以及位置,finish右键项目,选择addframeworksupport完成之后,项目结构变成了这样接下来,我们在WEB-INF下创建classes,lib文件夹编辑项目结构将outputpath的路径改成classes文件夹的路径接下来点击dependencies,选择加号,选择jarsordirectories点击后,他会弹出一个文件选择框,这里选择lib文件所在位置,之后按照下面这张图

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号