poi中有没有和OPCPackage效果差不多的,在运行时OPCPackage出错,如何解决?

poi中有没有和OPCPackage效果差不多的,我的版本是3.16的,在运行时OPCPackage出错,未能解决,现在想找个平替的

Apache POI 中提供了另一种读/写 Office文档的方式,即使用 XSSF 模块。这种方法基于 XML 格式,针对 Excel 2007 及以上版本的 .xlsx 文件效果很不错。

下面是使用 XSSF 模块创建 Excel 文件的简短示例:

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class CreateExcelFile {
    public static void main(String[] args) {
        XSSFWorkbook workbook = new XSSFWorkbook();
        XSSFSheet sheet = workbook.createSheet("Sheet1");

        Object[][] data = {
                {"John", 22},
                {"Jane", 34},
                {"Peter", 18},
                {"Susan", 42},
        };

        int rowNum = 0;
        System.out.println("Creating excel");

        for (Object[] record : data) {
            Row row = sheet.createRow(rowNum++);
            int colNum = 0;

            for (Object field : record) {
                Cell cell = row.createCell(colNum++);
                if (field instanceof String) {
                    cell.setCellValue((String) field);
                } else if (field instanceof Integer) {
                    cell.setCellValue((Integer) field);
                }
            }
        }
        try {
            FileOutputStream outputStream = new FileOutputStream("output.xlsx");
            workbook.write(outputStream);
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

此代码创建一个包含名称和年龄的几行数据的 Excel 文件。你可以根据需要修改数据和文件名。这些数据写入 Excel 文件后,将新创建的 “XSSFWorkbook” 写入文件中。

请注意,XSSF 模块仅支持 .xlsx 格式,这意味着它不能读写早期版本的 .xls 文件。

在Apache POI库中,OPCPackage类主要用于读取和操作Office Open XML(OOXML)文件,例如docx、xlsx等文件。如果在运行时使用OPCPackage出现错误,可能是由于文件格式不正确、文件损坏或其他问题导致的。

如果您在使用OPCPackage时遇到问题,以下是一些解决方案和替代方法:

检查文件格式和完整性:确保您正在处理的文件是有效的OOXML文件,并且没有损坏。您可以尝试打开文件,检查是否能正常访问和编辑。如果文件损坏或格式不正确,可以尝试修复文件或使用其他可用的备份文件。

更新Apache POI版本:如果您正在使用较旧的Apache POI版本,尝试升级到最新版本。新版本可能修复了一些已知的问题和错误。

检查依赖项:确保您的项目中包含了正确的依赖项。Apache POI可能需要其他的一些库来正确运行。检查您的项目配置文件(如Maven的pom.xml或Gradle的build.gradle)以确保正确导入和配置了所需的依赖项。

尝试使用其他API:如果OPCPackage无法满足您的需求或出现持续的问题,您可以尝试使用其他API或库来处理OOXML文件。一些备选方案包括使用Apache Tika、docx4j或JExcelAPI等库,它们提供了类似的功能,并且可能适合您的特定情况。

调试和错误处理:如果问题仍然存在,您可以尝试使用调试工具来查看详细的错误信息和堆栈跟踪。这将有助于确定问题的根本原因,并可能指导您采取相应的解决措施。

最后,如果您无法解决问题,您可以在相关的开发者社区或论坛上寻求帮助。将错误信息、代码示例和相关详细信息提供给其他开发者,他们可能能够提供更具体的建议和解决方案。