Reading Microsoft Word-Dokument in JAVA

Wenn es um die Lesung von Microsoft Office Word-Dokument Java hat noch keine Klassen in Griff zu bauen, diese aber Apache POI-Paket entwickelt, die Apache Foundation bietet Ihnen die Möglichkeit des Lesens Microsoft Word-Dokument in Java. Mehr Informationen über die Apache POI-Paket finden Sie unter Apache POI gefunden werden

  ; Import org.apache.poi.poifs.filesystem .*;
 ; Import org.apache.poi.hwpf .*;
 ; Import org.apache.poi.hwpf.extractor .*;
 ; import java.io. *;

 public class readDoc
 (
	 main ( String [ ] args ) public static void main (String [] args)
	 (
		 "Hello.doc" ; String filesname = "Hello.doc";
		 ; POIFSFileSystem fs = null;
		 versuchen
		 (
                   POIFSFileSystem ( new FileInputStream ( filesname ; fs = new POIFSFileSystem (new FileInputStream filesname (; 
                   / / Konnte nicht geschlossen werden die Klammern am Ende wie meine Website ließen es nicht zu schließen

                   HWPFDocument ( fs ) ; HWPFDocument doc = new HWPFDocument (fs);

		   WordExtractor ( doc ) ; WordExtractor wir = new WordExtractor (doc);

		   paragraphs = we. getParagraphText ( ) ; String [] = Absätze wir. GetParagraphText ();

		   . println ( "Word Document has " + paragraphs. length + " paragraphs" ) ; System. Heraus. Println ( "Word-Dokument hat" + Absätze. Länge + "Absätze");
		   int i = 0 ; i < paragraphs . length ; i ++ ) { for (int i = 0; i <Absätze. Länge; i + +) (
			 = paragraphs [ i ] . replaceAll ( " \\ cM? \r ? \n " , "" ) ; Ziffern [i] = Ziffern [i]. replaceAll ( "\ \ cm? \ r? \ n", "");
                	 . println ( "Length:" + paragraphs [ i ] . length ( ) ) ; System. Heraus. Println ( "Länge:" + Ziffern [i]. Length ());
		   )
                 )
                 Exception e ) { catch (Exception e) ( 
                     ; e. printStackTrace ();
                 )
          )
 ) 

Ihre E-Mail:


Code Erläuterung:

  • Die Schaffung neuer POIFSFileSystem Objekt und die Ablegung der Microsoft Word-Dokument, um es
  • Erstellen HWPFDocument neues Objekt der Klasse, ist diese Klasse die speziell für den Umgang mit Microsoft Word-Dokument
  • WordExtractor, alle Worte Auszug aus dem Word-Dokument
  • getParagraphText () wird der gesamte Text extrahieren Absatz weise
  • Schließlich versuchen wir, die Nummer Inhalt zu lesen

Benutzerdefinierte Suche


Beliebte Artikel:

Tags: Kategorien: Java-Tags:
  1. Subramanyam
    24. November 2008 um 08:15 Uhr | # 1

    Hallo,

    Ich bekomme unter Ausnahme während der Ausführung dieses Beispiel.

    Könnten Sie bitte lassen Sie mich wissen, wenn ich mich jedes fehlende Gläser / Notwendigkeit, etwas anderes zu diesem Java-Klasse ausführen zu tun.

    Vielen Dank im Voraus für Ihre Hilfe.

    Grüße,
    Subramanyam.

  2. Subramanyam
    24. November 2008 um 08:16 | # 2

    Hallo,

    Sorry für den Spam. Befestigung Ausnahme.

    Ich bekomme unter Ausnahme während der Ausführung dieses Beispiel.

    java.io.IOException: Invalid Header-Signatur, lesen 7021802808062469458, erwartete -2226271756974174256
    bei org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 112)
    bei org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 151)
    bei com.general.test.ReadDoc.main (ReadDoc.java: 16)

    Könnten Sie bitte lassen Sie mich wissen, wenn ich mich jedes fehlende Gläser / Notwendigkeit, etwas anderes zu diesem Java-Klasse ausführen zu tun.

    Vielen Dank im Voraus für Ihre Hilfe.

    Grüße,
    Subramanyam.

  3. Nishikanta Sahoo
    18. Dezember 2008 um 05:16 | # 3

    Nachdem dieser Code ausgeführt i got unten Ausnahme. Bitte geben Sie mir eine Lösung für dieses execption. Ich habe bereits einfügen jar auch, aber ich habe diese execption. Eine Sache habe ich nicht erhalten, diese EncryptedDocumentException.class in das Glas.

    Exception in thread "main" java.lang.NoClassDefFoundError: org / apache / poi / EncryptedDocumentException
    bei ws.WordRead.main (WordRead.java: 38)
    ERROR: Unable to JDWP JNI 1,2 Umfeld zu bewegen, jvm-> getenv () return code = -2
    JDWP exit error AGENT_ERROR_NO_JNI_ENV (183): [../../../ src / share / back / util.c: 820]

  4. 18. Dezember 2008 um 23:33 | # 4

    Hallo Nishikanta,
    Ich habe verwendet POI-3.0.2-Final.jar und POI-Notizblock-3.0.2-FINAL-20080204.jar Paket für diesen Code.

  5. dünn
    18. März 2009 um 02:00 | # 5

    Nach Ausführen dieses Codes excption "java.io.FileNotFoundException: hello.doc (The system cannot find the file specified)" wurde genereted
    ja, wo kann ich muß hello.doc (Ich habe es auf meinem Desktop) thankss

  6. 18. März 2009 um 09:50 | # 6

    Hallo Slim,
    Legen Sie einfach die hello.doc wo. Class-Datei befindet. Wenn Sie die doc-Datei setzen sich an einem anderen Ort als den Speicherort Pfad in der Quellcode. Es funktioniert gut.

    Danke,
    Hitesh Agrawal

  7. dünn
    24. März 2009 um 03:51 Uhr | # 7

    hallo,
    Dank für die Antwort.
    das Skript sehr gut funktionieren.
    was ist die Wirkung des Einsatzes "in den Absätzen [i] = Ziffern [i]. replaceAll (" \ \ cm? \ r? \ n ","");"

    Danke

  8. laker
    24. März 2009 um 04:12 | # 8

    Hallo,
    Danke für diesen Beitrag, ist es sehr nützlich sein.
    Ich versuche, ein Wort auf mein Wort-Datei nach dem Lesen der Datei zu finden.
    Wie kann ich das tun??

    Thanks a lot

  9. amit
    9. April 2009 um 06:23 | # 9

    java.io.IOException: Unable to gesamten Header zu lesen; 6 Bytes zu lesen, erwarteter 512 Bytes
    bei org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 78)
    bei org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)
    bei org.apache.poi.hwpf.HWPFDocument.verifyAndBuildPOIFS (HWPFDocument.java: 133)
    bei org.apache.poi.hwpf.HWPFDocument. (HWPFDocument.java: 146)
    bei transactionDB.changeFormat.main (changeFormat.java: 45)

    Fehler zeigen, was ich zu tun haben, sagen Sie mir bitte

  10. Ankur Raiyani
    20. Mai 2009 um 21:53 | # 10

    Hallo hitesh,

    thanks for sharing diesem Beispiel. Ich habe eine andere Anforderung mit Word-Datei. Ich möchte ein Bild in Word-Dokument mit POI hinzufügen, aber weiß nicht, wie dies zu tun.

    Danke,
    Ankur Raiyani

  11. 2. Juli 2009 um 08:57 | # 11

    Wie lese ich Wort Kommentare und Lesezeichen mit Java? Do u haben ein Beispiel-Code? Jede Hilfe wird gebeten.

  12. Sathish Raja
    10. Juli 2009 um 04:31 | # 12

    hallo Freunde,
    Kann jemand mir helfen in diesem ... ... ... ich hatte diesen Code verwenden und im geting dieser Ausnahmen ... ... ich bin mit poi-2.5.1-final-20040804.jar.and poi-Notizblock-3,5-beta5-20090219.jar Dateien ... ... .., wie Sie den Speicherort Pfad im Quellcode ... .. ich die Datei im Desktop gehalten hatte

    java.io.IOException: Invalid Header-Signatur, lesen 85966670672, erwartete -2226271756974174256
    bei org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 88)
    bei org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)
    bei rb.action.FileRead.main (FileRead.java: 15)

  13. Prabhu
    11. Juli 2009 um 00:40 | # 13

    Sathish Raja,

    Haben Sie das Problem behoben, wenn Sie das Forum der festen Schritten

  14. Darren Slevin
    15. Juli 2009 um 14:02 | # 14

    Hallo Hitesh,

    wo speichere ich die POI-3.0.2-Final.jar und POI-Notizblock-3.0.2-FINAL-20080204.jar Dateien. Ich versuche nur zu dem obigen Beispiel zum Laufen zu bringen. Cheers for the help.

    Darren

  15. devday
    17. Juli 2009 um 23:20 | # 15

    Hallo Freunde,

    Am Ausführen dieses Codes bekomme folgende error.can mir jemand sagen, wie dieses Problem zu beheben.

    java.io.IOException: Unable to komplette Header lesen, -1 Bytes zu lesen, erwarteter 512 Bytes
    bei org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 78)
    bei org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)

  16. miche
    18. Juli 2009 um 18:33 | # 16

    Hallo! im wirklich verloren ... Ich bin sehr neu in diesem poi aber ich habe diese für mein Projekt, die ein Word-Dokument mit Hilfe von Java ... Wie kann ich "Einfuhr" das Paket für org.apache.poi gelesen wird, verwenden? Ich habe den poi-3.5-beta6 heruntergeladen und es hat mich gebeten, Ameise und Wald zu installieren .. es hat mich gebeten, die Umgebungsvariable auf ANT_HOME und .. FORREST_HOME gesetzt please help me .. im confused!

  17. Sulabh
    4. August 2009 um 04:14 Uhr | # 17

    Hallo Freunde,

    Ich versuche, um die Schriftgröße des Textes verändern.
    Um dies schreibe ich ein HWPF Strom auf eine andere und somit können die Schriftart ändern, aber was ich genau brauchen, ist die andere Schriftart (und / oder Größe) für jedes Wort / Absatz. Grundsätzlich, mehr als eine Schriftgröße in einem einzigen Word-Datei.
    Kann jemand bitte sagen Sie mir, wie man über Dabei gehen?

  18. Sulabh
    4. August 2009 um 04:15 | # 18

    was ich gerade brauchen, ist ...
    DGD gedgfe
    rbr brbr gbntghth
    rghh rtfhtyh bnfgh
    dass jedes Wort mit verschiedenen Schriftart-Eigenschaften ist

  19. Shriddha
    27. August 2009 um 02:29 | # 19

    werden Fehlermeldungen:
    java.lang.NoClassDefFoundError: org / apache / poi / HPSF / WritingNotSupportedException

  20. Gokul
    10. September 2009 um 02:43 | # 20

    hallo,

    Ich habe ur Java-Programm zu Word-Dokument zu lesen ausgeführt. es funktioniert gut, aber wenn das Word-Dokument ein hava Tabellen. Ihr Code erzeugen ein bösartiges Skript-Code ausgeführt und infinte Schleife.

    Bitte sagen Sie mir gibt es keine Methoden zum Lesen einer Daten aus Tabellen in ein Word-Dokument.

  21. Josh
    13. November 2009 um 09:05 | # 21

    @ Ankur Raiyani
    Haben Sie etwas Glück bekommen Apache POI, um Bilder in ein Word-Dokument einfügen. Ich versuche, das gleiche zu tun.

  22. 27. Dezember 2009 um 01:11 | # 22

    Vielen Dank.

  23. schattigen
    6. Januar 2010 um 23:04 | # 23

    plzzzz schnell i need help: Ich verwende 2 Dateien. Datei mit Kopf-und Datei ohne Header, wenn ich die Datei, die ohne Kopf geben Sie mir diesen Fehler java.io.IOException: Invalid Header-Signatur, lesen 0 × 665C316674725C7B geben, erwartet 0xE11AB1A1E011CFD0
    bei org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 107)
    bei org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 151)
    bei wordtotext.Main.main (Main.java: 30)
    und den zweiten Lauf Datei gute plz helpme

  1. Bisher keine Trackbacks.