问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java导出word表格

发布网友 发布时间:2022-04-20 14:47

我来回答

3个回答

热心网友 时间:2023-08-31 20:34

首先我用的技术是 poi

这是代码,一个工具类得调用
public class WordUtil {
/**
* 基于模板文件导出 word 文档,此方法主要是用来处理文档中需要替换的文本内容,对图片和表格无效
*
* @param templatePath
* 模板文件的路径,要求路径中要包含全名,并且模板文件只能是 07 及以上格式,即 docx 的文件
* @param destFilePath
* 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.docx
* @param data
* 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同
*/
public static void exportWordByTemplate(String templatePath,
String destFilePath, Map<String, String> data) {
FileOutputStream out = null;
XWPFDocument doc = null;
try {
doc = new XWPFDocument(POIXMLDocument.openPackage(templatePath));
List<XWPFRun> listRun;
List<XWPFParagraph> listParagraphs = doc.getParagraphs();
for (int i = 0; i < listParagraphs.size(); i++) {

listRun = listParagraphs.get(i).getRuns();
for (int j = 0; j < listRun.size(); j++) {
if (data.get(listRun.get(j).getText(0)) != null) {
String val = data.get(listRun.get(j).getText(0));
listRun.get(j).setText(val, 0);
}
}
}
File destFile = new File(destFilePath);
if (!destFile.getParentFile().exists()) {
destFile.getParentFile().mkdirs();
}
out = new FileOutputStream(destFilePath);
doc.write(out);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (out != null)
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

/**
* 基于模板文件导出 word 文档,该方法支持03格式,但是此方法只能保留文档内容,不能保留文档中的样式和图片,建议将模板使用 07 的格式保存
*
* @param templatePath
* 模板文件的路径
* @param destFilePath
* 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.doc
* @param data
* 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同
*/
public static void export03WordByTemplate(String templatePath,
String destFilePath, Map<String, String> data) {
try {
WordExtractor doc = new WordExtractor(new FileInputStream(
templatePath));
String content = doc.getText();
for (String key : data.keySet()) {
content = content.replaceAll(key, data.get(key));
}
byte b[] = content.getBytes();
ByteArrayInputStream s = new ByteArrayInputStream(b);
POIFSFileSystem fs = new POIFSFileSystem();
DirectoryEntry directory = fs.getRoot();
directory.createDocument("WordDocument", s);
FileOutputStream ostream = new FileOutputStream(destFilePath);

fs.writeFilesystem(ostream);
s.close();
ostream.close();

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args) throws Exception {
Map<String, String> maps = new HashMap<String, String>();
maps.put("appellation", "万达公寓业主:");
maps.put(
"main_body",
"输出的内容");
maps.put("date", "2013年1月23日");
exportWordByTemplate("E:/sss 2.docx", "E:/test/test.doc", maps);

}
}
"E:/sss 2.docx 模板存放的地址。
E:/test/test.doc 新生成的地址。追问阿帕奇的这个支持导PDF格式的吗

热心网友 时间:2023-08-31 20:34

有时间的话,你可以参考下pageoffice,希望可以帮到你。

热心网友 时间:2023-08-31 20:35

用POI吧,可以在网上下载查看POI_API的帮助文档,也可以买相关书籍看看
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
《火星异种》揭示了怎样的人性丑恶。? 日本哪些漫画动作(战斗类)设计较好,较为细致?并请稍微分析 新的一学年马上开学了,想送老师一件开学礼物,实用性强的。 开学送老师什么礼物? 未办理不动产的 没办登记的抵押合同怎么办 欠债人失联后的处理办法 早上肚子胀是什么原因 梦见姐姐去外地工作 电脑中所存的文件都在哪儿 java操作word中的excel(对应的是图表,如柱状图) 怎么用java poi生成word表格 读后感的写法 读后感咋写 跪求读后感范文 怎样写好读后感(附读后感13篇) 读后感怎么写和示范 名人传读书笔记五篇 200字左右 谢谢 古代散文和现当代散文整体上有什么差别? 并撰写一... 求读书笔记3篇 《呐喊》 《彷徨》《写在人生边上》《名人传》《论... 读后感 作文 写在人生边上 1000字读书笔记 读后感,300字左右需要10篇 求写在人生边上1500字读后感 谁发明的针灸 现在的针灸针是如何加工生产出来的呢? 贴针灸到底是什么成分?为什么会对那么多疼痛有效果? 针灸起源于哪里? 关於古代针灸的针具 java生成柱状图并插入到word 怎么通过JAVA往WORD的里写一张带数据表格? java中怎么将word文档怎么生成图片 java生成word统计图 怎么样使用java生成一个word文档?求个例子,word... java&nbsp;poi&nbsp;生成word表格怎么&nbsp;让表格... jacob中JAVA生成WORD 表格 高手请教下 java后端操作word文档如何根据数据来进行画这两个... 我要用java生成word或者pdf或者html文件。。并且要... java word创建表格(插入图片,创建表格,文子) 跪求大侠帮忙,Java 生成带多个表格,图片的word,... java用poi导出word文档,我要导出一个表格,表格的... java 自动生成word怎么生成 如何用java生成word java生成word文档 在java开发中,用于生成图表一般用什么 java poi 生成word表格怎么 让表格填充整个页面和... 车管所上班时间几点到几点? 车管所上班时间几点到几点 贵阳市驾驶证换证地点