POI操作WORD
来源:互联网 发布:linux安装不了httpd 编辑:程序博客网 时间:2024/05/29 09:12
POI操作WORD
POI操作word有很多局限性并不完善,所以用它的一个扩展包
1、环境支持
1.1 添加poi支持:包下载地址http://www.apache.org/dyn/closer.cgi/poi/release/
1.2 POI对Excel文件的读取操作比较方便,POI还提供对Word的DOC格式文件的读取。但在它的发行版本中没有发布对Word支持的模块,需要另外下载一个POI的扩展的Jar包。下载地址为http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/ 下载extractors-0.4_zip这个文件
下面给几个例子看看
写的不好还希望大家多提意见
testmining官方网站http://www.textmining.org/
package com.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();
}
}
}
- POI操作WORD
- poi操作word文档
- poi操作WORD文档
- POI操作WORD
- POI 操作word excel
- POI操作WORD分页
- poi操作word
- poi操作word
- POI操作Word
- POI 操作word
- POI操作word 换行
- poi----操作word。相关代码
- poi操作word文档总结
- poi操作word(一)
- poi操作word(二)
- POI-JAVA操作WORD文档
- java poi操作word浅谈
- Apache POI操作Word概览
- HeapSort,use maximun heap...
- ARP Sinffer攻防实例讲解
- 什么是publickeytoken及publickeytoken的作用
- (续上文) 一阶谓词逻辑和知识绑定
- C#基础(一)
- POI操作WORD
- Head First C# 山寨翻译版 第三章 page87
- Struts2实现文件上传
- 备份
- ACM-ICPC比赛随想 清华大学 刘汝佳
- SOA和云计算真的是密不可分?
- ARM+Linux==嵌入式开发--->承接嵌入式项目开发
- 正则表达式随笔
- acm pku 1423解题报告