Hem > Java > Läsa Microsoft Word-dokument i JAVA

Läsa Microsoft Word-dokument i JAVA

När det gäller behandlingen Microsoft Office Word-dokument Java har inga i bygga klasser för att hantera detta, men Apache POI-utvecklat Apache Foundation ger dig möjlighet att läsa Microsoft Word-dokument i Java. Mer information om Apache POI paketet finns på 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" ; String filesname = "Hello.doc";
		 ; POIFSFileSystem fs = null;
		 Försök
		 (
                   POIFSFileSystem ( new FileInputStream ( filesname ; fs = new POIFSFileSystem (ny FileInputStream (filesname; 
                   / / Kunde inte stänga hängslen i slutet på min webbplats inte gjorde det möjligt att stänga

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

		   WordExtractor ( doc ) ; WordExtractor vi = new WordExtractor (doc);

		   paragraphs = we. getParagraphText ( ) ; String [] stycken = vi. GetParagraphText ();

		   . println ( "Word Document has " + paragraphs. length + " paragraphs" ) ; System. Ut. Println ("Word-dokument har" + stycken. Längd + "punkterna");
		   int i = 0 ; i < paragraphs . length ; i ++ ) { for (int i = 0; i <punkter. längd; i + +) (
			 = paragraphs [ i ] . replaceAll ( " \\ cM? \r ? \n " , "" ) ; punkterna [i] = punkterna [i]. replaceAll ("\ \ cm? \ r? \ n", "");
                	 . println ( "Length:" + paragraphs [ i ] . length ( ) ) ; System. Ut. Println ("Längd:" + stycken [i]. Längd ());
		   )
                 )
                 Exception e ) { catch (Exception e) ( 
                     ; e. printStackTrace ();
                 )
          )
 ) 

Din e-post:


Kod Förklaring:

  • Skapa nya POIFSFileSystem Object och avläggande av Microsoft Word-dokument till det
  • Skapa nya objekt av HWPFDocument klass, denna klass med särskilt ansvar för hantering av Microsoft Word-dokument
  • WordExtractor kommer att packa alla ord från Word-dokument
  • getParagraphText () kommer att extrahera all text punkt vise
  • Slutligen försöker vi läser stycket innehåll


Anpassad sökning

Populära artiklar:

Dela och njut:
  • 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: Kategorier: Java Taggar:
  1. Subramanyam
    24 nov 2008 kl 08:15 | # 1

    Hej,

    Jag får följande undantag när du kör detta exempel.

    Kan ni låta mig veta om jag saknar några burkar / behöver göra något annat för att utföra detta java klass.

    Tack på förhand för din hjälp.

    Hälsningar,
    Subramanyam.

  2. Subramanyam
    24 nov 2008 kl 08:16 | # 2

    Hej,

    ledsen för spam. knutna undantag.

    Jag får följande undantag när du kör detta exempel.

    java.io.IOException: Ogiltig rubrik undertecknande, läsas 7021802808062469458, förväntade -2226271756974174256
    på org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 112)
    på org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 151)
    på com.general.test.ReadDoc.main (ReadDoc.java: 16)

    Kan ni låta mig veta om jag saknar några burkar / behöver göra något annat för att utföra detta java klass.

    Tack på förhand för din hjälp.

    Hälsningar,
    Subramanyam.

  3. Nishikanta Sahoo
    18 december 2008 kl 05:16 | # 3

    Efter springa den här koden jag fick nedan undantag. Vänligen ge mig någon lösning på detta execption. Jag har redan in burken också, men ändå jag fick detta execption. En sak jag inte få den här EncryptedDocumentException.class i burken.

    Undantag i tråden "main" java.lang.NoClassDefFoundError: org / apache / poi / EncryptedDocumentException
    på ws.WordRead.main (WordRead.java: 38)
    FEL: JDWP gick inte att få JNI 1,2 miljön, JVM-> GetEnv () returkod = -2
    JDWP utträde fel AGENT_ERROR_NO_JNI_ENV (183): [../../../ src / share / back / util.c: 820]

  4. 18 december 2008 kl 23:33 | # 4

    Hej Nishikanta,
    Jag har använder POI-3.0.2-Final.jar och POI-anteckningsblock-3.0.2-FINAL-20080204.jar paket för denna kod.

  5. smal
    18 Mar 2009 kl 02:00 | # 5

    efter att ha kört den här koden excption "java.io.FileNotFoundException: hello.doc (Systemet kan inte hitta filen)" var genereted
    så där gör jag måste placera hello.doc (Jag skapade den på skrivbordet) thankss

    • 18 Mar 2009 kl 09:50 | # 6

      Hej Slim,
      Bara placera hello.doc där. Klass filen finns. Om du sätter DOC-fil på annan ort än ange platsen sökvägen i källkoden. Det kommer att fungera bra.

      Tack,
      Hitesh Agrawal

  6. smal
    24 mars 2009 kl 03:51 | # 7

    hej,
    tack för svaret.
    skriptet fungerar mycket bra.
    vad är effekten av att använda "punkterna [i] = punkterna [i]. replaceAll (" \ \ cm? \ r? \ n ","");"

    tack

  7. Laker
    24 mars 2009 kl 04:12 | # 8

    Hej,
    Tack för det här inlägget, det är mycket användbart.
    Jag försöker hitta ett ord om mitt Word-fil efter att ha läst filen.
    Hur kan jag göra det??

    Tack så mycket

  8. Amit
    9 apr 2009 kl 06:23 | # 9

    java.io.IOException: Det går inte att läsa hela huvudet, 6 byte läsa; förväntade 512 bytes
    på org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 78)
    på org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)
    på org.apache.poi.hwpf.HWPFDocument.verifyAndBuildPOIFS (HWPFDocument.java: 133)
    på org.apache.poi.hwpf.HWPFDocument. (HWPFDocument.java: 146)
    på transactionDB.changeFormat.main (changeFormat.java: 45)

    Fel visa vad jag har att säg mig behaga

  9. Ankur Raiyani
    20 maj, 2009 kl 21:53 | # 10

    Hej Hitesh,

    Tack för att detta exempel. Jag har ett annat krav med Word-fil. Jag vill lägga till en bild i Word-dokument med hjälp av IP, men vet inte hur man gör detta.

    Tack,
    Ankur Raiyani

  10. 2 jul 2009 kl 08:57 | # 11

    Hur kan jag läsa ordet kommentarer och bokmärken med Java? Gör fullständig har en prov-kod? Någon hjälp skulle uppskattas.

  11. Sathish Raja
    10 juli 2009 kl 04:31 | # 12

    hej vänner,
    Kan någon hjälpa mig i detta ... ... ... jag har använda den här koden och im geting detta undantag ... ... jag brukar POI-2.5.1-final-20040804.jar.and POI-anteckningsblock-3.5-beta5-20090219.jar filer ... ... .. hur man ange platsen sökvägen i källkoden ... .. jag hade hållit filen i skrivbord

    java.io.IOException: Ogiltig rubrik undertecknande, läsas 85966670672, förväntade -2226271756974174256
    på org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 88)
    på org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)
    på rb.action.FileRead.main (FileRead.java: 15)

  12. prabhu
    11 juli 2009 kl 00:40 | # 13

    Sathish Raja,

    Har du fast frågan, om fasta posta stegen

  13. Darren Slevin
    15 juli, 2009 kl 14:02 | # 14

    Hej Hitesh,

    var gör jag lagra POI-3.0.2-Final.jar och POI-anteckningsblock-3.0.2-FINAL-20080204.jar filer. Jag försöker bara få exemplet ovan fungerar. Skål för hjälp.

    Darren

  14. devday
    17 jul 2009 kl 23:20 | # 15

    Hej vänner,

    Den verkställande denna kod är att få följande error.can någon berätta för mig hur du löser detta problem.

    java.io.IOException: Det går inte att läsa hela huvudet, -1 byte läsa; förväntade 512 bytes
    på org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 78)
    på org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)

  15. Miche
    18 juli, 2009 kl 18:33 | # 16

    hello! im verkligen förlorat ... Jag är mycket ny på detta POI men jag måste använda detta för mitt projekt är att läsa ett ord doc Använda Java ... Hur kan jag "import" paketet för org.apache.poi? Jag har laddat ner POI-3.5-beta6 och bad mig att installera myra och skogen .. Det bad mig att ställa in miljövariabeln att ANT_HOME och FORREST_HOME .. behag hjälpa mig .. im förvirrat!

  16. Sulabh
    4 Augusti, 2009 kl 04:14 | # 17

    Hej vänner,

    Jag försöker att ändra teckenstorlek i en text.
    För att göra detta skriver jag en HWPF ström till en annan och därmed kan ändra teckensnitt, men vad jag exakt behöver är att ha olika teckensnitt (och / eller storlek) för varje ord / stycke. I grund och botten att ha mer än en teckenstorlek i ett enda ord-fil.
    Kan någon behaga tala mig hur man ska göra det??

  17. Sulabh
    4 Augusti, 2009 kl 04:15 | # 18

    vad jag exakt behöver är ...
    DGD gedgfe
    rbr brbr gbntghth
    rghh rtfhtyh bnfgh
    som varje ord har olika teckensnitt egenskaper

  18. Shriddha
    Aug 27, 2009 kl 02:29 | # 19

    blir fel:
    java.lang.NoClassDefFoundError: org / apache / IP / hpsf / WritingNotSupportedException

  19. gokul
    10 september, 2009 kl 02:43 | # 20

    hej,

    Jag har utförts ur java program för att läsa word-dokument. Det fungerar bra, men om ordet handling Hava ett bord. din kod producera ett skadligt skript och koden körs infinte slinga.

    tala om för mig finns det någon metoder för att läsa en data från en tabell i Word-dokument.

  20. Josh
    13 nov 2009 kl 09:05 | # 21

    @ Ankur Raiyani
    Hade du någon tur att få apache POI att infoga bilder i ett Word-dokument. Jag försöker göra samma sak.

  21. 27 december, 2009 kl 01:11 | # 22

    Tack så mycket.

  22. skumma
    6 januari 2010 vid 23:04 | # 23

    plzzzz snabbt jag behöver hjälp: Jag använder två filer. fil med rubrik och fil utan rubrik när jag gå in på filen utan huvud ge mig det här felet java.io.IOException: Ogiltig rubrik undertecknande, läsas 0x665C316674725C7B, förväntade 0xE11AB1A1E011CFD0
    på org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 107)
    på org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 151)
    på wordtotext.Main.main (Main.java: 30)
    och den andra filen kör bra plz helpme

  23. WKKasun Chamika
    21 mars 2010 vid 21:51 | # 24

    Tacka fullständig 4 d-nummer

    System.out.println (punkterna [i]. ToString ()); / / för att skriva ut punkter

  24. Sushree Das
    23 mars 2010 vid 04:30 | # 25

    behaga någon kan ge mig av Java-koden genom vilket jag kan infoga bilden i ett MS Word-fil på varje plats, och anser också att den har några caontent på it.plz svara mig ..

  25. Sushree Das
    23 mars 2010 vid 04:31 | # 26

    låt mig veta hur du infogar bilden i ett Word doc-fil

  26. Param
    1 april, 2010 kl 01:52 | # 27

    låt mig veta hur kan vi läsa bilder av. doc-fil tillsammans med text med hjälp av java

  27. 21 april 2010 vid 15:29 | # 28

    Utmärkt.

    Tack så mycket.

  28. UJJAL
    6 maj 2010 kl 02:14 | # 29

    Jag begineer o java.When jag sammanställa detta exempel jag fick 9 fel.
    Hjälp mig snälla ...

    paket org.apache.poi.poifs.filesystem finns inte
    import org.apache.poi.poifs.filesystem .*;

    paket org.apache.poi.hwpf finns inte
    import org.apache.poi.hwpf .*;

    paket org.apache.poi.hwpf.extractor finns inte
    import org.apache.poi.hwpf.extractor .*;

    kan inte hitta symbol
    symbol: klass POIFSFileSystem
    plats: klass readDoc
    POIFSFileSystem fs = null;

    kan inte hitta symbol
    symbol: klass POIFSFileSystem
    plats: klass readDoc
    fs = new POIFSFileSystem (ny FileInputStream (filesname));

    kan inte hitta symbol
    symbol: klass HWPFDocument
    plats: klass readDoc
    HWPFDocument doc = new HWPFDocument (FS);

    kan inte hitta symbol
    symbol: klass HWPFDocument
    plats: klass readDoc
    HWPFDocument doc = new HWPFDocument (FS);

    kan inte hitta symbol
    symbol: klass WordExtractor
    plats: klass readDoc
    WordExtractor vi = new WordExtractor (doc);

    kan inte hitta symbol
    symbol: klass WordExtractor
    plats: klass readDoc
    WordExtractor vi = new WordExtractor (doc);

    9 fel

  29. UJJAL
    6 maj 2010 kl 07:04 | # 31

    Behaga någon hjälpa mig ...
    Låt mig veta om de grundläggande uppgift för mig att läsa ur ett dokument ..

  30. 12 Maj 2010 vid 18:22 | # 32

    Mycket trevlig information.

  31. Piotr Rychlik
    14 maj, 2010 kl 09:35 | # 33

    Är det möjligt att redigera. Doc och / eller. DOCX dokument med POI? Jag skulle vilja kunna ersätta vissa textfragment i flera Word-dokument och sedan spara uppdaterade dokument till disk.

  32. UJJAL
    16 maj 2010 kl 05:27 | # 34

    Denna kod läser en. Doc-fil punkt för punkt.
    Hur kan jag läsa denna fil mening för mening?

    Tack på förhand.

  33. melaal
    22 maj, 2010 kl 01:51 | # 35

    Hur kan jag läsa doc med text och bilder?

  34. melaal
    22 maj, 2010 kl 01:56 | # 36

    och hur jag kan läsa text med stil?

  35. Piotr Rychlik
    24 maj 2010 kl 04:39 | # 37

    Hej,

    Hur man byter en sträng efter en annan i. Doc dokument?

  36. Piotr Rychlik
    26 maj 2010 kl 13:35 | # 38

    Jag tror att det finns en hel del allvarliga buggar i genomförandet av HWPF format, t.ex. följande:

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

    svängar. doc-filer till somethig som inte kan öppnas med Word längre.

  37. bshirota
    11 Juni 2010 vid 15:32 | # 39

    Hitesh,

    Tack för detta. Utmärkt post .. bevarat jag en ton av sökande.

  38. gayan
    22 juni 2010 vid 03:31 | # 40

    Hur identifierar rubriken till den. Doc-fil ....

    snälla ...

    sända jag koden ...

  39. gayan
    22 juni 2010 vid 03:33 | # 41

    Hur identifierar rubriken till den. Doc-fil .... använder Apache POI

    snälla ...

    sända jag koden ...

  40. Brijesh
    7 juli 2010 vid 23:17 | # 42

    Hej

    Kan du berätta för mig hur man läser en doc-fil som har bilder med den.

    Post del kod om möjligt ..

  41. 18 aug 2010 kl 01:57 | # 43

    @ Subramanyam
    hej
    im vill läsa en doc-fil med POI-gränssnittet men im geeting ett fel på paketet och ordet extractor plz hjälpa mig

    tack på förhand

  1. Inga trackback ännu.