Lectura de documentos de Microsoft Word en JAVA
Cuando se trata de leer el documento de Microsoft Office Word Java no tiene clases en la construcción de manejar esto pero Apache POI paquete desarrollado por la Fundación Apache le da el poder de leer el documento de Microsoft Word en Java. Más información sobre el paquete de Apache POI se puede encontrar en Apache POI
; importación org.apache.poi.poifs.filesystem .*; ; importación org.apache.poi.hwpf .*; ; importación org.apache.poi.hwpf.extractor .*; ; importación java.io. *; readDoc clase pública ( main ( String [ ] args ) public void (String [] args) ( "Hello.doc" ; String filesname = "Hello.doc"; ; POIFSFileSystem fs = null; intentar ( POIFSFileSystem ( new FileInputStream ( filesname ; fs = nueva POIFSFileSystem (nuevo FileInputStream (filesname; / / No se pudo cerrar las llaves al final como mi sitio no le permitieron cerrar HWPFDocument ( fs ) ; HWPFDocument doc = HWPFDocument nuevo (fs); WordExtractor ( doc ) ; WordExtractor que WordExtractor nueva = (doc); paragraphs = we. getParagraphText ( ) ; String [] = párrafos nosotros. GetParagraphText (); . println ( "Word Document has " + paragraphs. length + " paragraphs" ) ; Del sistema. Salir. Println ("Documento de Word tiene" apartados +. + Longitud de los "apartados"); int i = 0 ; i < paragraphs . length ; i ++ ) { for (int i = 0; i párrafos <. longitud; i + +) ( = paragraphs [ i ] . replaceAll ( " \\ cM? \r ? \n " , "" ) ; párrafos [i] = párrafos [i]. replaceAll ("\ \ cM? \ r? \ n", ""); . println ( "Length:" + paragraphs [ i ] . length ( ) ) ; Del sistema. Salir. Println ("Longitud:" + párrafos [i]. Longitud ()); ) ) Exception e ) { catch (Exception e) ( ; e. printStackTrace (); ) ) )
Explicación del código:
- Creación de nuevos objetos POIFSFileSystem y pasar el documento de Microsoft Word para
- Creación de nuevo objeto de la clase HWPFDocument, esta clase es específicamente responsable de la manipulación de documento de Microsoft Word
- WordExtractor que va a extraer todas las palabras del documento de Word
- getParagraphText () va a extraer todo el párrafo de texto inteligente
- Por último, se tratará de leer el contenido del párrafo

Búsqueda personalizada


































¡Hola!
Me estoy por debajo de excepción mientras se ejecuta este ejemplo.
¿Podría usted por favor hágamelo saber si me falta alguno frascos / necesidad de hacer algo más para ejecutar esta clase de java.
Gracias de antemano por su ayuda.
Un cordial saludo,
Subramanyam.
¡Hola!
lo siento por el spam. adjuntando una excepción.
Me estoy por debajo de excepción mientras se ejecuta este ejemplo.
java.io.IOException: la firma de cabecera no válida, debe decir 7021802808062469458, que se espera -2226271756974174256
en org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 112)
en org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 151)
en com.general.test.ReadDoc.main (ReadDoc.java: 16)
¿Podría usted por favor hágamelo saber si me falta alguno frascos / necesidad de hacer algo más para ejecutar esta clase de java.
Gracias de antemano por su ayuda.
Un cordial saludo,
Subramanyam.
Después de ejecutar este código tengo debajo de excepción. Por favor, me dio ninguna solución para este execption. Ya frasco insertar también, pero todavía tengo esto execption. Una cosa que no consiguió este EncryptedDocumentException.class en el frasco.
Excepción en el hilo "principal" java.lang.NoClassDefFoundError: org / apache / poi / EncryptedDocumentException
en ws.WordRead.main (WordRead.java: 38)
ERROR: No se puede conseguir JDWP 1,2 JNI medio ambiente, jvm-> getenv () el código de retorno = -2
JDWP salida de error AGENT_ERROR_NO_JNI_ENV (183): [../../../ src / share / atrás / util.c: 820]
Hola Nishikanta,
Tengo utiliza paquete PI-3.0.2-Final.jar y poi-bloc de notas-3.0.2-FINAL-20080204.jar de este código.
después de ejecutar este código excption "java.io.FileNotFoundException: hello.doc (El sistema no puede encontrar el archivo especificado)" fue genereted
Entonces, ¿dónde tengo que poner hello.doc (i creó en mi escritorio) thankss
Hola Slim,
Sólo tiene que colocar la hello.doc dónde. Archivo de clase reside. Si va a colocar el archivo doc en otro lugar de especificar la ruta de ubicación en el código fuente. TI no tendrán ningún problema.
Gracias,
Hitesh Agrawal
hola,
gracias por la respuesta.
el trabajo guión muy bien.
¿cuál es el efecto del uso de los "apartados [i] = puntos [i]. replaceAll (" \ \ cM? \ r? ","");" \ n
gracias
¡Hola!
Gracias por este post, es muy útil.
Estoy tratando de encontrar una palabra en mi archivo de palabras después de leer el archivo.
¿Cómo puedo hacerlo??
Muchas gracias
java.io.IOException: No se puede leer la cabecera completa, 6 bytes leídos; espera que 512 bytes
en org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 78)
en org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)
en org.apache.poi.hwpf.HWPFDocument.verifyAndBuildPOIFS (HWPFDocument.java: 133)
en org.apache.poi.hwpf.HWPFDocument. (HWPFDocument.java: 146)
en transactionDB.changeFormat.main (changeFormat.java: 45)
Error al mostrar lo que tengo que hacer dime por favor
Hola hitesh,
gracias por compartir este ejemplo. Tengo un requisito diferente con el archivo de la palabra. Quiero añadir una imagen en documento de word con PDI, pero no saben cómo hacer esto.
Gracias,
Ankur Raiyani
¿Cómo puedo leer los comentarios de textos y marcadores es a través de Java? Hacer u haber un código de ejemplo? Cualquier ayuda sería apreciada.
hola amigos,
¿Puede alguien ayudarme en este ... ... ... tuve que utilizar este código e im geting este excepciones ... ... estoy usando poi-2.5.1-final-20040804.jar.and archivos poi-bloc de notas-3.5-beta5-20090219.jar ... ... .. cómo especificar la ruta de ubicación en el código fuente ... .. yo tenía guardadas en el archivo de escritorio
java.io.IOException: la firma de cabecera no válida, debe decir 85966670672, que se espera -2226271756974174256
en org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 88)
en org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)
en rb.action.FileRead.main (FileRead.java: 15)
Raja Sathish,
¿Ha fijado el problema, por favor, si un puesto fijo los pasos
Hola Hitesh,
¿dónde almacenar los archivos de POI-3.0.2-Final.jar y poi-bloc de notas-3.0.2-FINAL-20080204.jar. Estoy tratando de obtener el ejemplo anterior de trabajo. Saludos por la ayuda.
Darren
Hola amigos,
En ejecución de este código estoy recibiendo el siguiente error.can alguien decirme cómo resolver este problema.
java.io.IOException: No se puede leer la cabecera entera; -1 bytes leídos; espera que 512 bytes
en org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 78)
en org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 83)
hola! im realmente perdido ... yo soy muy nuevo en este poi, pero tengo que usar esto para mi proyecto que es leer un documento de Word usando java ... ¿Cómo puedo "importar" el paquete de org.apache.poi? he descargado el poi-3.5-beta6 y me preguntará por la instalación de hormigas y bosque .. se me pidió que establecer la variable de entorno para ANT_HOME y FORREST_HOME .. por favor me ayude .. Im confundido!
Hola amigos,
Estoy tratando de cambiar el tamaño de la letra de un texto.
Para hacer esto que estoy escribiendo una secuencia HWPF a otro y por lo tanto puede cambiar la fuente, pero lo que exactamente se necesita es establecer una fuente diferente (y / o tamaño) para cada palabra del párrafo /. Básicamente tener más de un tamaño de fuente en una sola pieza de un archivo de Word.
¿Puede alguien decirme cómo hacer para hacer esto??
exactamente lo que necesitas es ...
gedgfe dgd
RBR gbntghth brbr
bnfgh rtfhtyh rghh
que es cada palabra que tiene diferentes propiedades de la fuente
recogiendo error:
java.lang.NoClassDefFoundError: org / apache / poi / HPSF / WritingNotSupportedException
hola,
He ejecutado el programa java ur para leer documento de word. funciona bien, pero si el documento de la palabra hava una mesa. su código de producir un script malicioso y ejecuta el código del bucle infinte.
por favor dígame ¿hay algún método para leer un datos de una tablas en documento de Word.
@ Ankur Raiyani
¿Tuvo que conseguir un poco de suerte Apache POI para insertar imágenes en un documento de word. Estoy tratando de hacer lo mismo.
Muchas gracias.
plzzzz rápidamente necesito ayuda: yo uso dos archivos. archivo de cabecera y archivo sin cabecera cuando entro en el archivo de cabecera que sin darme esta java.io.IOException error: la firma de cabecera no válida, debe decir 0x665C316674725C7B, que se espera 0xE11AB1A1E011CFD0
en org.apache.poi.poifs.storage.HeaderBlockReader. (HeaderBlockReader.java: 107)
en org.apache.poi.poifs.filesystem.POIFSFileSystem. (POIFSFileSystem.java: 151)
en wordtotext.Main.main (Main.java: 30)
y el segundo archivo de ejecución helpme plz buena
Gracias u código de 4 d
System.out.println (párrafos [i]. ToString ()); / / imprimir los párrafos
por favor alguien me puede proporcionar el código Java a través del cual puedo insertar imagen en un archivo de MS Word en cualquier lugar, considerando además, que tiene algunas caontent sobre la respuesta it.plz mí ..
por favor hágamelo saber cómo insertar imagen en un archivo word doc
por favor hágamelo saber cómo podemos leer las imágenes de archivo. doc junto con el texto usando java
Excelente.
Muchas gracias.
Estoy begineer o java.When puedo compilar este ejemplo tengo 9 errores.
Ayúdame por favor ...
org.apache.poi.poifs.filesystem paquete no existe
importación org.apache.poi.poifs.filesystem .*;
org.apache.poi.hwpf paquete no existe
importación org.apache.poi.hwpf .*;
org.apache.poi.hwpf.extractor paquete no existe
importación org.apache.poi.hwpf.extractor .*;
no puede encontrar el símbolo
símbolo de clase POIFSFileSystem
Ubicación: clase readDoc
POIFSFileSystem fs = null;
no puede encontrar el símbolo
símbolo de clase POIFSFileSystem
Ubicación: clase readDoc
fs = nueva POIFSFileSystem (nuevo FileInputStream (filesname));
no puede encontrar el símbolo
símbolo de clase HWPFDocument
Ubicación: clase readDoc
HWPFDocument doc = HWPFDocument nuevo (fs);
no puede encontrar el símbolo
símbolo de clase HWPFDocument
Ubicación: clase readDoc
HWPFDocument doc = HWPFDocument nuevo (fs);
no puede encontrar el símbolo
símbolo de clase WordExtractor
Ubicación: clase readDoc
WordExtractor que WordExtractor = nuevo (doc);
no puede encontrar el símbolo
símbolo de clase WordExtractor
Ubicación: clase readDoc
WordExtractor que WordExtractor = nuevo (doc);
9 errores
Por favor alguien me ayude ...
Déjame saber acerca de la función básica de las minas para leer un documento ..
Hola Dosanjh,
Usted tendrá que agregar bibliotecas Apache POI en la ruta de clase para hacer que funcione. Puede descargar los paquetes de Apache POI de http://poi.apache.org/ y también está tratando de leer documentos de Word de Microsoft en java que necesitará, además, estas bibliotecas también. http://poi.apache.org/ hwpf / index.html
Gracias,
Hitesh Agarwal
Muy bonita la información.
¿Es posible editar. Doc y / o. Documentos docx con PI? Me gustaría ser capaz de reemplazar ciertos fragmentos de texto en varios documentos de Word ya continuación, guarde los documentos actualizados en el disco.
Este código lee un párrafo. Doc por párrafo.
¿Cómo puedo leer esta frase por frase archivo?
Gracias de antemano.
¿Cómo puedo leer doc con el texto y las imágenes?
y cómo puedo leer el texto con estilo?
¡Hola!
Cómo reemplazar una cadena por otra en. Documentos doc?
Creo que hay un montón de fallos graves en la aplicación de formato HWPF, por ejemplo, lo siguiente:
HWPFDocument doc = nueva HWPFDocument (InputStream);
doc.write (flujoSalida);
convierte los archivos. doc en somethig que no se puede abrir con Word más.
Hitesh,
Gracias por esto. Excelente post .. me salvó un montón de búsqueda.
¿Cómo identificar el título de la archivo. Doc ....
por favor ...
enviarme el código ...
¿Cómo identificar el título del archivo. Doc .... usando Apache POI
por favor ...
enviarme el código ...
¡Hola
Puede usted por favor dígame cómo leer un archivo doc que tienen las imágenes de la misma.
Post algo de código si es posible ..