当前位置: 首页 > 知识库问答 >
问题:

从required.class文件间接引用,甚至构建路径都正确设置了apache POI..?

越高峻
2023-03-14
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);

   }

我在这两个包中得到错误

导入org.apache.poi.poifs.filesystem.*;

导入org.apache.poi.hpsf.documentsummaryinformation;

POI-ScratchPad-3.2-Final-20081019.jar

共有1个答案

扈翰
2023-03-14

找到了它需要的解决方案POI-3.7.jar

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

 类似资料:
  • 我有VB. net代码,利用硒和Chrome驱动程序导航到一个页面并下载一个文件。它工作正常,有和没有指定无头选项。但是我也想取消命令窗口。根据我所读到的内容,我需要启动ChromeDriver,为HideExpldPromptWindow属性指定true。当我这样做,我得到这个错误: OpenQA。硒。DriverServiceNotFoundException HResult=0x801315

  • 我正在构建分发包来安装wikidata-query-rdf / Blazegraph,以便与我的Wikibase安装一起使用。 当我执行(这里是我所遵循的说明)时,我正在努力修复一些与Java相关的问题。 我正在Ubuntu 18.04下运行所有内容。 我得到的错误是 [错误]无法在项目常见:MavenReport上执行目标组织.apache.maven.插件:maven-javadoc-plug

  • 我看到有很多指南,但我似乎仍然不能让它发挥作用。 > 我从https://maven.apache.org/download.cgi下载了apache-maven-3.5.4-bin.zip文件 我把它放在C:\program files\apache-maven-3.5.4中 “'MVN'不被识别为内部或外部命令、可操作程序或批处理文件。” 我做错了什么?

  • 我的gradle项目(“osgiapp”)依赖于一个OSGI项目(“osgidep”),该项目具有以下MANIFEST.MF条目: 这里导出了两个包: test.lib包由osgidep.jar中包含的lib/lib.jar提供 test.osgidep包由osgidep.jar本身提供 现在,我的建筑。Gradle看起来是这样的: 当我试图构建使用两个导出包的代码时:

  • 问题内容: 从命令行,如何设置Java CLASSPATH选项以指向包含多个jar文件的一个或多个目录?是否有通配符支持递归目录和子目录? (我的JAR文件在几个子目录中排序。) 问题答案: 如果您使用的是Java 6或更高版本,则可以使用以下形式的通配符: 如果要添加所有子目录:lib \ a \,lib \ b \,lib \ c \,则除了以下以外,没有其他机制: 您想要完成的工作没有类似或

  • 问题内容: Java和Mac都相当新。我想确保已设置JAVA_HOME,以便在其他程序中可以使用其路径。所以我做了一些谷歌搜索,这就是我得到的: 如果我在终端中输入 / usr / libexec / java_home ,则得到此信息: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 但如果在终端中输入 echo

  • 对Java和Mac都很陌生...我想确定JAVA_HOME的设置,以便在其他程序中可以使用它的路径。所以我在谷歌上搜索了一下,下面是我得到的信息: 如果我在terminal中输入/usr/libexec/java_home,我会得到/system/library/java/javavirtualmachines/1.6.0.jdk/contents/home,但是如果我在terminal中输入ec

  • 我刚刚使用一个xml配置文件将log4j转换为log4j2。一切正常,只是我似乎无法使用属性文件设置日志文件的路径。 这是一个Spring MVC应用程序,我有一个文件,位于文件夹中,以及log4j2.xml,i18n消息和其他属性文件。它有一个简单的条目:。我看过其他帖子,只是不知道如何正确配置log4j2。这是我所拥有的: 错误是: 替换实际路径有效,例如。, <代码> 我被捆绑语法的正确域部