当前位置: 首页 > 知识库问答 >
问题:

使用Apache POI和Java创建excel(.xlsx)文件后,文件已损坏

李洋
2023-03-14

我已经在中创建了工作簿/Excel。使用ApachePOIAPI成功实现了xlsx格式与Java的结合。我的代码如下,它是在D驱动器中创建的一个名为“RiponAlWasim.xlsx”的文件:

Workbook wb = new XSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("D:\\RiponAlWasim.xlsx");
wb.write(fileOut);
fileOut.close();
wb.close();

当我试图打开"RiPonAlWasim.xlsx"时,显示文件已损坏。怎么了?

共有3个答案

欧阳昊焱
2023-03-14

我添加了最新版本的xalan(xalan 2.7.1)

卢知
2023-03-14

损坏excel的原因:由于循环内语句错误导致Excel关闭不当

在循环内使用try catch block,以便在catch block中

  • 关闭工作簿变量

后循环

  • 使用关闭文件输出流变量在工作簿上写入
  • 关闭工作簿变量
  • 关闭文件输出流变量
  • 关闭文件输入流变量
洪增
2023-03-14

它需要在工作簿中添加至少一个工作表。因此,创建工作表后,以下代码运行良好:

Workbook wb = new XSSFWorkbook();
Sheet sheet1 = wb.createSheet("Ripon");
FileOutputStream fileOut = new FileOutputStream("D:\\RiponAlWasim.xlsx");
wb.write(fileOut);
fileOut.close();
wb.close();
 类似资料:
  • 我正在使用ApachePOI,我创建了一个XSSF工作簿,并尝试打开一个xlsx文件。它在当地的一个地方很有效。但是,当我用Excel打开真正服务器(AWS EC2、Tomcat8、JDK 1.8)上的Excel文件时,它显示文件已损坏(.xls工作)。这是我的代码: 本地Spring4, jdk1.8, tomcat 8.0, maven 真正的AWS EC2亚马逊linux2,jdk1。8、t

  • 我正在写一个程序,它需要从excel文件中读取和写入数据,而不考虑格式(xls或xlsx)。 我知道ApachePOI,但它似乎有不同的类来处理xls文件(HSSF)和xlsx(XSSF)文件。 任何人都知道我将如何实现我在这里的目标。(也欢迎使用POI以外的API的想法)。

  • 有Java开发人员的库,有大量的方法在Android上不起作用。 我开始使用像OpenCSV这样的库,但不幸的是,Excel已经知道了打开CSV文件的问题。 然后我试着用: ApachePOI——它的方法肯定太多了 JExcelAPI——它可以工作,但只在旧的二进制文件上工作。xls文件 docx4j——还是太多JAR了,因为它基于JAXB,而Android中不包括JAXB 我的问题是,如何在中创

  • 我正在尝试使用Apache POI创建一个.xlsx文件。这是我的代码:

  • 问题内容: 有写Excel 2007+文件的Python模块吗? 我对编写长度超过65535行的文件感兴趣,只有Excel 2007+支持它。 问题答案: 您可以查看两个库。 Python-xlsx和 PyXLSX 编辑:正如评论所提到的,编写时请检查openpyxl

  • 我正在ServletOutputStream上编写一个excel文件(使用HSSFWorkBook for xls和XSSFWorkBook forxlsx)。作为ServletResponse的一部分下载的excel已损坏并包含垃圾字符。 我尝试过将Excel文件写入FileOutpuStream,它工作正常。Excel文件可读且完好无损。 已经检查了关于同一问题的其他几个StackOverfl