Косвенно ссылается из требуемого файла.class, даже путь сборки установлен правильно apache POI..?
import java.io.*;
import org.apache.poi.poifs.filesystem.*;
import org.apache.poi.hpsf.DocumentSummaryInformation;
import org.apache.poi.hwpf.*;
import org.apache.poi.hwpf.extractor.*;
import org.apache.poi.hwpf.usermodel.HeaderStories;
public class ReadDocFileInJava {
public static void main(String[] args)
{
/**This is the document that you want to read using Java.**/
String fileName = "C:\\Documents and Settings\\kushalp\\Desktop\\Test.doc";
/**Method call to read the document (demonstrate some useage of POI)**/
readMyDocument(fileName);
}
public static void readMyDocument(String fileName)
{
POIFSFileSystem fs = null;
try
{
fs = new POIFSFileSystem(new FileInputStream(fileName));
HWPFDocument doc = new HWPFDocument(fs);
/** Read the content **/
readParagraphs(doc);
int pageNumber=1;
/** We will try reading the header for page 1**/
readHeader(doc, pageNumber);
/** Let's try reading the footer for page 1**/
readFooter(doc, pageNumber);
/** Read the document summary**/
readDocumentSummary(doc);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void readParagraphs(HWPFDocument doc) throws Exception
{
WordExtractor we = new WordExtractor(doc);
/**Get the total number of paragraphs**/
String[] paragraphs = we.getParagraphText();
System.out.println("Total Paragraphs: "+paragraphs.length);
for (int i = 0; i < paragraphs.length; i++)
{
System.out.println("Length of paragraph "+(i +1)+": "+ paragraphs[i].length());
System.out.println(paragraphs[i].toString());
}
}
public static void readHeader(HWPFDocument doc, int pageNumber)
{
HeaderStories headerStore = new HeaderStories( doc);
String header = headerStore.getHeader(pageNumber);
System.out.println("Header Is: "+header);
}
public static void readFooter(HWPFDocument doc, int pageNumber)
{
HeaderStories headerStore = new HeaderStories( doc);
String footer = headerStore.getFooter(pageNumber);
System.out.println("Footer Is: "+footer);
}
public static void readDocumentSummary(HWPFDocument doc)
{
DocumentSummaryInformation summaryInfo=doc.getDocumentSummaryInformation();
String category = summaryInfo.getCategory();
String company = summaryInfo.getCompany();
int lineCount=summaryInfo.getLineCount();
int sectionCount=summaryInfo.getSectionCount();
int slideCount=summaryInfo.getSlideCount();
System.out.println("---------------------------");
System.out.println("Category: "+category);
System.out.println("Company: "+company);
System.out.println("Line Count: "+lineCount);
System.out.println("Section Count: "+sectionCount);
System.out.println("Slide Count: "+slideCount);
}
Я получаю ошибку в этих двух пакетах
import org.apache.poi.poifs.filesystem. *;
import org.apache.poi.hpsf.DocumentSummaryInformation;
Тип org.apache.poi.poifs.filesystem.POIFSFileSystem не может быть разрешен. На него косвенно ссылаются необходимые файлы.class
Я приложил снимок моего пути сборки Java... так как программа требует
пои-блокнотная-3,2-FINAL-20081019.jar
Это правильно установлено в пути сборки Java.. тогда почему я получаю такую ошибку.. помогите..!!
2 ответа
Нашел решение, которое требует poi-3.7.jar
У тебя две проблемы. Во-первых, вы используете Apache POI 3.2, выпущенный 6 лет назад, и с тех пор было исправлено множество ошибок.
Вторая проблема: вы пропустили некоторые из файлов POI и их зависимости. Смотрите страницу компонентов для деталей. В принципе, для использования HWPF необходимо poi
а также poi-scratchpad
банки на вашем пути к классам
Удалить все выпущенные каталоги, расположенные по адресу C:\Users\user\.m2\repository\org\apache\poi
.
Щелкните правой кнопкой мыши на project > Maven
тогда Update project
.