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

工作室网站广东建设信息网成绩查询

工作室网站,广东建设信息网成绩查询,网站建设公司小猫建站,广州软件定制一、需求展示#xff08;一个订单多个商品#xff0c;商品数量不限订单行合并#xff09; 二、技术选型#xff08;jxls自定义模板#xff09; !-- 版本具体看官网Release#xff0c;这里我们使用 2.13.0 --dependencygroupIdorg.jxls/group…一、需求展示一个订单多个商品商品数量不限订单行合并 二、技术选型jxls自定义模板 !-- 版本具体看官网Release这里我们使用 2.13.0 --dependencygroupIdorg.jxls/groupIdartifactIdjxls/artifactIdversion2.13.0/version/dependencydependencygroupIdorg.jxls/groupIdartifactIdjxls-poi/artifactIdversion2.13.0/version/dependency!-- 要使用基于JavaExcelAPI的转换器实现请添加以下依赖项 --dependencygroupIdhu.blackbelt.bundles.jxls/groupIdartifactIdorg.jxls/artifactIdversion2.10.0_1/version/dependency 三、导出订单的数据结构展示 [{orderName: 订单1,no: 13465464464121,terminalValue: 微信 小程序,userInfo: 微信 小程序,items: [{spuName: ipnoe 6s,properties: 非卖品勿拍,count: 10,originalUnitPrice: 10}] }] 四、对应模板展示 1、局部效果展示一定要使用xlsx格式作为模板文档xls有点问题 2、jx:area(lastCell P2)参数解释整个表的作用域是到P列第2行作用与必须要并且必须放在表格的的首行首列 3、jx:each(itemstpListvartradeOrderPageItemRespVO lastCellP2)参数解析tpList是最外层的order集合tradeOrderPageItemRespVO是tpList循环时item的别称P2是tpList循环作用表的生效范围。 4、jx:mergeCells(rowstradeOrderPageItemRespVO.items.size() lastCellA2)参数解析rows要合并行的行数lastcall是定位那A列第2行要进行单元行合并有多少列要合并就拷贝多少次并将lastcall定位到相关列进行修改。尝试设置为C2没有从A2的位置自动每列合并到C2不知道为啥就一列一列的设置的。 5、jx:each(itemstradeOrderPageItemRespVO.items vartradeOrderItemBaseVO lastCellH2)参数解析tradeOrderPageItemRespVO.items就是订单里边商品做循环别名叫tradeOrderItemBaseVOtradeOrderPageItemRespVO.items的作用范围就是批注D2到H2的位置可以使用用${}去到里边的变量。 6、其他表达式使用请参考官网JXLS - (sourceforge.net)或文末备注 五、代码参考 1、引入依赖 !-- 版本具体看官网Release这里我们使用 2.13.0 --dependencygroupIdorg.jxls/groupIdartifactIdjxls/artifactIdversion2.13.0/version/dependencydependencygroupIdorg.jxls/groupIdartifactIdjxls-poi/artifactIdversion2.13.0/version/dependency!-- 要使用基于JavaExcelAPI的转换器实现请添加以下依赖项 --dependencygroupIdhu.blackbelt.bundles.jxls/groupIdartifactIdorg.jxls/artifactIdversion2.10.0_1/version/dependency 2、工具构建 package cn.iocoder.yudao.module.trade.utils;import org.apache.commons.jexl3.JexlBuilder; import org.jxls.common.Context; import org.jxls.expression.JexlExpressionEvaluator; import org.jxls.transform.Transformer; import org.jxls.util.JxlsHelper;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.HashMap; import java.util.Map;public class JxlsUtils {public static void exportExcel(InputStream is, OutputStream os, MapString, Object model) throws IOException {Context context new Context();if (model ! null) {for (String key : model.keySet()) {context.putVar(key, model.get(key));}}JxlsHelper jxlsHelper JxlsHelper.getInstance();Transformer transformer jxlsHelper.createTransformer(is, os);JexlExpressionEvaluator evaluator (JexlExpressionEvaluator) transformer.getTransformationConfig().getExpressionEvaluator();MapString, Object funcs new HashMap();funcs.put(utils, new JxlsUtils()); // 添加自定义功能evaluator.setJexlEngine(new JexlBuilder().namespaces(funcs).create());jxlsHelper.processTemplate(context, transformer);} }3、Controller导出 GetMapping(/export-excel)Operation(summary 导出订单表格 Excel)PreAuthorize(ss.hasPermission(trade:order:export))OperateLog(type EXPORT)public void exportActivityExcel(TradeOrderPageReqVO reqVO,HttpServletResponse response) throws IOException {CommonResultPageResultTradeOrderPageItemRespVO orderPage getOrderPage(reqVO);ListTradeOrderPageItemRespVO list orderPage.getData().getList();ListTradeOrderExcelVO result new ArrayList();for (TradeOrderPageItemRespVO tradeOrderPageItemRespVO : list) {TradeOrderExcelVO convert TradeOrderConvert.INSTANCE.convert(tradeOrderPageItemRespVO, 1);result.add(convert);}// 设置响应头response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);response.setHeader(Content-Disposition, attachment; filenameoutput.xlsx);// 使用 jXLS 进行模板变量替换并导出 Exceltry (InputStream inputStream getClass().getResourceAsStream(/tem/tem.xlsx);OutputStream outputStream response.getOutputStream()) {//excel模板内数据组装MapString, Object map new HashMap();map.put(tpList, result);JxlsUtils.exportExcel(inputStream, outputStream, map);}} 六、备注 jx:mergeCells(lastCell合并单元格范围 [, cols合并的列数] [, rows合并的行数] [, minCols要合并的最小列数] [, minRows要合并的最小行数] )lastCell合并单元格范围 cols合并的列数 rows合并的行数 minCols要合并的最小列数 minRows要合并的最小行数jx:each(itemscountMonths varmonth lastCellC3 directionRIGHT) 这里还是通过jx:each来使用不同的是direction 属性的值为RIGHT向右默认为DOWN向下 countMonths动态列集合month为集合循环的实体取值为${month} contracts行数据集合contract、colData 都是集合循环的实体取值为${contract.custName}等 colData.monthData.get(month)动态列的数据根据列名去匹配实体字段 ${empty()}判断集合对应动态列数据 是否为空做好判断写入数据 动态列数据行的数据获取${empty(colData.monthData.get(month) ) ? 0 : colData.monthData.get(month)}
http://www.hkea.cn/news/14274111/

相关文章:

  • 广州建设六马路小学网站o2o网站建设计划书
  • 深圳招聘网站前十排名搬搬屋源码网
  • php投资网站源码wordpress调整配置文件怎么写
  • 给女朋友做的网站wordpress自动超链接
  • 做网站有哪些项目学院网站建设作用
  • 苏州网站建立公司平顶山河南网站建设
  • 佛山网站建设哪家评价高网站几个关键词
  • wordpress建站资源中国纪检监察报数字报
  • 网站开发现状都用php兰州模板网站seo价格
  • 营销型网站建设要点网站整合营销推广
  • 怎么用电脑自带软件做网站页面如何创建网站?
  • 肇庆网站建设方案外包佛山网站建设哪里有
  • 外贸网站 phphtml模板图片
  • 邯郸网站制作个人北京建设官方网站
  • 石台做网站免费静态网站模板
  • wordpress 广告关闭新塘网站seo优化
  • 移动网站设计logo网站推介
  • 做视频网站赚做视频网站赚优设网址导航属于网络导航吗
  • 客户网站 备案网站和搜索引擎
  • 虾皮跨境电商网站厦门网站开发公司找哪家
  • 网站数据分析视频宠物美容师宠物美容培训学校
  • 网站开发建设账务处理程序高性能网站建设指南 书
  • 上海静安网站建设人设生成器网站
  • 网站制作租用空间网站建设策划书的主要内容
  • 哪有做机械设计的网站制作网站教程
  • 企业网站建设客户需求调查问卷网站设计 素材
  • 网站的内部推广的方法艺术字体logo设计生成器
  • 长安网站建设制作做一个彩票网站需要怎么做
  • 分析苏宁易购的网站建设网站建设net接口
  • 专业网站设计模板成都app开发制作公司