Косвенно ссылается из требуемого файла.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

http://mvnrepository.com/artifact/org.apache.poi/poi/3.7

У тебя две проблемы. Во-первых, вы используете Apache POI 3.2, выпущенный 6 лет назад, и с тех пор было исправлено множество ошибок.

Вторая проблема: вы пропустили некоторые из файлов POI и их зависимости. Смотрите страницу компонентов для деталей. В принципе, для использования HWPF необходимо poi а также poi-scratchpad банки на вашем пути к классам

Удалить все выпущенные каталоги, расположенные по адресу C:\Users\user\.m2\repository\org\apache\poi.

Щелкните правой кнопкой мыши на project > Maven тогда Update project.

Другие вопросы по тегам