【poi xlsx报错】使用POI创建xlsx无法打开
如果使用的XSSFWorkbook创建的xls,打开的时候会有这样的提示:
这样 XSSFWorkbook 和HSSFWorkbook的区别。
HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF - 提供读写Microsoft Word DOC97格式档案的功能。
XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读Microsoft Visio格式档案的功能。
HPBF - 提供读Microsoft Publisher格式档案的功能。
HSMF - 提供读Microsoft Outlook格式档案的功能。
使用POI创建一个新的xlsx,提示创建成功,但是打开xlsx文件的时候,会报错打不开
代码如下:
1 package com.it.poiTest; 2 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 7 import org.apache.poi.ss.usermodel.Sheet; 8 import org.apache.poi.xssf.usermodel.XSSFWorkbook; 9 10 public class CreateWorkBook { 11 public static void main(String[] args) { 12 //可以表示xls和xlsx格式文件的类 13 XSSFWorkbook workbook = new XSSFWorkbook(); 14 try { 15 FileOutputStream out = new FileOutputStream("createWorkBook.xlsx"); 16 workbook.write(out); 17 out.close(); 18 System.out.println("createWorkBook success"); 19 } catch (FileNotFoundException e) { 20 e.printStackTrace(); 21 } catch (IOException e) { 22 e.printStackTrace(); 23 } 24 25 26 } 27 }
View Code
报错是因为,微软offine自己创建一个新的xlsx的时候,会默认的创建三个新的sheet,工作簿.而我们使用程序创建的xlsx默认不会,因此需要我们自己新建的时候,也创建一个sheet,这样就不会错了。
代码改良如下:
1 package com.it.poiTest; 2 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 7 import org.apache.poi.ss.usermodel.Sheet; 8 import org.apache.poi.xssf.usermodel.XSSFWorkbook; 9 10 public class CreateWorkBook { 11 public static void main(String[] args) { 12 //可以表示xls和xlsx格式文件的类 13 XSSFWorkbook workbook = new XSSFWorkbook(); 14 try { 15 //新创建的xls需要新创建新的工作簿,offine默认创建的时候会默认生成三个sheet 16 Sheet sheet = workbook.createSheet("first sheet"); 17 FileOutputStream out = new FileOutputStream("createWorkBook.xlsx"); 18 workbook.write(out); 19 out.close(); 20 System.out.println("createWorkBook success"); 21 } catch (FileNotFoundException e) { 22 e.printStackTrace(); 23 } catch (IOException e) { 24 e.printStackTrace(); 25 } 26 27 28 } 29 }
View Code
【poi xlsx报错】使用POI创建xlsx无法打开相关推荐
- POI在sax模式下读取xlsx报错 Characters larger than 4 bytes are not supported解决办法
使用的POI版本为3.14 在sax模式下读取一个20万行的xlsx报错:org.apache.xmlbeans.XmlException: java.io.CharConversionExcepti ...
- linux poi只有一列,poi linux 报错
当前位置:我的异常网» 热门搜索 » poi linux 报错 poi linux 报错 www.myexceptions.net 网友分享于:2013-12-10 搜索量:135次 场景:小弟 ...
- 解决WAS报错SRVE0207E: servlet 创建了未捕获到的初始化异常
解决WAS报错SRVE0207E: servlet 创建了未捕获到的初始化异常 参考文章: (1)解决WAS报错SRVE0207E: servlet 创建了未捕获到的初始化异常 (2)https:// ...
- 解决报错MMC无法创建管理单元
win10的操作系统,想再装一个win7的操作系统,可是管理工具--Hyper-V管理器,就看到Hyper-V管理器界面上的报错"MMC无法创建管理单元",试了网上查到的一些方法, ...
- 打开网页报错:net::ERR_CONTENT_LENGTH_MISMATCH,网页打开时显示不全,需要刷新几次才行
打开网页报错:net::ERR_CONTENT_LENGTH_MISMATCH,网页打开时显示不全,需要刷新几次才行. 检查nginx配置无问题.(网上有其他解决方案:ngnix的缓存目录proxy_ ...
- VS报错:fatal error LNK1104: 无法打开文件“kernel32.lib”解决办法
VS报错:fatal error LNK1104: 无法打开文件"kernel32.lib"解决办法 问题所在 解决方案一 解决方案二 问题所在 我使用VS是运行Fortran程序 ...
- EasyExcel导出xlsx报错 Invalid column index (256). Allowable column range for BIFF8
工作中遇到导出xlsx格式的excel文件,有600多列.根据报错提示只能支持256列搜索到的原因及解决方案如下 原因:HSSFWorkbook类只能生成Excel最多256列数据 HSSFWorkb ...
- java poi 导入报错,Cannot get a NUMERIC value from a STRING cell
背景:在使用java的poi导入excel文件时,报错:Cannot get a NUMERIC value from a STRING cell,大致的意思就是不能从字符串的单元格获取到Number ...
- R语言加载xlsx报错错误: JAVA_HOME cannot be determined from the Registry解决方法
错误: package or namespace load failed for 'xlsx': loadNamespace()里算'rJava'时.onLoad失败了,详细内容: 调用: fu ...
最新文章
- 浙大网新实训项目介绍
- android10全局黑暗,传Android 11或加入自动切换全局黑暗模式功能
- 差异表达基因变化倍数_10.limma教程|差异表达统计相关理论
- 软件系统中的颗粒度_意式浓缩咖啡丨甘醇香浓余韵长,研磨的度与质千万别忽视...
- 43岁被裁员,200万年薪泡汤:这4件事你要尽早明白
- python requests返回值为200 但是text无内容_接口测试入门神器 - Requests
- 【Java从0到架构师】MyBatis - 连接池、分页_PageHelper
- T4 生成指定DB表实体
- 手写java通用curd_还在手写CRUD代码?这款开源框架助你解放双手!
- 对灰色按钮克星的屏蔽
- 常用xshell5命令
- ds90ub934 i2c 配置_TI ds90ub954 芯片调试简单总结
- 我为什么读博, 以及我为什么不读博?这是个问题!
- loadrunner录制脚本时无法打开IE浏览器
- 数据库恢复时出现诸如“设备激活错误
- 十三、JavaScript ajax请求
- springboot项目中redis客户端(Jedis、Lettuce、Redisson)
- Component(组件)的创建
- python入门指南 许半仙txt百度云-《漩涡》TXT全本 百度云网盘下载 by就不告诉你...
- Camera1 源码解析系列(五)—— Camera1 takePicture() 流程解析
热门文章
- boost::callable_traits添加member右值引用的测试程序
- 基于Boost::beast模块的同步WebSocket服务器
- Boost:双图bimap与lambda表达式的测试程序
- VTK:可视化之HanoiIntermediate
- OpenCV使用Shi-Tomasi方法检测拐角的实例(附完整代码)
- OpenCV基本mat重建的实例(附完整代码)
- OpenCV使用G-API实现面部美化算法
- OpenGL使用链表进行顺序独立的透明度
- c++ 树的先序、中序和后序的非递归实现(附完整源码)
- C语言程序的内存四区模型