【发布时间】:2018-01-11 13:23:41
【问题描述】:
当我运行下面的代码时,我得到了这个错误。
org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: 提供的数据似乎是一个原始 XML 文件。 Office等格式 2003 不支持 XML
OPCPackage pkg = OPCPackage.open(filename);
XSSFReader r = new XSSFReader( pkg );
SharedStringsTable sst = r.getSharedStringsTable();
XMLReader parser = fetchSheetParser(sst);
InputStream sheet2 = r.getSheet("rId7");
wb = new XSSFWorkbook(sheet2);
如果我写它会很好用
wb = new XSSFWorkbook(pkg);
插入
wb = new XSSFWorkbook(sheet2);
但它会从我的旧 Excel 中创建所有工作表。我不想要它。因为我的旧excel非常庞大。
有没有办法从相对 id 为“rId7”的旧 excel 工作表中只创建一个工作表 excel 文件?
【问题讨论】:
-
你可以尝试写
pkg.Move;而不是wb = new XSSFWorkbook(pkg);吗?
标签: java xml excel apache-poi