Java使用freemarker生成word文档,怎么设置动态的生成文档路径?

测试的时候用的死路径,但是提交代码不能写死路径,
测试的时候写了个生成文档路径,比如D:/目录下,但是放在项目中能不能让用户自己选择生成的文档路径地址
哪位大佬做过这方面的问题,帮助一下,感谢!!!!!!!!!

1个回答

不知道你的动态指的是什么

renkai721
renkai721 回复qq_38735045: 是这样的,你的描述不清楚。1、项目部署后文档生成在服务器指定的一个路径,这个在自己的配置文件配置上去就好。2、项目部署后文档生成在项目中的一个文件夹中,参考https://www.cnblogs.com/liuzhipeng/p/7816507.html3、动态生成word文档让用户下载到自己的客户端,参考https://www.cnblogs.com/wzjhoutai/p/7381093.html
6 个月之前 回复
qq_38735045
qq_38735045 测试的时候写了个生成文档路径,比如D:/目录下,但是放在项目中能不能让用户自己选择生成的文档路径地址
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Freemarker生成Word文档
Java Web项目中使用Freemarker生成Word文档中office与wps不兼容,打开为xml格式显示
使用freemarker生成的word文档,如何转成标准格式的word?
使用freemarker生成的word文档,如何转成标准格式的word? freemarker生成的word转成PDF后,图片丢失。 所以想到将freemarker生成的xml格式的word转成标准格式的word在转成PDF。 现在不知道怎么将xml格式的word转成标准格式的word。 求帮忙啊!
用freemarker生成word文档,然后我先继续用java操作这个文档,对姓名之类的字段进行操作,有什么办法?
在java中,我先使用freemarker生成了一个word文档在服务器上,然后紧接着我想要用java去操作这个文档,对里面的姓名之类的字段进行变量替换的操作。 我在用freemarker生成的时候,给姓名之类的字段做了${xingming}这类标识,但我不清楚,用freemarker已经生成了word文档,还能继续用java操作这个字段吗?求教
Java中使用freemarker导出word文档 循环生成表格并且表格每行中都自动插入图片
Java中使用freemarker导出word文档 循环生成表格并且表格每行中都自动插入图片 就好像下面的效果,晚上很多例子都是单图片或者每个图片都是分开的,不是循环赋值的, 像下面的效果 ![图片说明](https://img-ask.csdn.net/upload/201907/01/1561946065_612341.png)
使用freemarker生成的xml格式word文档,如何转成标准格式的word?
freemarker生成的word转成PDF后,图片丢失。 所以想到将freemarker生成的xml格式的word转成标准格式的word在转成PDF。 现在不知道怎么将xml格式的word转成标准格式的word。 或者如何将xml格式的word转为标准的word格式 求帮忙啊!谢谢
java 生成word文档并且在线预览的问题
我遇到了这样一个棘手问题,请求各位帮助。 需求:生成有固定格式的word文档(文字报告类型),然后再将该word文档实现在线预览。 我想到的解决办法是先利用freemarker模板生成word(网上盛行),然后再用jodconverter将word转为pdf,然后再用swftools转换pdf为swf,用flexpaper实现在线预览。然后问题出现了,用freemarker生成的word本质是wordml类型的,无法转化为pdf,大家有没有什么好的建议,请不吝赐教。
用freemarker生成word文档,文档打开报错,求高手`
我用freemarker生成word文档,文档打开报错,用UE打开文档后发现文档没有写完,如下: <w:t>文件测试</w:t> </w:r> </w:p> <w:p wsp:rsidR="00BA541E" wsp:rsidRDefault="00BA541E"/> <w:tbl> <w:tblPr> <w:tblW w:w="0" w:type="auto"/> <w:tblBorders> <w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color=" 写到color那就没了,为什么? 这个是java代码: [code="java"]package com.feifei.test; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.ObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; public class CreateWordDemo { private Configuration configuration = null; public CreateWordDemo() { configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); } public void createDoc() { //要填入模本的数据文件 Map dataMap=new HashMap(); getData(dataMap); //设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载, //这里我们的模板是放在com.havenliu.document.template包下面 configuration.setClassForTemplateLoading(this.getClass(), "/com/feifei/test/template"); Template t=null; try { //test.ftl为要装载的模板 t = configuration.getTemplate("test.ftl"); } catch (IOException e) { e.printStackTrace(); } //输出文档路径及名称 File outFile = new File("D:/tmp/outFile.doc"); Writer out = null; try { out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { t.process(dataMap,out,ObjectWrapper.BEANS_WRAPPER); } catch (TemplateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 注意dataMap里存放的数据Key值要与模板中的参数相对应 * @param dataMap */ private void getData(Map dataMap) { dataMap.put("remark", "这是测试备注信息"); List table=new ArrayList(); PersonEntity p1 = new PersonEntity(); p1.setName("yaofeihu"); p1.setXingzuo("tianxie"); table.add(p1); dataMap.put("table", table); } public static void main(String[] args) { CreateWordDemo c = new CreateWordDemo(); c.createDoc(); } } [/code] 下面这个是模板文件 [code="java"]<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?mso-application progid="Word.Document"?> <w:wordDocument xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"> <w:ignoreSubtree w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/> <o:DocumentProperties> <o:Author>feihu yao</o:Author> <o:LastAuthor>feihu yao</o:LastAuthor> <o:Revision>2</o:Revision> <o:TotalTime>1</o:TotalTime> <o:Created>2014-10-22T14:55:00Z</o:Created> <o:LastSaved>2014-10-22T14:55:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>8</o:Words> <o:Characters>46</o:Characters> <o:Company>Hewlett-Packard Company</o:Company> <o:Lines>1</o:Lines> <o:Paragraphs>1</o:Paragraphs> <o:CharactersWithSpaces>53</o:CharactersWithSpaces> <o:Version>12</o:Version> </o:DocumentProperties> <w:fonts> <w:defaultFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> <w:font w:name="Times New Roman"> <w:panose-1 w:val="02020603050405020304"/> <w:charset w:val="00"/> <w:family w:val="Roman"/> <w:pitch w:val="variable"/> <w:sig w:usb-0="E0002EFF" w:usb-1="C0007843" w:usb-2="00000009" w:usb-3="00000000" w:csb-0="000001FF" w:csb-1="00000000"/> </w:font> <w:font w:name="宋体"> <w:altName w:val="SimSun"/> <w:panose-1 w:val="02010600030101010101"/> <w:charset w:val="86"/> <w:family w:val="auto"/> <w:pitch w:val="variable"/> <w:sig w:usb-0="00000003" w:usb-1="288F0000" w:usb-2="00000016" w:usb-3="00000000" w:csb-0="00040001" w:csb-1="00000000"/> </w:font> <w:font w:name="Cambria Math"> <w:panose-1 w:val="02040503050406030204"/> <w:charset w:val="01"/> <w:family w:val="Roman"/> <w:notTrueType/> <w:pitch w:val="variable"/> <w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" w:csb-1="00000000"/> </w:font> <w:font w:name="Calibri"> <w:panose-1 w:val="020F0502020204030204"/> <w:charset w:val="00"/> <w:family w:val="Swiss"/> <w:pitch w:val="variable"/> <w:sig w:usb-0="E00002FF" w:usb-1="4000ACFF" w:usb-2="00000001" w:usb-3="00000000" w:csb-0="0000019F" w:csb-1="00000000"/> </w:font> <w:font w:name="@宋体"> <w:panose-1 w:val="02010600030101010101"/> <w:charset w:val="86"/> <w:family w:val="auto"/> <w:pitch w:val="variable"/> <w:sig w:usb-0="00000003" w:usb-1="288F0000" w:usb-2="00000016" w:usb-3="00000000" w:csb-0="00040001" w:csb-1="00000000"/> </w:font> </w:fonts> <w:styles> <w:versionOfBuiltInStylenames w:val="7"/> <w:latentStyles w:defLockedState="off" w:latentStyleCount="267"> <w:lsdException w:name="Normal"/> <w:lsdException w:name="heading 1"/> <w:lsdException w:name="heading 2"/> <w:lsdException w:name="heading 3"/> <w:lsdException w:name="heading 4"/> <w:lsdException w:name="heading 5"/> <w:lsdException w:name="heading 6"/> <w:lsdException w:name="heading 7"/> <w:lsdException w:name="heading 8"/> <w:lsdException w:name="heading 9"/> <w:lsdException w:name="toc 1"/> <w:lsdException w:name="toc 2"/> <w:lsdException w:name="toc 3"/> <w:lsdException w:name="toc 4"/> <w:lsdException w:name="toc 5"/> <w:lsdException w:name="toc 6"/> <w:lsdException w:name="toc 7"/> <w:lsdException w:name="toc 8"/> <w:lsdException w:name="toc 9"/> <w:lsdException w:name="caption"/> <w:lsdException w:name="Title"/> <w:lsdException w:name="Default Paragraph Font"/> <w:lsdException w:name="Subtitle"/> <w:lsdException w:name="Strong"/> <w:lsdException w:name="Emphasis"/> <w:lsdException w:name="Table Grid"/> <w:lsdException w:name="Placeholder Text"/> <w:lsdException w:name="No Spacing"/> <w:lsdException w:name="Light Shading"/> <w:lsdException w:name="Light List"/> <w:lsdException w:name="Light Grid"/> <w:lsdException w:name="Medium Shading 1"/> <w:lsdException w:name="Medium Shading 2"/> <w:lsdException w:name="Medium List 1"/> <w:lsdException w:name="Medium List 2"/> <w:lsdException w:name="Medium Grid 1"/> <w:lsdException w:name="Medium Grid 2"/> <w:lsdException w:name="Medium Grid 3"/> <w:lsdException w:name="Dark List"/> <w:lsdException w:name="Colorful Shading"/> <w:lsdException w:name="Colorful List"/> <w:lsdException w:name="Colorful Grid"/> <w:lsdException w:name="Light Shading Accent 1"/> <w:lsdException w:name="Light List Accent 1"/> <w:lsdException w:name="Light Grid Accent 1"/> <w:lsdException w:name="Medium Shading 1 Accent 1"/> <w:lsdException w:name="Medium Shading 2 Accent 1"/> <w:lsdException w:name="Medium List 1 Accent 1"/> <w:lsdException w:name="Revision"/> <w:lsdException w:name="List Paragraph"/> <w:lsdException w:name="Quote"/> <w:lsdException w:name="Intense Quote"/> <w:lsdException w:name="Medium List 2 Accent 1"/> <w:lsdException w:name="Medium Grid 1 Accent 1"/> <w:lsdException w:name="Medium Grid 2 Accent 1"/> <w:lsdException w:name="Medium Grid 3 Accent 1"/> <w:lsdException w:name="Dark List Accent 1"/> <w:lsdException w:name="Colorful Shading Accent 1"/> <w:lsdException w:name="Colorful List Accent 1"/> <w:lsdException w:name="Colorful Grid Accent 1"/> <w:lsdException w:name="Light Shading Accent 2"/> <w:lsdException w:name="Light List Accent 2"/> <w:lsdException w:name="Light Grid Accent 2"/> <w:lsdException w:name="Medium Shading 1 Accent 2"/> <w:lsdException w:name="Medium Shading 2 Accent 2"/> <w:lsdException w:name="Medium List 1 Accent 2"/> <w:lsdException w:name="Medium List 2 Accent 2"/> <w:lsdException w:name="Medium Grid 1 Accent 2"/> <w:lsdException w:name="Medium Grid 2 Accent 2"/> <w:lsdException w:name="Medium Grid 3 Accent 2"/> <w:lsdException w:name="Dark List Accent 2"/> <w:lsdException w:name="Colorful Shading Accent 2"/> <w:lsdException w:name="Colorful List Accent 2"/> <w:lsdException w:name="Colorful Grid Accent 2"/> <w:lsdException w:name="Light Shading Accent 3"/> <w:lsdException w:name="Light List Accent 3"/> <w:lsdException w:name="Light Grid Accent 3"/> <w:lsdException w:name="Medium Shading 1 Accent 3"/> <w:lsdException w:name="Medium Shading 2 Accent 3"/> <w:lsdException w:name="Medium List 1 Accent 3"/> <w:lsdException w:name="Medium List 2 Accent 3"/> <w:lsdException w:name="Medium Grid 1 Accent 3"/> <w:lsdException w:name="Medium Grid 2 Accent 3"/> <w:lsdException w:name="Medium Grid 3 Accent 3"/> <w:lsdException w:name="Dark List Accent 3"/> <w:lsdException w:name="Colorful Shading Accent 3"/> <w:lsdException w:name="Colorful List Accent 3"/> <w:lsdException w:name="Colorful Grid Accent 3"/> <w:lsdException w:name="Light Shading Accent 4"/> <w:lsdException w:name="Light List Accent 4"/> <w:lsdException w:name="Light Grid Accent 4"/> <w:lsdException w:name="Medium Shading 1 Accent 4"/> <w:lsdException w:name="Medium Shading 2 Accent 4"/> <w:lsdException w:name="Medium List 1 Accent 4"/> <w:lsdException w:name="Medium List 2 Accent 4"/> <w:lsdException w:name="Medium Grid 1 Accent 4"/> <w:lsdException w:name="Medium Grid 2 Accent 4"/> <w:lsdException w:name="Medium Grid 3 Accent 4"/> <w:lsdException w:name="Dark List Accent 4"/> <w:lsdException w:name="Colorful Shading Accent 4"/> <w:lsdException w:name="Colorful List Accent 4"/> <w:lsdException w:name="Colorful Grid Accent 4"/> <w:lsdException w:name="Light Shading Accent 5"/> <w:lsdException w:name="Light List Accent 5"/> <w:lsdException w:name="Light Grid Accent 5"/> <w:lsdException w:name="Medium Shading 1 Accent 5"/> <w:lsdException w:name="Medium Shading 2 Accent 5"/> <w:lsdException w:name="Medium List 1 Accent 5"/> <w:lsdException w:name="Medium List 2 Accent 5"/> <w:lsdException w:name="Medium Grid 1 Accent 5"/> <w:lsdException w:name="Medium Grid 2 Accent 5"/> <w:lsdException w:name="Medium Grid 3 Accent 5"/> <w:lsdException w:name="Dark List Accent 5"/> <w:lsdException w:name="Colorful Shading Accent 5"/> <w:lsdException w:name="Colorful List Accent 5"/> <w:lsdException w:name="Colorful Grid Accent 5"/> <w:lsdException w:name="Light Shading Accent 6"/> <w:lsdException w:name="Light List Accent 6"/> <w:lsdException w:name="Light Grid Accent 6"/> <w:lsdException w:name="Medium Shading 1 Accent 6"/> <w:lsdException w:name="Medium Shading 2 Accent 6"/> <w:lsdException w:name="Medium List 1 Accent 6"/> <w:lsdException w:name="Medium List 2 Accent 6"/> <w:lsdException w:name="Medium Grid 1 Accent 6"/> <w:lsdException w:name="Medium Grid 2 Accent 6"/> <w:lsdException w:name="Medium Grid 3 Accent 6"/> <w:lsdException w:name="Dark List Accent 6"/> <w:lsdException w:name="Colorful Shading Accent 6"/> <w:lsdException w:name="Colorful List Accent 6"/> <w:lsdException w:name="Colorful Grid Accent 6"/> <w:lsdException w:name="Subtle Emphasis"/> <w:lsdException w:name="Intense Emphasis"/> <w:lsdException w:name="Subtle Reference"/> <w:lsdException w:name="Intense Reference"/> <w:lsdException w:name="Book Title"/> <w:lsdException w:name="Bibliography"/> <w:lsdException w:name="TOC Heading"/> </w:latentStyles> <w:style w:type="paragraph" w:default="on" w:styleId="a"> <w:name w:val="Normal"/> <wx:uiName wx:val="正文"/> <w:rsid w:val="00061BCE"/> <w:pPr> <w:widowControl w:val="off"/> <w:jc w:val="both"/> </w:pPr> <w:rPr> <wx:font wx:val="Calibri"/> <w:kern w:val="2"/> <w:sz w:val="21"/> <w:sz-cs w:val="22"/> <w:lang w:val="EN-US" w:fareast="ZH-CN" w:bidi="AR-SA"/> </w:rPr> </w:style> <w:style w:type="character" w:default="on" w:styleId="a0"> <w:name w:val="Default Paragraph Font"/> <wx:uiName wx:val="默认段落字体"/> </w:style> <w:style w:type="table" w:default="on" w:styleId="a1"> <w:name w:val="Normal Table"/> <wx:uiName wx:val="普通表格"/> <w:rPr> <wx:font wx:val="Calibri"/> <w:lang w:val="EN-US" w:fareast="ZH-CN" w:bidi="AR-SA"/> </w:rPr> <w:tblPr> <w:tblInd w:w="0" w:type="dxa"/> <w:tblCellMar> <w:top w:w="0" w:type="dxa"/> <w:left w:w="108" w:type="dxa"/> <w:bottom w:w="0" w:type="dxa"/> <w:right w:w="108" w:type="dxa"/> </w:tblCellMar> </w:tblPr> </w:style> <w:style w:type="list" w:default="on" w:styleId="a2"> <w:name w:val="No List"/> <wx:uiName wx:val="无列表"/> </w:style> <w:style w:type="paragraph" w:styleId="a3"> <w:name w:val="header"/> <wx:uiName wx:val="页眉"/> <w:basedOn w:val="a"/> <w:link w:val="Char"/> <w:rsid w:val="00BA541E"/> <w:pPr> <w:pBdr> <w:bottom w:val="single" w:sz="6" wx:bdrwidth="15" w:space="1" w:color="auto"/> </w:pBdr> <w:tabs> <w:tab w:val="center" w:pos="4153"/> <w:tab w:val="right" w:pos="8306"/> </w:tabs> <w:snapToGrid w:val="off"/> <w:jc w:val="center"/> </w:pPr> <w:rPr> <wx:font wx:val="Calibri"/> <w:sz w:val="18"/> <w:sz-cs w:val="18"/> </w:rPr> </w:style> <w:style w:type="character" w:styleId="Char"> <w:name w:val="页眉 Char"/> <w:basedOn w:val="a0"/> <w:link w:val="a3"/> <w:rsid w:val="00BA541E"/> <w:rPr> <w:sz w:val="18"/> <w:sz-cs w:val="18"/> </w:rPr> </w:style> <w:style w:type="paragraph" w:styleId="a4"> <w:name w:val="footer"/> <wx:uiName wx:val="页脚"/> <w:basedOn w:val="a"/> <w:link w:val="Char0"/> <w:rsid w:val="00BA541E"/> <w:pPr> <w:tabs> <w:tab w:val="center" w:pos="4153"/> <w:tab w:val="right" w:pos="8306"/> </w:tabs> <w:snapToGrid w:val="off"/> <w:jc w:val="left"/> </w:pPr> <w:rPr> <wx:font wx:val="Calibri"/> <w:sz w:val="18"/> <w:sz-cs w:val="18"/> </w:rPr> </w:style> <w:style w:type="character" w:styleId="Char0"> <w:name w:val="页脚 Char"/> <w:basedOn w:val="a0"/> <w:link w:val="a4"/> <w:rsid w:val="00BA541E"/> <w:rPr> <w:sz w:val="18"/> <w:sz-cs w:val="18"/> </w:rPr> </w:style> <w:style w:type="table" w:styleId="a5"> <w:name w:val="Table Grid"/> <wx:uiName wx:val="网格型"/> <w:basedOn w:val="a1"/> <w:rsid w:val="00BA541E"/> <w:rPr> <wx:font wx:val="Calibri"/> </w:rPr> <w:tblPr> <w:tblInd w:w="0" w:type="dxa"/> <w:tblBorders> <w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> </w:tblBorders> <w:tblCellMar> <w:top w:w="0" w:type="dxa"/> <w:left w:w="108" w:type="dxa"/> <w:bottom w:w="0" w:type="dxa"/> <w:right w:w="108" w:type="dxa"/> </w:tblCellMar> </w:tblPr> </w:style> </w:styles> <w:shapeDefaults> <o:shapedefaults v:ext="edit" spidmax="5122"/> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="2"/> </o:shapelayout> </w:shapeDefaults> <w:docPr> <w:view w:val="print"/> <w:zoom w:percent="100"/> <w:doNotEmbedSystemFonts/> <w:bordersDontSurroundHeader/> <w:bordersDontSurroundFooter/> <w:defaultTabStop w:val="420"/> <w:drawingGridVerticalSpacing w:val="156"/> <w:displayHorizontalDrawingGridEvery w:val="0"/> <w:displayVerticalDrawingGridEvery w:val="2"/> <w:punctuationKerning/> <w:characterSpacingControl w:val="CompressPunctuation"/> <w:optimizeForBrowser/> <w:validateAgainstSchema/> <w:saveInvalidXML w:val="off"/> <w:ignoreMixedContent w:val="off"/> <w:alwaysShowPlaceholderText w:val="off"/> <w:hdrShapeDefaults> <o:shapedefaults v:ext="edit" spidmax="5122"/> </w:hdrShapeDefaults> <w:footnotePr> <w:footnote w:type="separator"> <w:p wsp:rsidR="00F26BE9" wsp:rsidRDefault="00F26BE9" wsp:rsidP="00BA541E"> <w:r> <w:separator/> </w:r> </w:p> </w:footnote> <w:footnote w:type="continuation-separator"> <w:p wsp:rsidR="00F26BE9" wsp:rsidRDefault="00F26BE9" wsp:rsidP="00BA541E"> <w:r> <w:continuationSeparator/> </w:r> </w:p> </w:footnote> </w:footnotePr> <w:endnotePr> <w:endnote w:type="separator"> <w:p wsp:rsidR="00F26BE9" wsp:rsidRDefault="00F26BE9" wsp:rsidP="00BA541E"> <w:r> <w:separator/> </w:r> </w:p> </w:endnote> <w:endnote w:type="continuation-separator"> <w:p wsp:rsidR="00F26BE9" wsp:rsidRDefault="00F26BE9" wsp:rsidP="00BA541E"> <w:r> <w:continuationSeparator/> </w:r> </w:p> </w:endnote> </w:endnotePr> <w:compat> <w:spaceForUL/> <w:balanceSingleByteDoubleByteWidth/> <w:doNotLeaveBackslashAlone/> <w:ulTrailSpace/> <w:doNotExpandShiftReturn/> <w:adjustLineHeightInTable/> <w:breakWrappedTables/> <w:snapToGridInCell/> <w:wrapTextWithPunct/> <w:useAsianBreakRules/> <w:dontGrowAutofit/> <w:useFELayout/> </w:compat> <wsp:rsids> <wsp:rsidRoot wsp:val="00BA541E"/> <wsp:rsid wsp:val="00061BCE"/> <wsp:rsid wsp:val="007560D8"/> <wsp:rsid wsp:val="00A46D99"/> <wsp:rsid wsp:val="00BA28D3"/> <wsp:rsid wsp:val="00BA541E"/> <wsp:rsid wsp:val="00E31877"/> <wsp:rsid wsp:val="00F26BE9"/> </wsp:rsids> </w:docPr> <w:body> <w:p wsp:rsidR="00061BCE" wsp:rsidRDefault="00BA541E"> <w:r> <w:rPr> <wx:font wx:val="宋体"/> </w:rPr> <w:t>中国银行新一代印鉴管理系统</w:t> </w:r> </w:p> <w:p wsp:rsidR="00BA541E" wsp:rsidRDefault="00BA541E"/> <w:p wsp:rsidR="00BA541E" wsp:rsidRDefault="00BA541E"> <w:r> <w:rPr> <w:rFonts w:hint="fareast"/> </w:rPr> <w:t>java</w:t> </w:r> <w:r> <w:rPr> <w:rFonts w:hint="fareast"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>生成</w:t> </w:r> <w:r> <w:rPr> <w:rFonts w:hint="fareast"/> </w:rPr> <w:t>word</w:t> </w:r> <w:r> <w:rPr> <w:rFonts w:hint="fareast"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>文件测试</w:t> </w:r> </w:p> <w:p wsp:rsidR="00BA541E" wsp:rsidRDefault="00BA541E"/> <w:tbl> <w:tblPr> <w:tblW w:w="0" w:type="auto"/> <w:tblBorders> <w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> <w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/> </w:tblBorders> <w:tblLook w:val="04A0"/> </w:tblPr> <w:tblGrid> <w:gridCol w:w="4261"/> <w:gridCol w:w="4261"/> </w:tblGrid> <w:tr wsp:rsidR="00BA541E" wsp:rsidRPr="007560D8" wsp:rsidTr="007560D8"> <w:tc> <w:tcPr> <w:tcW w:w="4261" w:type="dxa"/> </w:tcPr> <w:p wsp:rsidR="00BA541E" wsp:rsidRPr="007560D8" wsp:rsidRDefault="00BA541E"> <w:pPr> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> </w:rPr> </w:pPr> <w:r wsp:rsidRPr="007560D8"> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>姓名</w:t> </w:r> </w:p> </w:tc> <w:tc> <w:tcPr> <w:tcW w:w="4261" w:type="dxa"/> </w:tcPr> <w:p wsp:rsidR="00BA541E" wsp:rsidRPr="007560D8" wsp:rsidRDefault="00BA541E"> <w:pPr> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> </w:rPr> </w:pPr> <w:r wsp:rsidRPr="007560D8"> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>星座</w:t> </w:r> </w:p> </w:tc> </w:tr> <#list table as person> <w:tr wsp:rsidR="00BA541E" wsp:rsidRPr="007560D8" wsp:rsidTr="007560D8"> <w:tc> <w:tcPr> <w:tcW w:w="4261" w:type="dxa"/> </w:tcPr> <w:p wsp:rsidR="00BA541E" wsp:rsidRPr="007560D8" wsp:rsidRDefault="00E31877"> <w:pPr> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> </w:rPr> </w:pPr> <w:r wsp:rsidRPr="007560D8"> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman" w:hint="fareast"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>${person.name}</w:t> </w:r> </w:p> </w:tc> <w:tc> <w:tcPr> <w:tcW w:w="4261" w:type="dxa"/> </w:tcPr> <w:p wsp:rsidR="00BA541E" wsp:rsidRPr="007560D8" wsp:rsidRDefault="00E31877"> <w:pPr> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> </w:rPr> </w:pPr> <w:r wsp:rsidRPr="007560D8"> <w:rPr> <w:rFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>${person.xingzuo}</w:t> </w:r> </w:p> </w:tc> </w:tr> </#list> </w:tbl> <w:p wsp:rsidR="00BA541E" wsp:rsidRDefault="00BA541E"/> <w:p wsp:rsidR="00A46D99" wsp:rsidRDefault="00A46D99"> <w:r> <w:rPr> <w:rFonts w:hint="fareast"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>备注:</w:t> </w:r> <w:r wsp:rsidR="00E31877"> <w:rPr> <w:rFonts w:hint="fareast"/> <wx:font wx:val="宋体"/> </w:rPr> <w:t>${remark}</w:t> </w:r> <w:r wsp:rsidR="00E31877"> <w:rPr> <w:rFonts w:hint="fareast"/> </w:rPr> <w:t>1</w:t> </w:r> </w:p> <w:sectPr wsp:rsidR="00A46D99" wsp:rsidSect="00061BCE"> <w:pgSz w:w="11906" w:h="16838"/> <w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992" w:gutter="0"/> <w:cols w:space="425"/> <w:docGrid w:type="lines" w:line-pitch="312"/> </w:sectPr> </w:body> </w:wordDocument>[/code]
为什么我用freemarker导出word文档,导出的里面全是ftl文字内容,而不是正确的格式呢?找了好久了都没找出来问题。。。
java代码: ``` import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateExceptionHandler; import lombok.extern.slf4j.Slf4j; import sun.misc.BASE64Encoder; import java.io.*; import java.util.*; @Slf4j public class WordReporter { private static final String ENCODING = "UTF-8"; private static Configuration cfg = new Configuration(); //初始化cfg static { //设置模板所在文件夹 try { cfg.setDirectoryForTemplateLoading(new File("D:/")); } catch (IOException e) { e.printStackTrace(); } // setEncoding这个方法一定要设置国家及其编码,不然在ftl中的中文在生成html后会变成乱码 cfg.setEncoding(Locale.getDefault(), ENCODING); // 设置对象的包装器 cfg.setObjectWrapper(new DefaultObjectWrapper()); // 设置异常处理器,这样的话就可以${a.b.c.d}即使没有属性也不会出错 cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER); } //获取模板对象 public static Template getTemplate(String templateFileName) throws IOException { return cfg.getTemplate(templateFileName, ENCODING); } /** * 据数据及模板生成文件 * @param data Map的数据结果集 * @param templateFileName ftl模版文件名 * @param outFilePath 生成文件名称(可带路径) */ public static File crateFile(Map<String, Object> data, String templateFileName, String outFilePath) { Writer out = null; File outFile = new File(outFilePath); try { // 获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致 Template template = getTemplate(templateFileName); if (!outFile.getParentFile().exists()) { outFile.getParentFile().mkdirs(); } out = new OutputStreamWriter(new FileOutputStream(outFile), ENCODING); // 处理模版 template.process(data, out); out.flush(); log.info("由模板文件" + templateFileName + "生成" + outFilePath + "成功."); } catch (Exception e) { log.error("由模板文件" + templateFileName + "生成" + outFilePath + "出错"); e.printStackTrace(); } finally { try { if (out != null) { out.close(); } } catch (IOException e) { log.error("关闭Write对象出错", e); e.printStackTrace(); } } return outFile; } public static void main(String[] args) { try { Map<String, Object> data = new HashMap<String, Object>(); List<Map<String, String>> newsList = new ArrayList<Map<String, String>>(); for(int i=1;i<=5;i++){ Map<String, String> map=new HashMap<String, String>(); map.put("stName", "字段姓名"+i); newsList.add(map); } data.put("list",newsList); crateFile(data, "a.ftl", "D:/aaa.docx"); } catch (Exception e) { e.printStackTrace(); } } } ``` ftl文件内容: ``` <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" xmlns:wpsCustomData="http://www.wps.cn/officeDocument/2013/wpsCustomData" mc:Ignorable="w14 w15 wp14"> <w:body> <#list list as data> <w:tbl> <w:tblPr> <w:tblStyle w:val="4"/> <w:tblW w:w="0" w:type="auto"/> <w:tblInd w:w="0" w:type="dxa"/> <w:tblBorders> <w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/> </w:tblBorders> <w:tblLayout w:type="autofit"/> <w:tblCellMar> <w:left w:w="108" w:type="dxa"/> <w:right w:w="108" w:type="dxa"/> </w:tblCellMar> </w:tblPr> <w:tblGrid> <w:gridCol w:w="2840"/> <w:gridCol w:w="2841"/> <w:gridCol w:w="2841"/> </w:tblGrid> <w:tr> <w:tblPrEx> <w:tblBorders> <w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/> <w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/> </w:tblBorders> <w:tblCellMar> <w:left w:w="108" w:type="dxa"/> <w:right w:w="108" w:type="dxa"/> </w:tblCellMar> </w:tblPrEx> <w:tc> <w:tcPr> <w:tcW w:w="2840" w:type="dxa"/> </w:tcPr> <w:p> <w:pPr> <w:rPr> <w:rFonts w:hint="eastAsia" w:eastAsiaTheme="minorEastAsia"/> <w:vertAlign w:val="baseline"/> <w:lang w:val="en-US" w:eastAsia="zh-CN"/> </w:rPr> </w:pPr> <w:r> <w:rPr> <w:rFonts w:hint="eastAsia"/> <w:vertAlign w:val="baseline"/> <w:lang w:val="en-US" w:eastAsia="zh-CN"/> </w:rPr> <w:t>1</w:t> </w:r> </w:p> </w:tc> <w:tc> <w:tcPr> <w:tcW w:w="2841" w:type="dxa"/> </w:tcPr> <w:p> <w:pPr> <w:rPr> <w:rFonts w:hint="eastAsia" w:eastAsiaTheme="minorEastAsia"/> <w:vertAlign w:val="baseline"/> <w:lang w:val="en-US" w:eastAsia="zh-CN"/> </w:rPr> </w:pPr> <w:r> <w:rPr> <w:rFonts w:hint="eastAsia"/> <w:vertAlign w:val="baseline"/> <w:lang w:val="en-US" w:eastAsia="zh-CN"/> </w:rPr> <w:t>1</w:t> </w:r> </w:p> </w:tc> <w:tc> <w:tcPr> <w:tcW w:w="2841" w:type="dxa"/> </w:tcPr> <w:p> <w:pPr> <w:rPr> <w:rFonts w:hint="default" w:eastAsiaTheme="minorEastAsia"/> <w:vertAlign w:val="baseline"/> <w:lang w:val="en-US" w:eastAsia="zh-CN"/> </w:rPr> </w:pPr> <w:r> <w:rPr> <w:rFonts w:hint="eastAsia"/> <w:vertAlign w:val="baseline"/> <w:lang w:val="en-US" w:eastAsia="zh-CN"/> </w:rPr> <w:t>${data.stName}</w:t> </w:r> </w:p> </w:tc> </w:tr> </w:tbl> </#list> <w:p> <w:bookmarkStart w:id="0" w:name="_GoBack"/> <w:bookmarkEnd w:id="0"/> </w:p> <w:sectPr> <w:pgSz w:w="11906" w:h="16838"/> <w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992" w:gutter="0"/> <w:cols w:space="425" w:num="1"/> <w:docGrid w:type="lines" w:linePitch="312" w:charSpace="0"/> </w:sectPr> </w:body> </w:document> ``` ![图片说明](https://img-ask.csdn.net/upload/201912/11/1576078986_743908.png) 导出的文件里面全是ftl文件里的文字内容
java 将xml格式word转成标准格式 !非常急!
最近使用freemarker制作word模版,写入数据后生成的word有个问题, 生成的word用电脑可以打开,但是用手机就会出错,查了下是因为我生成的word 是根据xml格式生成的,手机端不支持识别,标准的word格式放到notepad里是乱码, xml格式生成的doc拖进去显示的是xml格式,所以我想请问有没有方法可以把xml格式的 doc文档转换成标准格式!
悬赏20:给java.class文件添加一个可以随时修改参数的前端
package service; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Properties; import servlet.FreeMarkServlet; import sun.misc.BASE64Encoder; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; /** * 使用freemark生成word * @author stormwy */ public class Freemark { public static void main(String[] args){ Freemark freemark = new Freemark("/template"); // freemark.setTemplateName("wordTemplate.ftl"); freemark.setTemplateName("word1.ftl"); freemark.setFileName("word6"+".docx"); freemark.setFilePath("WebContent/resources/"); freemark.createWord(); } public void createWord(){ Template t = null; try { t = configuration.getTemplate(templateName); } catch (IOException e) { e.printStackTrace(); } File outFile = new File(filePath+fileName); Writer out = null; try { out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } // FreeMarkServlet pro = new FreeMarkServlet(); Map<String, Object> map = new HashMap<String, Object>(); map.put("date1", bianxieren); map.put("date2", shenpiren); map.put("date3", bianxie); map.put("date4", shenpi); /* map.put("image", getImageStr()); map.put("SEX", "男"); map.put("BIRTH", "1987-08"); map.put("ZZMM", "党员"); */ try { t.process(map, out); out.close(); } catch (TemplateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * freemark初始化 * @param templatePath 模板文件位置 */ public Freemark(String templatePath) { configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); configuration.setClassForTemplateLoading(this.getClass(),templatePath); } //插入图片 /*private String getImageStr() { String imgFile = "D:/hanmanyi/pic/111.jpg"; InputStream in = null; byte[] data = null; try { in = new FileInputStream(imgFile); data = new byte[in.available()]; in.read(data); in.close(); } catch (IOException e) { e.printStackTrace(); } BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data); }*/ /** * freemark模板配置 */ private Configuration configuration; /** * freemark模板的名字 */ private String templateName; /** * 生成文件名 */ private String fileName; /** * 生成文件路径 */ private String filePath; public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String getFilePath() { return filePath; } public void setFilePath(String filePath) { this.filePath = filePath; } public String getTemplateName() { return templateName; } public void setTemplateName(String templateName) { this.templateName = templateName; } } ![图片说明](https://img-ask.csdn.net/upload/201805/03/1525316592_104858.png)这块是要修改的参数 那个freeMark是一个自己可以运行的的文件,他的功能是可以修改一部分参数,生成一个word文档,但是修改参数的时候必须在文件里修改,所以我就想能不能通过页面输入值给它修改 我自己弄个了简单的前台,我想用前台把值传给这个freeMark,请教了别人,说需要通过servlet,我吧值能传给servlet,但是死活不会从servlet吧值传给freeMark.java了
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
MyBatis研习录(01)——MyBatis概述与入门
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis原本是apache的一个开源项目iBatis, 2010年该项目由apache software foundation 迁移到了google code并改名为MyBatis 。2013年11月MyBatis又迁移到Github。
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
Python爬虫精简步骤1 获取数据
爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。 爬虫能做很多事,能做商业分析,也能做生活助手,比如:分析北京近两年二手房成交均价是多少?广州的Python工程师平均薪资是多少?北京哪家餐厅粤菜最好吃?等等。 这是个人利用爬虫所做到的事情,而公司,同样可以利用爬虫来实现巨大的商业价值。比如你所熟悉的搜索引擎——百度和谷歌,它们的核心技术之一也是爬虫,而且是超级爬虫。 从搜索巨头到人工...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
web前端javascript+jquery知识点总结
1.Javascript 语法.用途 javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
渗透测试-灰鸽子远控木马
木马概述 灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表述、随意更换端口、运行后自删除、毫无提示安装等,并采用反弹链接这种缺陷设计,使得使用者拥有最高权限,一经破解即无法控制。最终导致被黑客恶意使用。原作者的灰鸽子被定义为是一款集多种控制方式于一体的木马程序...
Python:爬取疫情每日数据
前言 目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。 以全国、湖北和上海为例,分别为以下三个网站: 国家卫健委官网:http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml 湖北卫健委官网:http://wjw.hubei.gov.cn/bmdt/ztzl/fkxxgzbdgrfyyq/xxfb...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允许使用这...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧???? 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升自...
粒子群算法求解物流配送路线问题(python)
1.Matlab实现粒子群算法的程序代码:https://www.cnblogs.com/kexinxin/p/9858664.html matlab代码求解函数最优值:https://blog.csdn.net/zyqblog/article/details/80829043 讲解通俗易懂,有数学实例的博文:https://blog.csdn.net/daaikuaichuan/article/...
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang....
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
情人节来了,教你个用 Python 表白的技巧
作者:@明哥 公众号:Python编程时光 2020年,这个看起来如此浪漫的年份,你还是一个人吗? 难不成我还能是一条狗? 18年的时候,写过一篇介绍如何使用 Python 来表白的文章。 虽然创意和使用效果都不错,但有一缺点,这是那个exe文件,女神需要打开电脑,才有可能参与进来,进而被你成功"调戏”。 由于是很早期的文章了,应该有很多人没有看过。 没有看过的,你可以点击这里查看:用Pyt...
用Python开发实用程序 – 计算器
作者:隋顺意 一段时间前,自己制作了一个库 “sui-math”。这其实是math的翻版。做完后,python既然可以轻易的完成任何的数学计算,何不用python开发一个小程序专门用以计算呢? 现在我们越来越依赖于计算器,很多复杂的计算都离不开它。我们使用过各式各样的计算器,无论是电脑自带的,还是网也上的计算器,却都没有自己动手编写属于自己计算器。今天就让我们走进计算器的世界,用python来编写...
经典算法(19)教你两分钟学会【选择排序】
这篇博客使用图文并茂的方式讲解选择排序算法,并有完整的算法逻辑以及代码实现。
Python学习笔记(语法篇)
本篇博客大部分内容摘自埃里克·马瑟斯所著的《Python编程:从入门到实战》(入门类书籍),采用举例的方式进行知识点提要 关于Python学习书籍推荐文章 《学习Python必备的8本书》 Python语法特点: 通过缩进进行语句组织 不需要变量或参数的声明 冒号 1 变量和简单数据结构 1.1 变量命名 只能包含字母、数字和下划线,且不能以数字打头。 1.2 字符串 在Python中,用引号...
用Python打造你的专属情人节贺卡,赶快发给TA浪漫一下吧
明天就是情人节了。这个情人节,注定是一个不能约会的情人节,但不能约会不代表不能浪漫。古人比我们出生早,那些浪漫的诗词早都被他们挖掘一空,比诗词我们肯定没有机会了。好在我们还有Python,不然都不知道该如何表达浪漫。接下来,浪导教你制作一个浪漫的情人节专属贺卡。
Python绘图与可视化
文章目录使用的库Matplotlib程序包绘图命令的扩展及其属性设置 使用的库 Python有很多可视化工具,如:Matplotlib。 Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在Python脚本、IPython的交互环境下、Web应用程序中使用。如果结合使用一种GUI工具包(如IPython),Matplotlib还具有诸如缩放和平移等交互功能。它不仅支持各...
计算机考研经验总结
计算机考研指导建议背景开始备考时间学校选择复习计划学科复习考研资料和平台心得杂杂答疑 背景     我是广东双非本科计算机类专业,大一高数没学好,英语在大四最后一次考试里过了6级,专业课掌握情况尚好。选择报考暨南大学,因为它的专业课那年只考一门数据结构,而我数据结构学的还不错,不用在专业课上花很多的时间。暨南大学和华师是广东省内仅有的两所211高校,而听说华师学校稍老,环境没有暨大好。 开始备考时...
MySQL表的增删查改(提高篇)
MySQL表的增删查改(基本篇) 接上一篇MySQL表基本的增删查改,下面看一下提高篇: 一、数据库约束 1、约束类型 NOT NULL:不为空约束。创建表时,可以指定某列不为空 UNIQUE :唯一约束。指定某列为唯一的、不重复的 DEFAULT :默认值约束。指定插入数据时,某列为空,设置默认值 PRIMARY KEY : 主键约束。NOT NULL 和 UNIQUE 的结合。确保某列(或两个...
Java实现 LeetCode 35 搜索插入位置
35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出:...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问

相似问题

3
SpringBoot+FreeMarker 国际化这么切换语言?
1
【急!】java访问hbase出错,无明显异常,无法读取对应表的信息(需求就是从Hbase之中的某张表读取信息)
4
Freemarker 如何做位运算
2
main函数创建Configuration() 没有问题,在controller上执行就报错
0
Freemarker模板内如何使用layUI写多视频上传?最好有源码。研究两天了。纯小白
2
哪位大神知道富文本编辑器内容(带图片)导出为word有什么好的解决方案吗。
1
freemarker能生成复杂形式的excel,我想同时也生成图片
1
FreeMarker页面静态化
0
freemarker如何通过一个变量取对象的属性值?
0
spring mvc +freemarker+html 插值没有用
0
freemarker导出word 图片显示异常
1
使用freemarker生成的xml格式word文档,如何转成标准格式的word?
3
springboot启动失败,报端口被占用
2
Springboot突然无法加载模板文件了,返回字符串就不会报错。那个大神帮小弟看看
1
用freemarker生成word文档,然后我先继续用java操作这个文档,对姓名之类的字段进行操作,有什么办法?
3
Java中使用freemarker导出word文档 循环生成表格并且表格每行中都自动插入图片
3
freemarker 怎么判断对象为空(注意是为空,?? 这个是判断不为空)
5
freemarker生成了word 如何转换PDF
0
freeMarker模板中的buildNode是什么作用?
1
springboot freemarker 国际化只显示中文,点击英文切换不起作用?