第一部分: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方法添加到响应中下发给页面。