當前位置:編程學習大全網 - 源碼下載 - Java POI 如何操作word 格式

Java POI 如何操作word 格式

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();

}

}

}

  • 上一篇:三伏天是減肥黃金四十天?還有哪個姐妹是和我壹樣被蒙在鼓裏的!!
  • 下一篇:ThreadLocal共享線程局部變量和線程同步機制的區別
  • copyright 2024編程學習大全網