「java导出word」java导出word模板
本篇文章给大家谈谈java导出word,以及java导出word模板对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java用itext导出word修改后文件变大?
- 2、java用poi导出word文档,我要导出一个表格,表格的单元格中还要有一个表格,请问怎么实现
- 3、java导出word表格
- 4、Java导出word时,能实现在word正文内“插入附件”的效果吗
- 5、java导出word,默认打开时doc或者docx格式
java用itext导出word修改后文件变大?
用free spire.doc for java试试,不会出现文件变大这么多的问题,读、写、修改编辑都可以的
java用poi导出word文档,我要导出一个表格,表格的单元格中还要有一个表格,请问怎么实现
有个最简单,不用使用任何 poi 或其他第三方类库的方法生成 excel ,或 word ,
你把一个生成好的 word 例子用文件另存为 xml , docx 之类,然后你再直接用记事本去打开这个 docx ,你就会发现是 xml 格式,
这个时候,你在程序里面就直接用普通代码生成这个 xml 就可以了。
java导出word表格
首先我用的技术是 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, MapString, String data) {
FileOutputStream out = null;
XWPFDocument doc = null;
try {
doc = new XWPFDocument(POIXMLDocument.openPackage(templatePath));
ListXWPFRun listRun;
ListXWPFParagraph 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, MapString, 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 bais = new ByteArrayInputStream(b);
POIFSFileSystem fs = new POIFSFileSystem();
DirectoryEntry directory = fs.getRoot();
directory.createDocument("WordDocument", bais);
FileOutputStream ostream = new FileOutputStream(destFilePath);
fs.writeFilesystem(ostream);
bais.close();
ostream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
MapString, String maps = new HashMapString, 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 新生成的地址。
Java导出word时,能实现在word正文内“插入附件”的效果吗
1、在CAD中选择要转换的text和mtext。2、执行list命令,会弹出一个对话框,所有的属性已经在该对话框内列出,是纯文本的。3、将列出的文本复制粘贴到EXCEL中,排序(这个很重要),只保留单元格内容具有“文本”和“内容:”格式的行,其它行全部删掉。4、用替换功能将“文本”、“内容:”和空格全部替换为空字符(即把它们删掉),剩下的就是你想要的文本了。5、将他们复制到Word中,直接粘贴会粘贴成表格,如果只要文本,可先粘贴到记事本,再从记事本中粘贴到Word中,此时就是纯文本了,然后进行编辑、排版等即可。另外,此方法不但适用转换文本,还可以将多义线、线段、圆、多边形等对象的座标、半径等信息提取出来,不需编程,简单易用。
java导出word,默认打开时doc或者docx格式
到控制面板的功能和程序,点击2003,点击更改,修复,或者直接点击2003的安装程序进行修复也可以,这样默认就是2003,而docx只有2010才能打开。
java导出word的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java导出word模板、java导出word的信息别忘了在本站进行查找喔。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。