POI 导出word
来源:互联网 发布:java数据库开发培训 编辑:程序博客网 时间:2024/06/07 09:39
Demo:
package test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class TestQwehyc {
/** * @param args * @throws IOException */ public static void main(String[] args) { String destFile="D:\\生成的文件.doc";//生成文件的路径 当然也可以生成咋项目里 方便下载 //根据Word模板导出单个Word文档 Map<String, String> map=new HashMap<String, String>(); map.put("name", "冯"); map.put("sex", "女"); map.put("idCard", "200010"); map.put("year1", "2000"); map.put("month1", "07"); //注意biyezheng_moban.doc文档位置,此例中为应用根目录 HWPFDocument document=new TestQwehyc().replaceDoc("D:/Users/TpSourect/Workspaces/MyEclipse 10/TTest/src/biyezheng_moban.doc", map); ByteArrayOutputStream ostream = new ByteArrayOutputStream(); try { document.write(ostream); //输出word文件 OutputStream outs=new FileOutputStream(destFile); outs.write(ostream.toByteArray()); outs.close(); } catch (IOException e) { e.printStackTrace(); } } /** * * @param destFile * @param fileCon */ public void exportDoc(String destFile,String fileCon){ try { ByteArrayInputStream bais = new ByteArrayInputStream(fileCon.getBytes()); POIFSFileSystem fs = new POIFSFileSystem(); DirectoryEntry directory = fs.getRoot(); directory.createDocument("WordDocument", bais); FileOutputStream ostream = new FileOutputStream(destFile); fs.writeFilesystem(ostream); bais.close(); ostream.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 读取word模板并替换变量 * @param srcPath * @param map * @return */ public HWPFDocument replaceDoc(String srcPath, Map<String, String> map) { try { // 读取word模板 FileInputStream fis = new FileInputStream(new File(srcPath)); HWPFDocument doc = new HWPFDocument(fis); // 读取word文本内容 Range bodyRange = doc.getRange(); // 替换文本内容 for (Map.Entry<String, String> entry : map.entrySet()) { bodyRange.replaceText("${" + entry.getKey() + "}", entry .getValue()); } return doc; } catch (Exception e) { e.printStackTrace(); return null; } } }
模板:
1 0
- POI 导出word
- poi导出word[1]
- poi导出word[2]
- POI模板导出word
- POI导出word 文档
- 使用poi导出word
- POI 导出word
- POI 导出 Word 表格
- poi导出word
- POI根据模版导出word
- POI Word 模板导出教程
- 利用poi导出word excel
- poi 导出word 表格文件
- Java POI导出Word文档
- poi+freemarker导出word(2003)
- poi将html导出到word
- POI 导出word时不能换行解决
- POI导出word文档的基本操作
- Dijkstra
- spring 三种注入方式
- Linux下安装sublime和chrome
- js 打印divdemo
- mysql ALTER 语句用法,添加、修改、删除字段等
- POI 导出word
- Redis 缓存失效机制
- android游戏开发的架构
- pat 1105. Spiral Matrix (25)
- MFC 得到本机IP和设置本机的IP
- C# 调用GDAL编写的动态链接库dll,后不能将生成的图像显示到picturebox上,显示内存不足
- $this和self的区别
- Android View工作原理(一)----子View的measure(即子View的尺寸确定)
- HM编码器代码阅读(38)——帧内预测(五)帧内预测之正式的预测操作