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

 

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

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

(0)
上一篇 2022年7月24日 下午12:00
下一篇 2022年7月24日 下午12:00


相关推荐

  • phpstorm激活码2021 07_在线激活

    (phpstorm激活码2021 07)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月21日
    96
  • Telnet协议(1)

    Telnet协议(1)Telnet 网络的使用概述 在 internet 的初期 远程访问计算机是一个非常麻烦的过程 需要修改提出请求的计算机的操作系统 同样 因为网络可能存在的异构性 不能确保在一台计算机上键入的内容可以不发生改变的在其他的计算机上被翻译出来 例如 在本地计算机上同时按下 Ctrl 和 D 键 代表关闭一个会话 但是在远程系统中这一个操作系统就不能结束正在运行的会话 系统程序员逐步的成功地开发出了一种工具

    2026年3月16日
    2
  • Vue(3)webstorm代码格式规范设置与vue模板配置

    Vue(3)webstorm代码格式规范设置与vue模板配置编译器代码格式规范设置通常我们写代码时,代码缩进都是4个空格,但是在前端中,据全球投票统计,建议使用2个空格来进行代码缩进。首先我们打开webstorm中的设置,如果使用的是mac的同学直接使用c

    2022年7月30日
    68
  • 中间人攻击(MITM)姿势总结[通俗易懂]

    中间人攻击(MITM)姿势总结[通俗易懂]相关学习资料 http://www.cnblogs.com/LittleHann/p/3733469.htmlhttp://www.cnblogs.com/LittleHann/p/3738141.htmlhttp://www.cnblogs.com/LittleHann/p/3741907.htmlhttp://www.cnblogs.com/LittleHann/p/37082…

    2025年7月10日
    4
  • FM Bandwidth IQ Rate Sample Rate

    FM Bandwidth IQ Rate Sample Rate在labview中,编写FM的程序经常会涉及到以下几个名词,他们的关系是怎样的呢?BandwidthdeviationfrequencymodulatingfrequencyIQRateSampleRate首先关于带宽Bandwidth他是由以下公式决定的。请参考Carson’sRule。FMBandwidth=2(Δf + fm)

    2022年10月17日
    4
  • Tesseract OCR初探

    Referfromhttp://hellosure.github.io/ocr/2014/10/11/tesseract-ocr/11October2014OPENCV&OCROpenCV(OpenSourceComputerVisionLibrary,跨平台计算机视觉库),专注机器视觉,是个更大范围的概念OCR(OpticalCh

    2022年4月10日
    61

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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