poi导出excel 损坏_Java使用POI生成Excel文件后打不开的问题
在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况。但是,在生成Excel文件后,发现无法正常打开该文件。
例如:以当前的时间点为文件名,新生成一个Excel文件。先来看看下面一段代码。
public classcreateExcel {public static void main(String[] args) throwsIOException {
Date now=newDate();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyyMMddHHmmss");
String localname=dateFormat.format(now);
String xlsxPath= "F:\\20190507\\"+ localname + ".xlsx";
Workbook workBook= newXSSFWorkbook();
OutputStream fos= null;try{
fos= newFileOutputStream(xlsxPath);
}catch(FileNotFoundException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
workBook.write(fos);
fos.close();
}
}
有经验的同学看出什么问题来了吗?
这里在相应的路径下会生成Excel文件。但是,双击打开的时候,会出现下面的情形。
导致这个问题的原因是什么呢?
我们回过头来再看看之前的代码。好像是少了点什么吧。
我们实际在电脑中点击右键新生成一个Excel文件的时候,这个Excel文件会默认生成3个Sheet。而上面我们使用Java代码来生成Excel的时候,没有新建立Sheet的对象。这样,这个Excel文件中就是没有Sheet的。双击打开的时候就会报这个错误。
实际上,我们只要在上面的代码中,增加一个Sheet的对象,就可以正常打开Excel了。
public static void main(String[] args) throwsIOException {
Date now=newDate();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyyMMddHHmmss");
String localname=dateFormat.format(now);
String xlsxPath= "F:\\20190507\\"+ localname + ".xlsx";
Workbook workBook= newXSSFWorkbook();
OutputStream fos= null;try{
//增加一个Sheet的对象
Sheet sheet= workBook.createSheet("sheet1");
fos= newFileOutputStream(xlsxPath);
}catch(FileNotFoundException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
workBook.write(fos);
fos.close();
}
}
这样,即可正常打开Excel了。
poi导出excel 损坏_Java使用POI生成Excel文件后打不开的问题相关推荐
- java poi 读取excel 编码_Java使用POI 读取和写入Excel指南
做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...
- excel导出 服务器运行失败,用vc生成excel报表,提示“创建excel服务器失败”,该如何处理...
当前位置:我的异常网» VC/MFC » 用vc生成excel报表,提示"创建excel服务器失败", 用vc生成excel报表,提示"创建excel服务器失败" ...
- 应用phpexcel导出excel文件后打不开的问题解决方法
应用phpexcel导出excel文件后打不开的问题解决方法 参考文章: (1)应用phpexcel导出excel文件后打不开的问题解决方法 (2)https://www.cnblogs.com/im ...
- java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题
在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况.但是,在生成Excel文件后,发现无法正常打开该文件. 例如:以当前的时间点为文件名,新生成一个Excel文件.先来看看下面一段代码. ...
- java poi 添加列数据_java使用POI将数据导出放入Excel
本文主要是将数据库取出的数据按照自定义的行列格式导出到excel中,POI则是实现我们需求所用到的技术. POI介绍 使用spring boot导入相关依赖 获取数据(自行处理) 完整代码实例:创建e ...
- java excel 透视_java基于poi导出excel透视表代码实例
这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...
- java poi 导出 国际化_更好用的excel国际化多语言导出
不知道大家在开发中有没有遇到过『excel导出』的需求,反正我最近写了不少这种功能,刚开始利用poi,一行行的手动塞数据,生成excel,而且还有国际化需求,比如:标题栏有一列,用户切换成" ...
- java excel 电话号码_java使用poi读取excel时,电话号码变成了科学计数法,整数变成double,怎么改过来...
为了防止数字变成科学计数法方式表示,在源文件以及java代码中都用文的方式去生成和解回析excel,具体答如下: 生成Excel时,设置单元格格式为STRING,即: //关键代码 HSSFCell ...
- java 对excel 截图_java基于poi实现快速操作Excel的工具[v2.1.0]版本更新
Excel4J v2.x 一. v2.x新特性 Excel读取支持部分类型转换了(如转为Integer,Long,Date(部分)等) v2.0.0之前只能全部内容转为String Excel支持非注 ...
最新文章
- 通过7个函数解密区块链(附代码)
- 报名 | 大数据打造智慧的政府门户讲座
- NYOJ题目1048破门锁
- 实验6 在应用程序中播放音频和视频
- 随时随地能写代码, vscode.dev 出手了
- java人民币读法转换
- ubuntu16.04安装lua环境
- 系统部署文档_详解window系统下安装部署SWFTools(文档转换)工具教程
- 开源自研新基建,内核实践云数据,当此方为嘉年华 - 2020嘉年华大会侧记
- 再暴BBSxp 7.0 Beta 2漏洞
- Oracle Database 11g Express Edition学习笔记
- appboot-7227
- APKTOOL反编译使用教程
- 多张图片怎么合成一个pdf?
- 【VBA研究】打印表单时指定打印机
- 未来三年的移动互联网创业----创新工场创始合伙人汪华 在移动开发者大会上的演讲
- XIII Open Cup named after E.V. Pankratiev. GP of Saratov
- yd什么意思_yd是什么意思是什么
- 新鑫工具箱(微信小程序)
- 考研英语近义词与反义词·二
热门文章
- 广州大学2021计算机组成原理课程设计实验报告
- 数据结构与算法(C语言版)----运动会管理系统
- 如何使用微信、支付宝提现免手续费
- yxc_第一章 基础算法(二)_前缀和与差分
- Oracle 11g 新特性 -- Oracle Restart 说明
- 【附源码】计算机毕业设计SSM社区生鲜配送系统
- 使用Aptana Studio 3开发python教程
- 分享一个责任链模式通用写法
- 董卿:闲暇时光才是人生精华,这几个优质号一生必读
- RuntimeError: Sizes of tensors must match except in dimension 1. Got 61 and 60 in dimension 2