Home > Java > Reading Microsoft Word-Dokument in JAVA

Reading Microsoft Word-Dokument in JAVA

Wenn es um die Lesung von Microsoft Office Word-Dokument Java nicht in jedem Bau-Klassen haben, um damit umgehen, aber Apache POI-Paket entwickelt, die von Apache-Foundation gibt Ihnen die Macht des Lesens Microsoft Word-Dokument in Java. Mehr Informationen über die Apache POI-Paket finden Sie unter der Apache POI

  ; 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" ; Filesname String = "Hello.doc";
		 ; POIFSFileSystem fs = null;
		 versuchen
		 (
                   POIFSFileSystem ( new FileInputStream ( filesname ; fs = new POIFSFileSystem (neu FileInputStream (filesname; 
                   / / Konnte nicht geschlossen werden die Klammern am Ende, als meine Website erlauben es nicht zu schließen

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

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

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

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

Ihre E-Mail:


Code Erläuterung:

  • Erstellen neuer POIFSFileSystem Object und das Bestehen der Microsoft Word-Dokument, um es
  • Erstellen eines neuen Objekts der Klasse HWPFDocument, ist diese Klasse die speziell für den Umgang mit Microsoft Word-Dokument
  • WordExtractor wird all die Worte aus dem Word-Dokument zu extrahieren
  • getParagraphText () wird der gesamte Text Absatz weise Extrakt
  • Schließlich versuchen wir, den Inhalt zu lesen Absatzes


Benutzerdefinierte Suche

Beliebte Artikel:

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Kategorien: Java Tags:
  1. Subramanyam
    24. November 2008 um 08:15 | # 1

    Hallo,

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

    Könnten Sie bitte lassen Sie mich wissen, wenn ich jeden fehlenden Gläsern am / müssen Sie nichts mehr tun, um diese Java-Klasse ausführen.

    Vielen Dank im Voraus für Ihre Hilfe.

    Regards,
    Subramanyam.

  2. Subramanyam
    24. November 2008 um 08.16 | # 2

    Hallo,

    sorry für den Spam. Anbringen Ausnahme.

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

    java.io.IOException: Invalid Header-Signatur; 7021802808062469458 lesen, rechnen -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 jeden fehlenden Gläsern am / müssen Sie nichts mehr tun, um diese Java-Klasse ausführen.

    Vielen Dank im Voraus für Ihre Hilfe.

    Regards,
    Subramanyam.

  3. Nishikanta Sahoo
    18. Dezember 2008 um 05.16 | # 3

    Nach diesen Code auszuführen Ich habe unten Ausnahme. Bitte geben Sie mir eine Lösung für dieses execption. Ich habe bereits einfügen jar auch, aber ich bekam dieses execption. Eine Sache habe ich nicht bekommen dieses EncryptedDocumentException.class in das Glas.

    Exception in thread "main" java.lang.NoClassDefFoundError: org / apache / poi / EncryptedDocumentException
    bei ws.WordRead.main (WordRead.java: 38)
    ERROR: Kann JDWP bekommen JNI 1.2 Umwelt, JVM-> getenv () return code = -2
    JDWP exit error AGENT_ERROR_NO_JNI_ENV (183): [../../../ src / share / zurück / 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. schlank
    18. März 2009 um 02:00 | # 5

    Nach Ausführen dieses Codes excption "java.io.FileNotFoundException: hello.doc (Das System kann die Datei nicht finden spezifiziert)" wurde generierten,
    Also wo platziere ich hello.doc (Ich habe es auf meinem Desktop muss) thankss

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

    Hallo Slim,
    Einfach den hello.doc wo. Class-Datei befindet. Wenn Sie setzen die doc-Datei an einen anderen Ort als den Speicherort Weg in den Quellcode. IT wird gut funktionieren.

    Vielen Dank,
    Hitesh Agrawal

  7. schlank
    24. März 2009 um 03:51 Uhr | # 7

    hallo,
    Danke für die Antwort.
    das Skript funktioniert sehr gut.
    Was ist die Wirkung des Einsatzes "Absätze [i] = Absätzen [i]. ReplaceAll (" \ \ cm? \ r? \ n ","");"

    Dank

  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 über meine Word-Datei finden Sie nach dem Lesen der Datei.
    Wie kann ich es tun?

    Vielen Dank

  9. Amit
    9. April 2009 um 06.23 | # 9

    java.io.IOException: Kann gesamten Header lesen; 6 Bytes gelesen; erwarteten 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)

    Fehleranzeige, 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-Dokuments mit POI hinzufügen, aber nicht wissen, wie dies zu tun.

    Vielen Dank,
    Ankur Raiyani

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

    Wie lese ich Wort Kommentare und Lesezeichen mit Hilfe von Java? Do u haben einen Beispielcode? Jede Hilfe wäre willkommen.

  12. Sathish Raja
    10. Juli 2009 um 04.31 | # 12

    hallo Freunde,
    Kann mir jemand helfen in diesem ... ... ... Ich hatte diesen Code verwenden und diese Ausnahmen im geting ... ... 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 angeben ... .. Ich hatte die Datei in Desktop erhalten

    java.io.IOException: Invalid Header-Signatur; lesen 85966670672, erwartet -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 feste Bitte posten Sie die Schritte

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

    Hallo Hitesh,

    wo lagere 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 für die Hilfe.

    Darren

  15. devday
    17. Juli 2009 um 23.20 | # 15

    Hallo Freunde,

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

    java.io.IOException: Kann gesamten Header lesen; -1 Bytes zu lesen; erwarteten 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 freue mich sehr auf diese neue POI aber ich habe diese für mein Projekt, um ein Wort zu lesen, doc ... ist mit Hilfe von Java verwenden Wie kann ich "Einfuhr" das Paket für org.apache.poi? Ich habe den POI-3.5-beta6 heruntergeladen und es hat mich gebeten, Ameise und Forrest installieren .. sie bat mich, die Umgebungsvariable ANT_HOME und FORREST_HOME .. gesetzt bitte helft mir .. im verwechselt!

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

    Hallo Freunde,

    Ich versuche, um die Schriftgröße eines Textes zu ändern.
    Dazu Schreiben eines HWPF ich bin Stream zu einem anderen und somit kann die Schriftart zu ändern, aber was ich genau brauchen, ist die andere Schriftart (und / oder Größe) für jedes Wort / Absatz haben. Grundsätzlich, mehr als eine Schriftgröße in einem einzigen Stück Word-Datei haben.
    Kann jemand bitte sagen Sie mir, wie man über das??

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

    was ich genau brauchen, ist ...
    DGD gedgfe
    rbr brbr gbntghth
    rghh rtfhtyh bnfgh
    ist, dass jedes Wort mit unterschiedlichen Eigenschaften font

  19. Shriddha
    27. August 2009 um 02.29 | # 19

    Erste Fehler:
    java.lang.NoClassDefFoundError: org / apache / poi / HPSF / WritingNotSupportedException

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

    hallo,

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

    Bitte sagen Sie mir gibt es keine Methoden, um einen Daten aus einer Tabellen in Word-Dokument zu lesen.

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

    @ Ankur Raiyani
    Hast du kein Glück bekommen Apache POI zum Einfügen von Bildern in ein Word-Dokument. Ich versuche, das gleiche zu tun.

  22. 27. Dezember 2009 um 01.11 | # 22

    Vielen Dank.

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

    plzzzz schnell Ich brauche Hilfe: Ich benutze 2 Dateien. Datei-Header mit und ohne Header-Datei, wenn ich die Datei, ohne Header geben Sie mir diesen Fehler java.io.IOException: Invalid Header-Signatur; 0x665C316674725C7B lesen, rechnen 0xE11AB1A1E011CFD0 eingeben
    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 die zweite Datei guten plz helpme laufen

  24. WKKasun Chamika
    21. März 2010 um 21.51 | # 24

    Vielen Dank, u 4 d-Code

    System.out.println (Ziffern [i]. ToString ()); / / Drucken der Absätze

  25. Das Sushree
    23. März 2010 Um 04:30 | # 25

    bitte jemand kann mir mit dem Java-Code geben, durch die ich kann "Bild einfügen" in ein MS Word-Datei an einem beliebigen Ort, und auch bedenken, dass es einige caontent auf it.plz Antwort hat mich ..

  26. Das Sushree
    23. März 2010 um 04.31 | # 26

    lass es mich bitte wissen, wie Bild einfügen in ein Word-doc-Datei

  27. param
    1. April 2010 um 01:52 | # 27

    lass es mich wissen, wie können wir die Bilder zu lesen. doc-Datei mit Text mit Hilfe von Java

  28. 21. April 2010 um 15:29 | # 28

    Ausgezeichnet.

    Danke sehr.

  29. UJJAL
    6. Mai 2010 um 02.14 | # 29

    Ich bin begineer o java.When kompiliere ich dieses Beispiel habe ich 9 Fehler.
    Helft mir bitte ...

    Paket org.apache.poi.poifs.filesystem existiert nicht
    Import org.apache.poi.poifs.filesystem .*;

    Paket org.apache.poi.hwpf existiert nicht
    Import org.apache.poi.hwpf .*;

    Paket org.apache.poi.hwpf.extractor existiert nicht
    Import org.apache.poi.hwpf.extractor .*;

    Symbol nicht finden können
    Symbol: class POIFSFileSystem
    Lage: Klasse readDoc
    POIFSFileSystem fs = null;

    Symbol nicht finden können
    Symbol: class POIFSFileSystem
    Lage: Klasse readDoc
    fs = new POIFSFileSystem (neu FileInputStream (filesname));

    Symbol nicht finden können
    Symbol: class HWPFDocument
    Lage: Klasse readDoc
    HWPFDocument doc = new HWPFDocument (fs);

    Symbol nicht finden können
    Symbol: class HWPFDocument
    Lage: Klasse readDoc
    HWPFDocument doc = new HWPFDocument (fs);

    Symbol nicht finden können
    Symbol: class WordExtractor
    Lage: Klasse readDoc
    WordExtractor wir = new WordExtractor (doc);

    Symbol nicht finden können
    Symbol: class WordExtractor
    Lage: Klasse readDoc
    WordExtractor wir = new WordExtractor (doc);

    9 Fehler

  30. UJJAL
    6. Mai 2010 um 07.04 | # 30

    Bitte mir jemand helfen ...
    Lassen Sie mich wissen über die grundlegenden Arbeit von mir, aus einem Dokument zu lesen ..

  31. 8. Mai 2010 um 02.12 | # 31

    Hallo UJJAL,
    Sie müssen Apache POI-Bibliotheken in Ihrem Classpath hinzufügen, damit es funktioniert. Sie können die Pakete von Apache POI http://poi.apache.org/ und auch Sie versuchen, java Microsoft Word-Dokumente lesen, als Sie in erfordert auch diese Bibliotheken wie auch. http://poi.apache.org/ hwpf / index.html

    Vielen Dank,
    Hitesh Agarwal

  32. 12. Mai 2010 um 18.22 | # 32

    Sehr schöne Informationen.

  33. Piotr Rychlik
    14. Mai 2010 um 09.35 | # 33

    Ist es möglich zu bearbeiten. Doc und / oder. Docx-Dokumente mit POI? Ich möchte in der Lage sein, bestimmte Textfragmente in mehreren Word-Dokumenten zu ersetzen und dann speichern aktualisierte Dokumente auf der Festplatte.

  34. UJJAL
    16. Mai 2010 um 05.27 | # 34

    Dieser Code lesen. Doc-Datei Absatz für Absatz.
    Wie kann ich diese Datei lesen Satz für Satz?

    Vielen Dank im Voraus.

  35. melaal
    22. Mai 2010 um 01.51 | # 35

    Wie kann ich gelesen doc mit Text und Bildern?

  36. melaal
    22. Mai 2010 um 01.56 | # 36

    und wie kann ich Text mit Stil lesen?

  37. Piotr Rychlik
    24 Mai, 2010 um 04.39 | # 37

    Hallo,

    Wie zu einem String in einem anderen in. Doc-Dokumente zu ersetzen?

  38. Piotr Rychlik
    26. Mai 2010 um 13:35 | # 38

    Ich denke, es gibt eine Menge von schweren Fehlern in der Umsetzung der HWPF Format, zB die folgenden:

    HWPFDocument doc = new HWPFDocument (InputStream);
    doc.write (outputStream);

    dreht. doc-Dateien in somethig, die nicht mit Word geöffnet werden mehr.

  39. bshirota
    11. Juni 2010 um 15.32 | # 39

    Hitesh,

    Vielen Dank für diese. Hervorragende post .. mich gerettet eine Tonne Benutzer.

  40. Gayan
    22. Juni 2010 um 03.31 | # 40

    Wie ermitteln die Position der. Doc-Datei ....

    bitte ...

    Senden Sie mir den Code ...

  41. Gayan
    22. Juni 2010 um 03:33 | # 41

    Wie ermitteln die Position der. Doc-Datei .... Apache POI

    bitte ...

    Senden Sie mir den Code ...

  42. Brijesh
    7. Juli 2010 um 23:17 | # 42

    Hallo

    Können Sie mir bitte sagen wie man eine doc-Datei, die Bilder haben, mit ihm zu lesen.

    Post einen Code, wenn möglich ..

  1. Bisher keine Trackbacks.