Java 如何使用Poi读取文档文件?
我试图在编辑器窗格中查看word文件 我试过这些台词Java 如何使用Poi读取文档文件?,java,ms-word,apache-poi,docx,Java,Ms Word,Apache Poi,Docx,我试图在编辑器窗格中查看word文件 我试过这些台词 import java.awt.Dimension; import java.awt.GridLayout; import java.io.File; import java.io.FileInputStream; import javax.swing.JEditorPane; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordE
import java.awt.Dimension;
import java.awt.GridLayout;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.JEditorPane;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
public class editorpane extends JEditorPane
{
public editorpane(File file)
{
try
{
FileInputStream fis = new FileInputStream(file.getAbsolutePath());
HWPFDocument hwpfd = new HWPFDocument(fis);
WordExtractor we = new WordExtractor(hwpfd);
String[] array = we.getParagraphText();
for (int i = 0; i < array.length; i++)
{
this.setPage(array[i]);
}
} catch (Exception e)
{
e.printStackTrace();
}
我怎样才能解决这个问题
除此之外,我对这些台词不太清楚
for (int i = 0; i < array.length; i++)
{
this.setPage(array[i]);
}
for(int i=0;i
我可以确认吗???您正在尝试打开一个.docx文件(XWPF),其中包含.doc(HWPF)文件的代码。您可以对.docx文件使用
XWPFWordExtractor
有一个ExtractorFactory
,您可以使用它让POI决定应用哪一个,并使用正确的类来打开文件,但是您不能逐页进行迭代,因为此时只有一个通用的getText()
方法可用
像这样使用它
POITextExtractor extractor = ExtractorFactory.createExtractor(file);
extractor.getText();
你看到错误信息了吗?您是否尝试使用XSSF而不是HSSF?我找不到什么是XSSF或在哪里可以替换RY XWPFDocument类。文件的类型是什么?它是doc还是docx文件?word(doc或docx)如果使用XWPFDocument对您有效,然后,您需要首先确定文档的类型,然后分别使用HWPDocument和XWPFDocument类。无论我是使用XWPF还是HWPF,我都会在同一行中得到该错误---->HWPDocument hwpfd=新的HWPFDocument(fis);或者-->xwpfdocumentxwpfd=新的XWPFDocument(OPCPackage.open(fis));使用XWPFDocument时的stacktrace/错误消息肯定不同,或者?可以,但是stacktrace,即程序当时所在的代码位置不能相同,因为您在完全不同的类中调用了一个方法,所以请发布该消息,让我们看看您通过哪个代码路径获得相同的错误消息。
for (int i = 0; i < array.length; i++)
{
this.setPage(array[i]);
}
POITextExtractor extractor = ExtractorFactory.createExtractor(file);
extractor.getText();