关于使用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)
blank

相关推荐

  • git 拉取远程分支到本地及本地切换分支

    拉取远程分支到本地及本地切换分支涉及的操作内容1.远程代码拉取到本地-2.本地合并其它分支代码-3.本地代码提交到远程指定仓库-4.本地切换分支1.远程代码拉取到本地首先确定要切换分支,查看当前本地及远程所有分支gitbranch-a红色为远程分支,白色为本地分支“*”为本地当前分支下面我们来切换一下远程分并在本地创建远程分支gitcheckout-b本地分支名origin/远程分支名远程代码拉取到本地已完成下面确认一下时代码记录gitlog/

  • GT911单片机驱动程序[通俗易懂]

    GT911单片机驱动程序[通俗易懂]GT911手册及驱动程序(安卓、MTK).rar-嵌入式文档类资源-CSDN下载https://download.csdn.net/download/qasxc78563/15117948参考:STM32F103驱动GT911-DarkBright-博客园https://www.cnblogs.com/DarkBright/p/10730346.htmlGT911与主机接口共有6PIN,分别为:VDD、GND、SCL、SDA、INT、RESET。这里用P11做中断脚,P13做复位

  • ⁉️socket实现Ping命令打造⚡BOSS来了⚡摸鱼神器⭐干货巨多❤️建议收藏❤️

    ⁉️socket实现Ping命令打造⚡BOSS来了⚡摸鱼神器⭐干货巨多❤️建议收藏❤️大家好,我是????前面我写了篇水文《获取当前局域网下所有连接设备的ip地址和mac地址》,但是没有想到的是居然上了热榜,也是我个人第一篇上热榜的文章,阅读量瞬间飙升????。然而我的硬核技术文却几乎没有人看到。既然又很多人对这个话题感兴趣,那么我们就继续对相关原理深挖,最好能自己实现,理解透彻。首先我们回顾一下前文,在前文中我介绍了windows下获取ip地址和arp映射表的命令,通过分析最新arp映射表知道当前网段下在线或下线的设备⭐。文章使用的技术是通过python调用系统ping命令,实现ar

  • json转换对象失败_java对象转json字符串

    json转换对象失败_java对象转json字符串com.fasterxml.jackson.databind.JsonMappingException:Cannotconstructinstanceofcom.huasisoft.egAffairs.JsonResult:nosuitableconstructorfound,cannotdeserializefromObjectvalue没有无参构造函数,再j…

    2022年10月29日
  • 微信定位精灵 android,微信定位精灵安卓版下载「建议收藏」

    微信定位精灵 android,微信定位精灵安卓版下载「建议收藏」微信定位精灵安卓版下载是一款非常好用的位置伪装软件。可以让用户不会受任何地理位置的限制,也不需要担心自己被查岗的问题了,支持的软件也是很丰富的,定位也都是非常精准的。感兴趣的话就不要错过了,不妨来下载体验一下吧!微信定位精灵安卓版下载软件特色:1、可以让用户在被查岗的时候可以更加的有底气,就不需要担心这个了。2、这里可以让用户进行摇一摇切换微信位置,不需要切换到软件的界面。3、这里可以一键分享自己…

  • 基于Android点餐APP系统的设计与实现[通俗易懂]

    基于Android点餐APP系统的设计与实现[通俗易懂]假如您对此内容感兴趣,你可以加QQ群:868378707(毕业设计online);搜索微信小程序“毕设编程Online”,免费获取源码;基于Android的点餐系统由服务器端和安卓客户端两部分组成。服务器端供餐厅工作人员使用,主要实现菜品信息管理;安卓客户端由餐厅客户使用,主要实现浏览菜品,点餐等功能。主要内容如下:服务器端:1:用户登录:用户在使用系统前先进行登录功能。2:菜品信息管理:包括菜品名称,菜品类别,菜品价格,菜品图片,菜品介绍,菜品发布等信息等增删改查功能3:…

发表回复

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

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