在实际的工作中,有时会遇到获取数据后需要存入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文件后打不开的问题相关推荐

  1. java poi 读取excel 编码_Java使用POI 读取和写入Excel指南

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...

  2. excel导出 服务器运行失败,用vc生成excel报表,提示“创建excel服务器失败”,该如何处理...

    当前位置:我的异常网» VC/MFC » 用vc生成excel报表,提示"创建excel服务器失败", 用vc生成excel报表,提示"创建excel服务器失败" ...

  3. 应用phpexcel导出excel文件后打不开的问题解决方法

    应用phpexcel导出excel文件后打不开的问题解决方法 参考文章: (1)应用phpexcel导出excel文件后打不开的问题解决方法 (2)https://www.cnblogs.com/im ...

  4. java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题

    在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况.但是,在生成Excel文件后,发现无法正常打开该文件. 例如:以当前的时间点为文件名,新生成一个Excel文件.先来看看下面一段代码. ...

  5. java poi 添加列数据_java使用POI将数据导出放入Excel

    本文主要是将数据库取出的数据按照自定义的行列格式导出到excel中,POI则是实现我们需求所用到的技术. POI介绍 使用spring boot导入相关依赖 获取数据(自行处理) 完整代码实例:创建e ...

  6. java excel 透视_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  7. java poi 导出 国际化_更好用的excel国际化多语言导出

    不知道大家在开发中有没有遇到过『excel导出』的需求,反正我最近写了不少这种功能,刚开始利用poi,一行行的手动塞数据,生成excel,而且还有国际化需求,比如:标题栏有一列,用户切换成" ...

  8. java excel 电话号码_java使用poi读取excel时,电话号码变成了科学计数法,整数变成double,怎么改过来...

    为了防止数字变成科学计数法方式表示,在源文件以及java代码中都用文的方式去生成和解回析excel,具体答如下: 生成Excel时,设置单元格格式为STRING,即: //关键代码 HSSFCell  ...

  9. java 对excel 截图_java基于poi实现快速操作Excel的工具[v2.1.0]版本更新

    Excel4J v2.x 一. v2.x新特性 Excel读取支持部分类型转换了(如转为Integer,Long,Date(部分)等) v2.0.0之前只能全部内容转为String Excel支持非注 ...

最新文章

  1. 通过7个函数解密区块链(附代码)
  2. 报名 | 大数据打造智慧的政府门户讲座
  3. NYOJ题目1048破门锁
  4. 实验6 在应用程序中播放音频和视频
  5. 随时随地能写代码, vscode.dev 出手了
  6. java人民币读法转换
  7. ubuntu16.04安装lua环境
  8. 系统部署文档_详解window系统下安装部署SWFTools(文档转换)工具教程
  9. 开源自研新基建,内核实践云数据,当此方为嘉年华 - 2020嘉年华大会侧记
  10. 再暴BBSxp 7.0 Beta 2漏洞
  11. Oracle Database 11g Express Edition学习笔记
  12. appboot-7227
  13. APKTOOL反编译使用教程
  14. 多张图片怎么合成一个pdf?
  15. 【VBA研究】打印表单时指定打印机
  16. 未来三年的移动互联网创业----创新工场创始合伙人汪华 在移动开发者大会上的演讲
  17. XIII Open Cup named after E.V. Pankratiev. GP of Saratov
  18. yd什么意思_yd是什么意思是什么
  19. 新鑫工具箱(微信小程序)
  20. 考研英语近义词与反义词·二

热门文章

  1. 广州大学2021计算机组成原理课程设计实验报告
  2. 数据结构与算法(C语言版)----运动会管理系统
  3. 如何使用微信、支付宝提现免手续费
  4. yxc_第一章 基础算法(二)_前缀和与差分
  5. Oracle 11g 新特性 -- Oracle Restart 说明
  6. 【附源码】计算机毕业设计SSM社区生鲜配送系统
  7. 使用Aptana Studio 3开发python教程
  8. 分享一个责任链模式通用写法
  9. 董卿:闲暇时光才是人生精华,这几个优质号一生必读
  10. RuntimeError: Sizes of tensors must match except in dimension 1. Got 61 and 60 in dimension 2