当前位置: 首页 > news >正文

鄂州第一网官方网站wordpress 二维码登录

鄂州第一网官方网站,wordpress 二维码登录,酒店类的电影网站模板,网站文章编辑器代码背景#xff1a;根据word模板下载word。word里面需要填充数据#xff0c;格式是固定的。首先在word中给数据起个变量名称 需要更换的数据改成${变量名!}#xff0c;必须是英文的#xff0c;加感叹号是为了防止null#xff0c;如果数据是null#xff0c;文档下载下来后会直…背景根据word模板下载word。word里面需要填充数据格式是固定的。首先在word中给数据起个变量名称 需要更换的数据改成${变量名!}必须是英文的加感叹号是为了防止null如果数据是null文档下载下来后会直接显示null加上感叹号就不会没数据就是空。也可以不加感叹号在代码设置下属性即可后面会说到。变量名结束后把word另存为xml 然后复制到项目中我用的是idea打开后会发现就几行后面老长了 然后format下ctrlaltL快捷键仅供参考本人是这样的就会 这些红色不影响不用管它。在文件中搜索${被搜到的都是起变量的地方有的地方是会分离的 这就需要手动帮他们破镜重圆了剪切下即可 这种应该比较多手动改下就行。改完后保存改为.ftl文件。下面是代码 import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi.xwpf.usermodel.XWPFTableCell; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ClassPathResource; import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*;import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException;import java.io.*; import java.util.Map;public class ExportController {public void download(WeeklyTask weeklyTask, HttpServletResponse response) {try {//加入模板的数据MapString, Object data new HashMap();data.put(key, value);String outFileName 测试.docx;//模板相对路径String path Thread.currentThread().getContextClassLoader().getResource().getPath();path path templates/;//linuxif (/.equals(File.separator)) {path path.replaceAll(\\\\, /);}File outFile createDoc(data, outFileName, path, 模板.ftl);if (null ! outFile) {response.reset();response.setHeader(content-disposition, attachment;filename URLEncoder.encode(outFile.getName(), UTF-8));//获取文件输入流InputStream in new FileInputStream(outFile);byte[] buffer new byte[1024];OutputStream out response.getOutputStream();int len 0;while ((len in.read(buffer)) 0) {//将缓冲区的数据输出到客户端浏览器out.write(buffer, 0, len);}in.close();out.close();}} catch (Exception e) {e.printStackTrace();}}public static File createDoc(MapString, Object dataMap, String outFileName, String templatePath, String templateFileName) throws IOException {//设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servletclasspath数据库装载Configuration configuration new Configuration();//设置null转为空串configuration.setClassicCompatible(true);configuration.setDefaultEncoding(UTF-8);configuration.setDirectoryForTemplateLoading(new File(templatePath));Template t null;try {//test.ftl为要装载的模板t configuration.getTemplate(templateFileName, UTF-8);t.setOutputEncoding(UTF-8);} catch (IOException e) {e.printStackTrace();}//输出文档路径及名称File outFile new File(outFileName);if (!outFile.exists()) {outFile.createNewFile();}Writer out null;FileOutputStream fos null;try {fos new FileOutputStream(outFile);OutputStreamWriter oWriter new OutputStreamWriter(fos, UTF-8);//这个地方对流的编码不可或缺使用main单独调用时应该可以但是如果是web请求导出时导出后word文档就会打不开并且包XML文件错误。主要是编码格式不正确无法解析。// out new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));out new BufferedWriter(oWriter);} catch (FileNotFoundException e1) {e1.printStackTrace();}try {t.process(dataMap, out);out.close();fos.close();return outFile;} catch (TemplateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return null;} }我的模板文件放在 下我是springBoot前后端分离的maven。获取模板路径视情况而定。 //设置null转为空串 configuration.setClassicCompatible(true);这个设置下就可以不加感叹号了。然后模板获取数据是根据你起的变量名称和Map的key对应来获取值的即使模板里面的变量名称加了感叹号key也不用加感叹号。然后就可以下载了。如果下载后发现有错位现象多了空格或者换行比如这种 下载的文件前面肯定多了很多空格或者回车把多余的删除即可 还有是循环塞数据的map要put成 ListMapString, String list new ArrayList(); MapString, String m new HashMap(); m.put(“anzlsz01”,value); list .add(m); data.put(“TABLE1”, list);模板要这样
http://www.yutouwan.com/news/340278/

相关文章:

  • 云网站后台招聘网站页面设计图片
  • 在建立网站站点的过程中wordpress安装插件失败
  • 宁波制作网站哪个好光泽网站建设
  • 网站建设600元全包佛山市企业网站建设报价
  • 网站项目意义网站开发 业务流程图
  • 怎么给网站做支付接口昆明网站设计公司哪家好
  • 手机站电影如何制作一个自己的网站?
  • 网页主要由三部分组成宁波关键词优化企业网站建设
  • 企业微信平台株洲关键词seo优化服务商
  • 地产网站建设方案网页制作接单
  • 广州网站开发系统丽水开发区建设局网站廉租房
  • 外贸网站高端定做怎么制作软件程序
  • 成都建设网站公司简介教人做衣服得网站有哪些
  • 百度网站官网app定制排名
  • 域名打不开原来的网站wordpress两个站点
  • 网站开发技术汇总建宣传网站
  • 不要验证码的广告网站怎么创建网站充值和提现账号
  • 建设银行手机短信网站怎么开通百度网络营销中心
  • vs 2015可以做网站吗wordpress外链批量保存本地
  • 阜阳微商城网站建设电子商务网站建设的开发背景
  • 通过ip直连打开网站要怎么做网站建设设计文档模板
  • excel表如何做网站连接常熟沿江开发区人才网
  • 上传文件的网站wordpress写的网站
  • 人工智能网站应怎么做wordpress添加订阅教程
  • 服装企业北京网站建设ui培训设计怎么样
  • 建立网站 要怎么做网站公司是做什么的
  • 重庆做网站费用7154电商平台官网
  • 网站建设产品上海免费推广网站有哪些
  • 小程序 手机网站足球比赛直播平台app
  • 公司建设网站方案男女做羞羞的视频网站