-
java通过freemarker生成word文档
2021-01-13 10:45:56然后将xml文件的后缀名修改为ftl格式,就变成了freemarker的标准格式(xml格式的其实也可以)。比较繁琐的就对格式的搜索,动则几万行费眼,博主曾半个月对一个word模板修改十多次,心累,最好确定好最终的模板格式...用word模板,将其另存为xml格式,模板的文件名最好是英文,可以设置生成的文件名成。然后将xml文件的后缀名修改为ftl格式,就变成了freemarker的标准格式(xml格式的其实也可以)。比较繁琐的就对格式的搜索,动则几万行费眼,博主曾半个月对一个word模板修改十多次,心累,最好确定好最终的模板格式,记录下我的word生成工具和调用,freemarker语法这里就不说了,过程就是搬砖的过程,跟jsp页面其实没太大区别。
之前的项目比较老,有时间在调整一份springboot的版本吧
调用 并返回导出模板路径
//导出模板路径 String path=WordUtils.exprotWordToLocal(param,"MorningMeetingDaily.xml","XX会日报");
工具类
package com.sgcc.common.util; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.Map; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.common.BaseUtils; import freemarker.template.Configuration; import freemarker.template.Template; import java.util.logging.Level; import java.util.logging.Logger; /** * * @ClassName: WordUtils * @描述: word工具类,提供导出方法 * @@author: jinyihao * @date: 2019-7-16 下午3:01:51 */ @SuppressWarnings({ "rawtypes", "deprecation" }) public class WordUtils { private static final Logger logger = Logger.getLogger(WordUtils.class.getName()); private static Configuration configuration = null; private static String code = "UTF-8"; private static String upload_url; static { try { logger.log(Level.INFO,"WordUtils 初始化开始"); configuration = new Configuration(); configuration.setDefaultEncoding(code); upload_url = BaseUtils.getProperties("upload_url"); configuration.setDirectoryForTemplateLoading(new File(upload_url)); } catch (Exception e) { logger.log(Level.SEVERE,"WordUtils 初始化异常 upload_url: "+upload_url ,e); } } private WordUtils() { throw new AssertionError(); } /** * 获取网络图片的流 * * @param imgURL * @return * @throws IOException */ @SuppressWarnings("unused") private static InputStream getUrlInputStream(String imgURL) { try { // 创建URL URL url = new URL(imgURL); // 创建链接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5 * 1000); InputStream is = conn.getInputStream(); return is; } catch (IOException e) { logger.log(Level.SEVERE,"WordUtils 获取网络图片异常 ",e); return null; } } /** * 从输入流中获取数据 * * @param inStream * 输入流 * @return * @throws IOException * @throws Exception */ @SuppressWarnings("unused") private static byte[] readInputStream(InputStream inStream) throws IOException { ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[10240]; int len = 0; while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len); } inStream.close(); return outStream.toByteArray(); }; /** * 处理转义字符 * @param str * @return */ public static String transform(String str) { if (str.contains("<") || str.contains(">") || str.contains("&")) { str = str.replaceAll("<", "<").replaceAll(">", ">") .replaceAll("&", "&"); } return str; } /** * 创建文件路径 * @param destFileName 字符串格式的 文件路径 * @return */ public static boolean createFile(String destFileName) { File file = new File(destFileName); if(file.exists()) { return false; } if (destFileName.endsWith(File.separator)) { return false; } //判断目标文件所在的目录是否存在 if(!file.getParentFile().exists()) { //如果目标文件所在的目录不存在,则创建父目录 if(!file.getParentFile().mkdirs()) { return false; } } //创建目标文件 try { if (file.createNewFile()) { return true; } else { return false; } } catch (IOException e) { logger.log(Level.SEVERE,"word 导出文件生成异常" + destFileName + " :",e); return false; } } private static File createDoc(Map<?, ?> dataMap, Template t){ return createDoc(dataMap, t,"test.doc") ; } private static File createDoc(Map<?, ?> dataMap, Template t,String name) { createFile(name); File f = new File(name); // 生成文件路径 try { Writer w = new OutputStreamWriter(new FileOutputStream(f), code); t.process(dataMap, w); w.close(); } catch (Exception e) { logger.log(Level.SEVERE,"word 导出文件异常" + name + " :",e); } return f; } public static void exprotWord(HttpServletRequest request, HttpServletResponse response, Map map, String modleName, String fileName) throws IOException { Template template = configuration.getTemplate(modleName); File file = null; InputStream inputStream = null; ServletOutputStream servletOutputStream = null; try { // 调用工具类的方法生成Word文档 file = createDoc(map, template); inputStream = new FileInputStream(file); response.setCharacterEncoding(code); response.setContentType("application/msword"); // 设置浏览器以下载的方式处理该文件名 fileName.concat(".doc"); response.setHeader("Content-Disposition", "attachmentfilename=" .concat(String.valueOf(URLEncoder.encode(fileName, code)))); servletOutputStream = response.getOutputStream(); byte[] buffer = new byte[512];// 缓冲区 int bufferToRead = -1; // 通过循环讲读入的Word文件的内容输出到浏览器中 while ((bufferToRead = inputStream.read(buffer)) != -1) { servletOutputStream.write(buffer, 0, bufferToRead); } } catch (Exception e) { logger.log(Level.SEVERE,"word 导出异常" + fileName + " :",e); } finally { if (inputStream != null) inputStream.close(); if (servletOutputStream != null) servletOutputStream.close(); if (file != null) file.delete();// 删除临时文件 } } /** * * @描述: TODO(导出word到本地) * @param: @param map 导出数据 * @param: @param modleName 模版名称 * @param: @param fileName 文件名称: 早例会日报 * @param: @return * @return: String * @throws */ public static String exprotWordToLocal(Map map, String modleName, String fileName) { fileName += DateUtil.getDate("yyyyMMddHHmmss") + ".doc"; String filePath = upload_url; try { Template template = configuration.getTemplate(modleName); File file = createDoc(map, template,filePath+fileName); if(file==null){ return null;// 文件生成异常 } } catch (Exception e) { logger.log(Level.SEVERE,"WordUtils 初始化异常",e); return null;// 文件生成异常 } return fileName ; } }
-
怎样将Excel表转换成Word格式?教你如何搞定
2019-03-19 14:38:50PDF现在已经成为可靠的分发和...给大家分享文档格式的转换方法,这里分享的是几分钟就能搞定Excel表转换成Word格式。 解决方法1: 可以直接通过直接打开Excel文件,并进入到工具中调整好文件的格式如图: 点击文件...PDF现在已经成为可靠的分发和交换电子文档与表单的标准,我们在工作当中,很多时候给别人发送Excel文件的时候需要转换成PDF格式,避免对方看到表格当中的一些链接以及公式计算。那么excel怎么转换成pdf呢?
给大家分享文档格式的转换方法,这里分享的是几分钟就能搞定Excel表转换成Word格式。
解决方法1:
可以直接通过直接打开Excel文件,并进入到工具中调整好文件的格式如图:
点击文件左上角的【文件】会展现出来一个新的页面;选择导出选项,选择到创建PDF/XPS文档;
会弹出来一个对话框。在页面下选择保存类型并设置为PDF格式,全部选择完成好后,点击发布,输出PDF文件。打开完成的文件查看效果:解决方法二:
当然通过Excel表格也能将Excel格式进行转换,但有没有发现这样操作起来效率比较慢。可使用到专业的工具来完成文件格式的转换;在工具的操作界面选择栏目PDF转换,在其子栏目【其他转PDF】中就包含‘Excel转PDF’功能;
选择将文件添加到工具中,可以选择点击【添加文件/添加文件】/【点击或拖拽文件添加】的方式将需要转换格式的Excel文件添加到转换框中;
可以选择在页面选择下点击‘全部’,设置页面范围;页面下可以选择在输出目录后面点击【浏览】,可以自行选择文件的保存路径问题;
使用鼠标点击如图所示的标志,可以选择‘列表显示’和‘缩略图显示’;点击【清空列表】可以将添加到工具中的文件进行删除;
文件后面的【更多选项】可将文件打开、分享给其他人;点击‘开始转换’进入到格式转换的过程,状态栏进度条完成“100”就表示实现文件格式的转换。转载于:https://blog.51cto.com/13968378/2365285
-
office&案例二&文档样式库&页眉
2019-10-09 19:58:25为了更好地介绍公司的服务与市场战略,市场部助理小王需要协助制作完成公司战略规划文档,并调整文档的外观与格式。 现在,请你按照如下需求,在Word.docx文档中完成制作工作: 调整文档纸张大小为A4幅面,纸张...在文件夹下打开文档 WORD.DOCX。
【背景素材】
为了更好地介绍公司的服务与市场战略,市场部助理小王需要协助制作完成公司战略规划文档,并调整文档的外观与格式。
现在,请你按照如下需求,在Word.docx文档中完成制作工作:-
调整文档纸张大小为A4幅面,纸张方向为纵向;并调整上、下页边距为2.5厘米,左、右页边距为3.2厘米。
-
打开考生文件夹下的"Word_样式标准.docx"文件,将其文档样式库中的"标题1,标题样式一"和"标题2,标题样式二"复制到Word.docx文档样式库中。
-
将Word.docx文档中的所有红颜色文字段落应用为"标题1,标题样式一"段落样式。
-
将Word.docx文档中的所有绿颜色文字段落应用为"标题2,标题样式二" 段落样式。
-
修改文档样式库中的"正文"样式,使得文档中所有正文段落首行缩进 2个字符。
-
将文档中出现的全部"软回车"符号(手动换行符)更改为"硬回车"符号(段落标记)。
-
为文档添加页眉,并将当前页中样式为"标题1,标题样式一"的文字自动显示在页眉区域中。
-
在文档的第4个段落后(标题为"目标"的段落之前)插入一个空段落,并按照下面的数据方式在此空段落中插入一个折线图图表,将图表的标题命名为"公司业务指标"。
1、调整文档纸张大小为A4幅面,纸张方向为纵向;并调整上、下页边距为2.5厘米,左、右页边距为3.2厘米。
2、打开考生文件夹下的"Word_样式标准.docx"文件,将其文档样式库中的"标题1,标题样式一"和"标题2,标题样式二"复制到Word.docx文档样式库中。
第一步:
第二步:
第三步:第二步后弹出模板和加载项
第四步:弹出【管理器】框
第五步:还是在【管理器】框,单击打开文件夹,在电脑里找到word文件
第六步:在Word_样式标准中分别选择【标题1,标题样式一】和【标题2,标题样式二】复制到右边的Word框里。最后点击【关闭】按钮。
3、将Word.docx文档中的所有红颜色文字段落应用为"标题1,标题样式一"段落样式
4、将Word.docx文档中的所有绿颜色文字段落应用为"标题2,标题样式二" 段落样式。 (同上)
5、修改文档样式库中的"正文"样式,使得文档中所有正文段落首行缩进 2个字符。 第一步:选中第一段正文,按照下列操作。
6、将文档中出现的全部"软回车"符号(手动换行符)更改为"硬回车"符号(段落标记)。最后点击全部替换即可
7、 为文档添加页眉,并将当前页中样式为"标题1,标题样式一"的文字自动显示在页眉区域中。
步骤 l:分别将鼠标光标移至第2页和第3页的第一个字节左侧,单击【页面布局】选项卡下【页面设置】组中的“分隔符”按钮,在弹出的下拉列表中选择“下一页”选项,如图所示。
步骤2:单击【插入】选项卡下【页眉页脚】组中的“页眉”按钮,在弹出的下拉列表中选择合适的页眉格式,这里我们“空白”选项,如图所示。
步骤3:在页页眉输入框中输入“企业摘要”,如图所示。
第一步:
第二步:在“页眉和页脚”的“工具栏”中,单击来关闭“链接到前一个页眉”,(也就是关闭与前一个页面之间的链接关系)
步骤4:将鼠标光标移至第二页页眉处,单击【页眉和页脚工具】选项卡中【导航】组“连接到前一条页眉”选项。修改页眉为“企业描述”。
步骤5:将鼠标光标移至第三页页眉处,单击【页眉和页脚工具】选项卡中【导航】组“连接到前一条页眉”选项。修改页眉为“企业营销”,关闭页眉和页脚。
8、在文档的第4个段落后(标题为"目标"的段落之前)插入一个空段落,并按照下面的数据方式在此空段落中插入一个折线图图表,将图表的标题命名为"公司业务指标",此时会弹出Excel,把数据复制到表格Excel表格里即可。
-
-
在Word中将A3大小的卷子拆成A4大小来打印的方法
2020-12-31 12:17:16相信很多家长朋友用A4幅面的打印机给孩子打印Word格式A3...首先我们打开要打印的A3幅面卷子的Word文档,找到“页面设置”并进入对话框,各个Word版本的“页面设置”怎么进入这里不再赘述,如果找不到请大家自行百度一下相信很多家长朋友用A4幅面的打印机给孩子打印Word格式A3卷子的时候,都想把A3卷子左右两边分别用两张A4纸来打印出来,却不知道该怎样做,下面我会告诉大家一个简单的方法。
首先,要说明一下,此方法只适合标准A3幅面(297x420毫米)、平均分成左右两栏,并且要打印在标准A4(210x297毫米)纸上的情况。其他非标准纸张可能需要调整页边距等设置。
首先我们打开要打印的A3幅面卷子的Word文档,找到“页面设置”并进入对话框,各个Word版本的“页面设置”怎么进入这里不再赘述,如果找不到请大家自行百度一下。
第一步,设置“页边距”选项卡中的“纸张方向”,从原来的“横向”改为“纵向”。
第二步,设置“纸张”选项卡中的“纸张大小”,从原来的“A3(297x420毫米)”改为“A4(210x297毫米)”。
第三步,设置“文档网格”选项卡中“文字排列”里的“栏数”,将“栏数”从原来的“2”改为“1”。
最后,点击“确定”按钮,文件就从A3变为A4页面了,如果排版没有问题就可以直接打印了。 -
ComponentOne Doc-To-Help—用于生成各种完美文档的专业控
2006-03-16 00:00:00和打印文档,都可以由Word文档作为唯一的来源进行维护,使得结果更为清晰。 内置或自定义模版 ComponentOne Doc-To-Help 6.5包括了一系列模版,用以生成高质量的打印文档。 无以伦比的条件文本功能 可指定特殊... -
标准分享网-PDF工具包
2013-04-23 10:13:17PDF虚拟打印机软件,可以将任意文档转换成PDF格式。 5、PDF Password Remover中文破解版 PDF文档密码破解软件,可以直接解密,快捷有效,批量破解加密文件。 6、e-PDF To Word Converter绿色版 转换能力很强的PDF... -
如何将php里面的首行缩进_想要升职加薪!不掌握这些基本的行文标准,如何能够得到领导赏识...
2021-01-03 06:13:44下列几个方面是文档排版中最容易出现问题的地方:一、文档格式方面,尽可能让布局显得美观(一)页眉页脚页眉的左边通常显示企业logo,右边显示文件类别,后期的word版本有模板选择,可以套用模板,避免手工调整靠左、... -
怎么修改pdf文件页面大小
2017-03-10 18:19:37设置文档的页面大小是经常遇到的一种操作,这对word、ppt这些文档来说想必大家都知道怎么去操作的,但是需要操作的文档是pdf格式,那么该如何编辑,怎样设置pdf文件的页面大小呢? 首先使用pdf编辑软件将要操作的... -
人工智能:波士顿房价预测线性回归实践
2020-12-22 11:42:361、至少5次不同超参数的运行结果的记录文档(word格式或者txt格式) 2、你认为最优的一次带运行结果的源代码文件(.ipynb 格式) 3、以上两个文件一起压缩为一个压缩文件后作为附件上传 评价标准: 1、完成案例中的... -
论文排版助手[WPS版]
2019-10-23 16:30:16《论文格式快速编排助手》应用程序是专门针对学位论文、学术论文、科技报告等文档的高效排版而开发的一款桌面应用程序,通过它可一键创建标准格式的论文模板,一键更新或规范模板格式,一键为图片、表格及公式插入题... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part1
2016-06-16 20:55:43PDF格式扫描版,全书分为6篇25章,共888页。2011年1月出版。 注:原电子版图书无书签,为阅读方便,本人重新排列页码并添加了详细完整的书签。 全书体积较大,压缩打包成3部分,这是第1部分。 注:本系列图书的第I... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part2
2016-06-16 20:59:52PDF格式扫描版,全书分为6篇25章,共888页。2011年1月出版。 注:原电子版图书无书签,为阅读方便,本人重新排列页码并添加了详细完整的书签。 全书体积较大,压缩打包成3部分,这是第2部分。 注:本系列图书的第I... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part3
2016-06-16 21:02:21PDF格式扫描版,全书分为6篇25章,共888页。2011年1月出版。 注:原电子版图书无书签,为阅读方便,本人重新排列页码并添加了详细完整的书签。 全书体积较大,压缩打包成3部分,这是第3部分。 注:本系列图书的第I... -
C#开发实战1200例(第一卷+第二卷)+源码下载地址.txt
2019-05-17 09:24:24主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据...Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制... -
C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载
2018-02-20 01:26:55主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据...Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制... -
wps2000最经典的办公软件+注册码
2013-08-19 01:54:29DOS 下各个版本的 WPS、WPS 视窗版1.0、WPS 97 、WPS 2000 测试版生成的 WPS 文件,还可以直接读入写字板(*.wri)、中文Word (*.doc)、Rich Text Format(*.rtf)、超文本HTML(*.htm)等格式的文档。此外,在读写 HTML、... -
DotNetTextBox V6.0.10 商业版 下载 (已知最新)
2016-10-10 22:50:062)更强大的Word文档导入编辑器功能,无需特殊的服务器权限或安装客户端组件,只要拥有最基本的ASP.NET读写文件权限即可实现导入Word文档,并且还支持最新的DOCX文档格式! 3)更细致的工具栏区域划分! 4)全新的可... -
中易通用人事工资管理系统 v1.4.1.rar
2019-07-11 04:48:49支持工资表格格式调整功能,按照您的要求自定义工资表格和标题;支持扣零发放功能;提供工资条、工资表打印功能,折行工资条支持任意折行列数。 4、灵活多样的计时计件工资管理模块,系统默认提供标准的计件计时... -
即学即用:EXCEL.2007文秘与行政实战应用宝典.pdf
2013-01-31 09:53:51第3篇为协同工作篇,介绍如何实现Excel与Access、Word、文本格式的数据以及网站数据的共享。 目录: chapter 01 快速输入与编辑数据 1.1 文字的输入 1.1.1 在编辑栏中输入 1.1.2 在单元格中输入 1.1.3 文字的... -
TTSUU v1.0.zip
2019-07-08 20:35:17TTSUU软件允许您通过手工输入、拷贝粘贴、打开TXT文本文件、Word文件以及PDF文件等方式对文本内容进行朗读、导出音频和字幕,您也可以从任何网页、Email、电子文档中拷贝任何文本内容,然后以随机彩色标签的方式粘贴... -
网管教程 从入门到精通软件篇.txt
2010-04-25 22:43:49Perfect文档、Microsoft:Word文档;DisplayWrite文档 DOT:Microsoft Word文档模板 DPL:Borland Delph 3压缩库 DRV:驱动程序 DRW:Micrografx Designer/Draw;Pro/E绘画文件 DSF:Micrografx Designer VFX... -
SOFTMAY索美田径运动会编排管理系统 最新版
2009-05-20 08:20:482、运动会赛前信息发布、赛中成绩即时处理和赛后文档统计采用了完全智能化向导。 3、运动员报名信息自动共享于比赛成绩单、比赛成绩输入和所有统计信息中,能节省大量必须工作。 4、与Word、Excel进行无缝连接,大... -
BitWare 用modem发传真打电话的软件
2010-04-28 08:40:34Bitware 会根据传真的大小进行适当调整,如果传真页过长(多达十四英寸),就会以标准页(8.5 11 英寸)打印;如果传真页超过十四英寸,则会打印成两页。 自动打印接收的传真 1.在 BitWare 窗口中选择“设置”按钮... -
Excel VBA实用技巧大全 附书源码
2010-10-08 18:59:2404154为单元格设置条件格式、删除条件格式 04155为单元格插入指向工作簿内部的超链接、删除超链接 04156为单元格插入指向工作簿外部的超链接、删除超链接 04157为单元格添加批注、删除批注 04158修改单元格的批注 ... -
计算机应用技术(实用手册)
2011-07-29 16:32:16一般来说靠近芯片的是第一组IDE设备,而主设备、从设备是指在一条IDE数据线上接的两个设备,大家知道每根数据线上可以接两个不同的设备,主、从设备可以通过硬盘或者光驱的后部跳线来调整。 后面是IDE设备的类型和... -
《Java开发实战1200例(第I卷)》(李钟尉.陈丹丹).part2 高清完整PDF版
2016-06-13 15:53:27本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括... -
《Java开发实战1200例(第I卷)》(李钟尉.陈丹丹).part3 高清完整PDF版
2016-06-13 16:11:24本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括... -
索美田径运动会编排管理系统专业版
2016-03-03 09:29:445、提供《秩序册一键生成》强大的按赛次排序编排模式,(支持有比赛成绩或无比赛成绩报名)并自动完成格式设置。 6、提供QQ:54617969在线技术支持或远程协助,保证用户的成功使用。 二、软件特色: 1、支持任意... -
Excel新增工具集
2011-12-20 09:30:271、Word转Excel:把若干个Word文档中的表合并到Excel工作簿中的一个工作表中,可用于对下属填写的报名表(登记表)的汇总统计。 2、Excel转Word:把Excel工作簿的某个工作表中记录逐一拆分到对应的若干个Word文档中... -
300个注册表优化修改文件
2011-11-20 21:11:36改变Word文档日期的显示格式.reg 将Word插入对象的名称汉化.reg 设置Office的安装位置.reg 设置Word中的文件保存路径.reg 设置是否显示Office助手.reg 安全与限制 : 点击浏览该文件 从浏览清单中隐藏服务器....