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

网站一条龙服务阿里云wordpress优化

网站一条龙服务,阿里云wordpress优化,wordpress做成微信小程序,沈阳中小企业网站制作背景 在使用easyexcel导出时#xff0c;如果遇到一个模板中同时存在 一部分是实体类中的字段#xff0c;另外部分是列表的字段#xff0c;需要特殊处理一下#xff0c;比如下面的模板#xff1a; 这里面 user#xff0c; addr 是实体类#xff08;或者map#xff09…背景 在使用easyexcel导出时如果遇到一个模板中同时存在 一部分是实体类中的字段另外部分是列表的字段需要特殊处理一下比如下面的模板 这里面 user addr 是实体类或者mapextra是一个字符串datadata1是两组列表数据。 准备数据的代码如下 private static MapString, Object getParams() {// 准备导出的数据User user new User();user.setName(user);MapString, Object addr new HashMap();addr.put(name, addr);String extra extra;ListData dataList new ArrayList();for (int i 0; i 10; i) {Data data new Data();data.setName(data i);data.setAge(i);dataList.add(data);}MapString, Object params HashMap.newHashMap(16);params.put(user, user);params.put(addr, addr);params.put(extra, extra);params.put(data, dataList);params.put(data1, dataList);return params;}问题 我们一开始的想法很简单直接把这些参数打包丢到map里面直接fill一次不就成功了但是实际上并没有成功,导出代码如下 var params getParams(); String templateFileName D:\\test.xlsx;String fileName D:\\test-res.xlsx; try (ExcelWriter excelWriter EasyExcel.write(fileName).withTemplate(templateFileName).build()) {WriteSheet writeSheet EasyExcel.writerSheet().build();excelWriter.fill(params, writeSheet); }导出结果 可以看到除了没有前缀的的extra所有带前缀的都导出失败了仔细查阅文档后发现这些需要用FillWrapper包装一下为了方便使用这里写了一个工具类代码如下 public static void export(String templateFileName, String outputFile, MapString, Object params){try (ExcelWriter excelWriter EasyExcel.write(outputFile).withTemplate(templateFileName).build()) {WriteSheet writeSheet EasyExcel.writerSheet().build();// 先把不带前缀的都fill进去excelWriter.fill(params, writeSheet);params.forEach((key, val) - {// 基础类型都是不带前缀的前面处理了不再处理。if (ClassUtil.isBasicType(ClassUtil.getClass(val))) {return;}if (val instanceof Collection? collectionVal) {// 这里注意 入参用了forceNewRow 代表在写入list的时候不管list下面有没有空行 都会创建一行然后下面的数据往后移动。默认 是false会直接使用下一行如果没有则创建。// forceNewRow 如果设置了true,有个缺点 就是他会把所有的数据都放到内存了所以慎用// 简单的说 如果你的模板有list,且list不是最后一行下面还有数据需要填充 就必须设置 forceNewRowtrue 但是这个就会把所有数据放到内存 会很耗内存FillConfig fillConfig FillConfig.builder().forceNewRow(Boolean.TRUE).build();excelWriter.fill(new FillWrapper(key, collectionVal), fillConfig, writeSheet);}else {// bean/map 只能假装是个列表了excelWriter.fill(new FillWrapper(key, Collections.singleton(val)), writeSheet);}});}}代码中的ClassUtil是hutool的 导出结果 可以看到几处都填充成功了。 补充 web环境下把导出方法的前俩参数直接改成对应的输出/输入流就行了。
http://www.hkea.cn/news/14304478/

相关文章:

  • 县网站建设检查情况汇报个人网页简历
  • 程序员做项目的网站做期货新闻比较好的网站
  • 建设一个下载网站可以查企业备案的网站吗
  • 怎么做律师事务所的网站一流的盘锦网站建设
  • 企业网站建设模块开通微信公众号需要多少钱
  • 学校网站建设项目可行性分析报告福清seo
  • 网站搭建wordpress简单商业网站模板
  • 为什么有些网站看不到百度快照中国国际贸易网站
  • 做的比较好的国外网站一级页面布局分析九江专业制作网站小程序
  • 镇江市网站建设网站开发是怎么样的
  • 网站建设关键要素wordpress改字号
  • 遵义做网站的企业网站开发周期
  • 有关大学生做兼职的网站邢台网站优化服务平台
  • 装修网站建设方案书企业营销策划实训
  • 关于手机的网站有哪些内容网站seo推广优化
  • 柬埔寨做网站可以做蛋白三位结构图的网站
  • 河南便宜网站建设新乡辉县网站建设
  • 北京网站建设dqcx注册微信公众号流程
  • 做司法考试题目的网站免费微网站与公众号平台对接
  • phpcms 网站访问统计四川网站建设设计公司哪家好
  • 创建简易个人网站东莞石龙网站建设定制
  • 一个空间开几个网站一键查询个人房产
  • 临海市建设规划局网站iis怎么设置网站
  • 关于教做鞋的网站wordpress网站更换空间
  • 诸暨做网站广告的电话电子商务网站建设规划开题报告
  • 做个网站需要什么设备广东省建设厅网站首页
  • 为什么局域网做网站太原网络推广
  • 公司网站建设30元wordpress get_option array
  • 专门做照片的网站沛县网站建设企业
  • 首页调用网站栏目id电子商务网站体系结构有哪些