xls文件的上传和下载

本文探讨了xls文件的上传和下载问题,包括解析异常的解决方法,指出流文件默认生成的.xml格式需用dom4j解析。在下载方面,详细介绍了两种方式,一种直接提供路径,另一种通过流创建.xls文件但实际为.xml。同时,文章还讲解了HTTP中的cookie和session,以及request和response的使用,包括cookie的maxAge和httponly属性,以及如何在请求和响应中操作cookie和头文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部分:xls文件上传:

 

.xml格式的文件,上传导入时不能用PIO来读取xml数据,只能用dom4j来解析。用PIO来导入会报一下异常:

异常一:

Unable to read entire header; 0 bytes read; expected 512 bytes

解决办法:更新pio的包从3.5—final到3.15

异常二:

org.apache.poi.poifs.filesystem.NotOLE2FileException: Invalid header signature; read 0x28FBC3A7BBC3D322, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document

解决办法:xml格式的文件可以用excel打开后另存为新的.xls格式就变成标准的.xls格式,另存为后的文件可以用PIO解析。

流文件写数据生成的默认的是xml格式的电子表格,虽然看上去是excel格式的xls文件,但是它也能用文本打开,打开后就是一个xml了。如果打开是xml,那就别用poi解析了,直接用dom4j解析xml就可以了,这样就不用手动打开另存为再去用poi解析处理。


标准的.xls格式的文件可以用PIO来导入。

xls的下载有两种方式:

1、直接给个xls文件的资源相对路径。点击链接下载xls。

2、使用流将数据写入到一个xls文件中。 第二种方式下载的文件,后缀为.xls格式,但是实际是.xml格式,可以直接用记事本打开。

而标准格式的xls用记事本打开会乱码。 



第二部分:cookie和session、request和response的用法


cookie属性设置:

maxAge生存时间   -1 表示只生存一个会话,会话关闭失效。   0 直接设置失效。

httponly  提高安全,设置httponly=true则前端不能用js代码拿到cookie

我们目前是key-value形式。pc,H5和App的key是固定的,value中存放的是sessionId。 sessionId是变化的。


request中可以有以下方法:

request.getCookie()  拿到cookies列表

request.getHeader()  拿到头文件


response.setHeader("set-cookie",cookie);

response.addCookies()


如何修改头文件和cookies:

可以用request的get方法拿到cookie,然后修改后,在用response的add方法添加到响应中下发给页面。



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值