1.Java POI 如何操作word 格式
1、环境支持 1.1 添加poi支持:包下载地址
Java可以使用这个开源框架,对word进行读取合并等操作,Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。最新的3.5版本有很多改进,加入了对采用OOXML格式的Office 2007支持,如xlsx、docx、pptx文档。 示例如下:import org.apache.poi.POITextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
//得到.doc文件提取器
org.apache.poi.hwpf.extractor.WordExtractor doc = new WordExtractor(new FileInputStream(filePath));
//提取.doc正文文本
String text = doc.getText();
//提取.doc批注
String[] comments = doc. getCommentsText();
2007
import org.apache.poi.POITextExtractor;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFComment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
//得到.docx文件提取器
org.apache.poi.xwpf.extractor.XWPFWordExtractor docx = new XWPFWordExtractor(POIXMLDocument.openPackage(filePath));
//提取.docx正文文本
String text = docx.getText();
//提取.docx批注
org.apache.poi.xwpf.usermodel.XWPFComment[] comments = docx.getDocument()).getComments();
for(XWPFComment comment:comments){
comment.getId();//提取批注Id
comment.getAuthor();//提取批注修改人
comment.getText();//提取批注内容
}
3.如何java程序将 word转换成html
Dispatch wordfile = Dispatch.invoke(
wordacc,
"Open",
Dispatch.Method,
new Object[] { ls_word, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
Dispatch.invoke(wordfile, "SaveAs", Dispatch.Method, new Object[] {
ls_html, new Variant(8) }, new int[1]);
Variant f = new Variant(false);
// 编写 生成的html
Dispatch.call((Dispatch) wordfile, "Close", (Object) f);
在执行Dispatch.invoke(wordfile, "SaveAs", Dispatch.Method, new Object[] {
ls_html, new Variant(8) }, new int[1]);
jacob.jar
jacob-1.14-x86.dll jacob-1.14-x64.dll 这些的位置有什么要求
抛出异常 路径绝对没有错
com.jacob.com.ComFailException: Invoke of: SaveAs
Source: Microsoft Word
Description: 这不是有效文件名。
请试用下列方法:
* 检查路径,确认键入无误。
* 从文件和文件夹列表中选择文件。
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:858)
at com.jacob.com.Dispatch.invoke(Dispatch.java:502)
4.java中怎么用poi操作word
JAVA是可以用POI操作WORD。
EXCEL这些的 看下面这个能帮上你不 1、环境支持1.1 添加poi支持:包下载地址 .ray.poi.util;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.poifs.filesystem.DirectoryEntry;import org.apache.poi.poifs.filesystem.DocumentEntry;import org.apache.poi.poifs.filesystem.POIFSFileSystem;import org.textmining.text.extraction.WordExtractor;/*** 读写doc* @author wangzonghao**/public class POIWordUtil {/** * 读入doc * @param doc * @return * @throws Exception */public static String readDoc(String doc) throws Exception { // 创建输入流读取DOC文件 FileInputStream in = new FileInputStream(new File(doc)); WordExtractor extractor = null; String text = null; // 创建WordExtractor extractor = new WordExtractor(); // 对DOC文件进行提取 text = extractor.extractText(in); return text;}/** * 写出doc * @param path * @param content * @return */public static boolean writeDoc(String path, String content) { boolean w = false; try { // byte b[] = content.getBytes("ISO-8859-1"); byte b[] = content.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(b); POIFSFileSystem fs = new POIFSFileSystem(); DirectoryEntry directory = fs.getRoot(); DocumentEntry de = directory.createDocument("WordDocument", bais); FileOutputStream ostream = new FileOutputStream(path); fs.writeFilesystem(ostream); bais.close(); ostream.close(); } catch (IOException e) { e.printStackTrace(); } return w; } }测试package com.ray.poi.util;import junit.framework.TestCase;public class POIUtilTest extends TestCase {public void testReadDoc() { try{ String text = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc"); System.out.println(text); }catch(Exception e){ e.printStackTrace(); }}public void testWriteDoc() { String wr; try { wr = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc"); boolean b = POIWordUtil.writeDoc("c:\\demo.doc",wr); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }}}。
5.怎么使用JAVA,POI读写word文档
如何使用JAVA、POI读写word文档??能不能将一个word的内容完全读过来,放到一个新生成的word文件中去,要求能将word中的表格、图片等保留,格式不变。
最好能给个例子?网上多是很早以前的那个解决方法如下:,只能读文本内容,且新生成的word文件打开时总是要提示选择编码,不太好用,希望能有新的解决方案??!!poi操作word1.1 添加poi支持:包下载地址1.2 POI对Excel文件的读取操作比较方便,POI还提供对Word的DOC格式文件的读取。但在它的发行版本中没有发布对Word支持的模块,需要另外下载一个POI的扩展的Jar包。
下载地址为;下载extractors-0.4_zip这个文件2、提取Doc文件内容public static String readDoc(String doc) throws Exception {// 创建输入流读取DOC文件FileInputStream in = new FileInputStream(new File(doc));WordExtractor extractor = null;String text = null;// 创建WordExtractorextractor = new WordExtractor();// 对DOC文件进行提取text = extractor.extractText(in);return text;}public static void main(String[] args) {try{String text = WordReader.readDoc("c:/test.doc");System.out.println(text);}catch(Exception e){e.printStackTrace();}}3、写入Doc文档 import java.io.ByteArrayInputStream;import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.poifs.filesystem.DirectoryEntry;import org.apache.poi.poifs.filesystem.DocumentEntry;import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class WordWriter {public static boolean writeDoc(String path, String content) {boolean w = false;try { // byte b[] = content.getBytes("ISO-8859-1");byte b[] = content.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(b); POIFSFileSystem fs = new POIFSFileSystem();DirectoryEntry directory = fs.getRoot(); DocumentEntry de = directory.createDocument("WordDocument", bais); FileOutputStream ostream = new FileOutputStream(path); fs.writeFilesystem(ostream); bais.close();ostream.close(); } catch (IOException e) {e.printStackTrace();}return w;}public static void main(String[] args) throws Exception{String wr=WordReader.readDoc("D:\\test.doc");boolean b = writeDoc("D:\\result.doc",wr);。
转载请注明出处51数据库 » javapoiwordhtml
付出眞芯丶未必能嘚到嗳8191650