xls文件的上传和下载
第一部分: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方法添加到响应中下发给页面。
xls文件的上传和下载相关推荐
- VUE xls文件的上传以及下载
upload组件运用以及修改使用 在开发一个后台管理平台的项目中遇到一个文件上传以及下载的需求,如下交互图所示 大致要完成这么一个功能,当然实际上需要考虑更多,这次主要是用了element 的组件,在 ...
- SpringBoot实现oss文件的上传与下载
SpringBoot实现oss文件的上传与下载 最近项目中需要通过OSS来实现文件的上传和下载以及根据oss文件(word模板)生成Word,特此记录,以便日后查阅. 一.相关概述 OSS对象存储 ...
- ASP.NET实现文件的上传和下载
最近做的一个高校网站中涉及到了上传和下载文件的需求(具体需求为:网站公布的通知,在后台要能给每个通知添加附件,在前台要能显示并下载附件),之前只是学习过关于上传的 理论知识,这里实践了一下下,与大家分 ...
- Vue实现Excel模板文件的上传与下载
Vue实现Excel模板文件的上传与下载 一.前言 越来越多的项目开始使用前后端分离的方式来进行开发了,前端使用的vue来进行页面处理的,所以正常的文件下载和上传肯定是少不了的,因为这也是自己第一次使 ...
- SpringMVC实现文件的上传和下载
SpringMVC实现文件的上传和下载http://www.bieryun.com/1120.html 前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:"用什么技术来实现一般网页上文件的 ...
- Akka实战:HTTP大文件断点上传、下载,秒传
2019独角兽企业重金招聘Python工程师标准>>> 访问:https://github.com/yangbajing/scala-applications/tree/master ...
- 初学Java Web(7)——文件的上传和下载
文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...
- SpringMVC实现文件的上传与下载
文件的上传与下载可以说是工作中经常使用的功能,现在整理一下,希望能够给大家一个参考.这里以 Maven 的形式来创建项目,相关的配置文件会把主要的内容列出来,其他头文件信息不再一一全部的列出.最后会把 ...
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
最新文章
- LeetCode 76. Minimum Window Substring / 567. Permutation in String
- poj2503 Babelfish
- 阿里云 刷新缓存 java_【从入门到放弃-Java】并发编程-NIO-Buffer
- 启动PyCharm,提示No Python interpreter selected的问题
- Luogu P1198 BZOJ 1012 最大数 (线段树)
- 【深度学习】Keras vs PyTorch vs Caffe:CNN实现对比
- 你有一份云栖大会的IoT邀请函,请查收
- 数论--中国剩余定理模板
- 电子音乐包括电声乐器和计算机音乐,浅谈电子音乐制作的发展方向
- 【学习笔记】局域网基本概念和体系结构,以太网、无线局域网与PPP协议、HDLC协议
- mysql数据库的链接地址_常用数据库连接URL地址大全
- 51单片机dds信号发生器 扫频 c语言,基于AT89C51单片机和DDS器件实现频率特征测试仪的设计...
- html中超链接无效怎么办,超链接问题:“引用无效”怎么回事
- 照片被误删?别着急,EasyRecovery帮你找回来
- 在线订餐系统php心得体会_基于php的网上订餐系统的设计与实现论文.doc
- 电脑开机显示自动修复失败无法进入系统,解决方法(亲试有效!!!)
- 亚马逊云科技软件开发工程师团队
- 简洁Python命名规范
- ubuntu下用Qt实现人脸识别之检测人脸并绘制人脸框(三)
- Qt学习笔记--QSS样式表
热门文章
- EasyX学习笔记(二、黑客帝国数据流)
- element-ui table中span-method(行合并)方法使用
- QTP_QTP学习笔记(1)
- python设计一个函数定义计算并返回n价调和函数_python函数的调和平均值?
- 计算机组成原理——计算机硬件组成原理(冯诺依曼和现代计算机)
- 2016年4月编程语言排行榜 Visual Basic正渐行渐远
- 纳豆的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- linux C++ 调用Matlab-engin使用记录
- 南京那边可以学计算机绘画,电脑画画软件有哪些?推荐几款可以教画画的app
- 解决山石设备无法使用最新版chromeflash功能(91版本及以上)