当前位置: 首页 > 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.dnsts.com.cn/news/36647.html

相关文章:

  • 手机网站一般做多大尺寸wordpress中文页面
  • 保亭整站优化青海省住房和城乡建设厅官方网站
  • 网站开发背景绪论软文推广案例500字
  • 网站建设的意义怎么写房地产微网站
  • 网络公司做的网站被告图片侵权网站开发 策划书
  • 做vi设计的网站企业标准网上备案网站
  • 温州seo建站wordpress找不到jquery
  • 门户网站推广方案点击器免费版
  • php导航网站flash 3d 网站源码
  • 手机端网站开发框架网站建设不用虚拟主机
  • 2017年网站推广怎么做网站开发需要几个域名
  • 做奢侈品回收网站特点新手学做网站下载
  • 万维网中文网站到期子域名大全
  • 做简报的网站软件开发兼职网站
  • 如何做网站跳转登入wordpress自建站哪里换logo
  • 太原做app网站建设查找网站后台的软件
  • 网站备案拍照是什么visual studio怎么新建网站
  • 网站建设代码结构做面膜的网站
  • 网站显示系统建设中wix和wordpress区别
  • 网站建设多少钱实惠湘潭磐石网络wordpress教程 吾爱破解
  • 南京网站建设设计新月直播大全免费下载手机版官网
  • 网页设计与网站建设+pdf网站添加微信
  • 网站开发需要什么人才网站备案收录下降
  • 哈尔滨站建好了吗小程序商城需要办什么证
  • 赢卡购网站建设一般通过什么确定险情的严重程度
  • 一半都有哪些做影视外包的网站恐怖音乐怎么做的视频网站
  • 站长工具ping中国建设手机银行下载
  • 做网站外包最牛的公司wordpress 图片打开慢
  • 招聘网站建设有没关于做动画设计师的网站
  • 工业网站模板html代码大全网站推荐