Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
Improve this question
线程“主”中的异常org.apache.poi.poifs.filesystem.OfficeXmlFileException:提供的数据似乎在Office 2007+ XML中。 POI仅支持OLE2 Office文档
在org.apache.poi.poifs.storage.HeaderBlockReader。(HeaderBlockReader.java:96)
在org.apache.poi.poifs.filesystem.POIFSFileSystem。(POIFSFileSystem.java:84)
在com.TableTest.main(TableTest.java:19)
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
Improve this question
线程“主”中的异常org.apache.poi.poifs.filesystem.OfficeXmlFileException:提供的数据似乎在Office 2007+ XML中。 POI仅支持OLE2 Office文档
在org.apache.poi.poifs.storage.HeaderBlockReader。(HeaderBlockReader.java:96)
在org.apache.poi.poifs.filesystem.POIFSFileSystem。(POIFSFileSystem.java:84)
在com.TableTest.main(TableTest.java:19)
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.hwpf.usermodel.Table;
import org.apache.poi.hwpf.usermodel.TableCell;
import org.apache.poi.hwpf.usermodel.TableRow;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class TableTest {
public static void main(String args[]) throws IOException
{
// String fileName="D:\\New folder\\Annual.doc";
InputStream fis=new FileInputStream("D://New folder//Annual.docx");
POIFSFileSystem fs=new POIFSFileSystem(fis);
HWPFDocument doc=new HWPFDocument(fs);
Range range=doc.getRange();
for(int i=0;i<range.numParagraphs();i++)
{
Paragraph par=range.getParagraph(i);
System.out.println(par.text());
}
Paragraph tablePar=range.getParagraph(0);
if(tablePar.isInTable())
{
Table table=range.getTable(tablePar);
for(int rowIdx=0;rowIdx<table.numRows();rowIdx++)
{
TableRow row=table.getRow(rowIdx);
System.out.println("row "+(rowIdx+1)+",is table header: "+row.isTableHeader());
for(int colIdx=0;colIdx<row.numCells();colIdx++)
{
TableCell cell=row.getCell(colIdx);
System.out.println("column "+(colIdx+1)+",text= "+cell.getParagraph(0).text());
}
}
}
}
}
最佳答案
HWPF用于基于OLE2的.doc文件。对于.docx文件,您需要改用XWPF。
尝试XWPFDocument
XWPFDocument doc=new XWPFDocument(fs);
10-06 13:44