Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从另一个工作表过多的excel创建一个新的工作表excel文件_Java_Xml_Excel_Apache Poi - Fatal编程技术网

Java 从另一个工作表过多的excel创建一个新的工作表excel文件

Java 从另一个工作表过多的excel创建一个新的工作表excel文件,java,xml,excel,apache-poi,Java,Xml,Excel,Apache Poi,当我运行下面的代码时,我得到了这个错误 org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: 提供的数据似乎是原始XML文件。Office等格式 不支持2003 XML 如果我写的话效果很好 wb = new XSSFWorkbook(pkg); 代替 wb = new XSSFWorkbook(sheet2); 但它从我的旧excel创建所有工作表。我不想要它。因为我的旧excell非常巨大 是否有一种方法

当我运行下面的代码时,我得到了这个错误

org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: 提供的数据似乎是原始XML文件。Office等格式 不支持2003 XML

如果我写的话效果很好

   wb = new XSSFWorkbook(pkg);
代替

   wb = new XSSFWorkbook(sheet2);
但它从我的旧excel创建所有工作表。我不想要它。因为我的旧excell非常巨大


是否有一种方法可以从相对id为“rId7”的旧excel工作表中仅创建一个工作表excel文件?

新XSSFWorkbook()
需要一个
.xlsx
文件作为输入。这是一个具有.XLSX结构的zip文件。如果您只提供原始XML,那么它将不起作用。您可以尝试打开所需的文件,然后删除不想保留的工作表。

是否可以尝试编写
pkg.Move
而不是
wb=新XSSF工作簿(pkg)
   wb = new XSSFWorkbook(sheet2);