六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 10|回复: 0

java poi-读写word、excel

[复制链接]

升级  94.2%

305

主题

305

主题

305

主题

进士

Rank: 4

积分
971
 楼主| 发表于 2013-2-3 13:08:24 | 显示全部楼层 |阅读模式
package zl.file;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
// code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.
public class MyExcel {
static public void main(String[] args) throws Exception {
//------------在xls中写入数据
FileOutputStream fos = new FileOutputStream("e:\\text.xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, "first sheet");
HSSFRow row = s.createRow(0);
HSSFCell cell = row.createCell((short)0,0);
HSSFRichTextString hts=new HSSFRichTextString("nihao");
cell.setCellValue(hts);
wb.write(fos);
fos.flush();
fos.close();
//------------从xls读出数据
wb = new HSSFWorkbook(new FileInputStream("e:\\text.xls"));
s = wb.getSheetAt(0);
HSSFRow r = s.getRow(0);
cell=r.getCell((short)0);
if(cell.getCellType() == HSSFCell.CELL_TYPE_STRING){
   System.out.println(cell.getRichStringCellValue());
}
//------------从doc读出数据
   FileInputStream in = new FileInputStream("e:\\text.doc");
   WordExtractor extractor = new WordExtractor(in);
   String text =extractor.getText();
      // 对DOC文件进行提取
   System.out.println(text);
   in.close();
   //------------------在doc中写入  
   byte[] a=new String("看见了!").getBytes();
   ByteArrayInputStream bs = new ByteArrayInputStream(a);
   POIFSFileSystem fs = new POIFSFileSystem();
   ///////////////////////////////////
   DirectoryEntry directory = fs.getRoot();
   DocumentEntry de = directory.createDocument("WordDocument", bs);
   //以上两句代码不能省略,否则输出的是乱码
   fos = new FileOutputStream("e:\\text.doc");
   fs.writeFilesystem(fos);
   bs.close();
   fos.flush();
   fos.close();
}
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表