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

山东省和住房建设厅网站友情链接交换网站

山东省和住房建设厅网站,友情链接交换网站,做简单网站怎么做,网站顶部导航代码文章目录 前言制定模板1、限定模板数据的范围2、设定报表展示项 编写测试类1、将xls模板文件放于 resource 下的 doc文件夹中2、导入依赖文件3、编写接口和导出逻辑 效果预览结论 前言 在之前的博客中Springboot——使用jxls实现excel模板导出excel,具体说明了jxls…

文章目录

  • 前言
  • 制定模板
    • 1、限定模板数据的范围
    • 2、设定报表展示项
  • 编写测试类
    • 1、将xls模板文件放于 resource 下的 doc文件夹中
    • 2、导入依赖文件
    • 3、编写接口和导出逻辑
  • 效果预览
  • 结论

前言

在之前的博客中Springboot——使用jxls实现excel模板导出excel,具体说明了jxls框架的基本使用。

除了最简单的单列表展示外,jxls还具有同sheet页展示多个列表的能力,接下来一起继续探究。

制定模板

1、限定模板数据的范围

采取下面的批注,指定需要渲染显示的报表范围。

这里的范围只考虑第一行的范围!

命令如下所示:

jx:area(lastCell=”H15”)

在这里插入图片描述

2、设定报表展示项

报表一,只显示单条数据。
在这里插入图片描述

报表二,进行列表展示,并设置批注,如下所示:

jx:each(items="dataList2" var="item" lastCell="C8")

在这里插入图片描述
报表三,与报表二中的批注一样,只是接收参数变量名不同。批注如下所示:

jx:each(items="dataList3" var="item" lastCell="C12")

编写测试类

1、将xls模板文件放于 resource 下的 doc文件夹中

在这里插入图片描述

2、导入依赖文件

<!-- excel 填充 -->
<dependency><groupId>org.jxls</groupId><artifactId>jxls</artifactId><version>2.8.1</version>
</dependency>
<dependency><groupId>net.sf.jxls</groupId><artifactId>jxls-core</artifactId><version>1.0.6</version>
</dependency>
<dependency><groupId>org.jxls</groupId><artifactId>jxls-poi</artifactId><version>2.8.1</version>
</dependency>

3、编写接口和导出逻辑

@RequestMapping("/ss")
public void download(HttpServletRequest request,HttpServletResponse response) throws Exception {Map<String, Object> map = new HashMap();map.put("name1","xiangjiao");map.put("age1","10");map.put("are1","中国");// 报表二List<Map<String, Object>> dataList = new ArrayList();for (int i = 0; i < 10; i++) {Map<String, Object> params = new HashMap<>();params.put("name2","1_"+i);params.put("age2","xj_"+i);params.put("are2",22);dataList.add(params);}// ${item.num}map.put("dataList2",dataList);// 报表三List<Map<String, Object>> dataList3 = new ArrayList();for (int i = 0; i < 10; i++) {Map<String, Object> params = new HashMap<>();params.put("name2","1_"+i);params.put("age2","xj_"+i);params.put("are2",22);dataList3.add(params);}// ${item.num}map.put("dataList3",dataList3);export(map,"test.xls","666.xls",response);
}public static void export(Map<String, Object> dataMap, String reportName,String fileName, HttpServletResponse response) throws IOException {Resource resource = new ClassPathResource("/doc" +File.separator+ reportName);InputStream in = resource.getInputStream();// 这里的context是jxls框架上的context内容Context context = PoiTransformer.createInitialContext();context.toMap().putAll(dataMap);Workbook workbook = WorkbookFactory.create(in);// Changing name of the first sheetworkbook.setSheetName(0, "sheet1");PoiTransformer transformer = PoiTransformer.createTransformer(workbook);OutputStream out = response.getOutputStream();transformer.setOutputStream(out);// 文件名 - 解决中文乱码问题String filename = URLEncoder.encode(fileName, "UTF-8");// 设置响应编码response.setCharacterEncoding("UTF-8");response.setContentType("application/x-download");response.setHeader("Content-Disposition", "attachment;filename=" + filename);JxlsHelper.getInstance().processTemplate(context, transformer);in.close();out.flush();out.close();
}

效果预览

在这里插入图片描述

结论

jxls能够完美的实现样式自定义单数据多报表集成。

http://www.yayakq.cn/news/547663/

相关文章:

  • 网站建设项目清单价格域名和网站不是一家怎么办
  • 临沂天元建设集团网站注册公司流程需要多久
  • 可以找酒店案例的网站产品推广策划书
  • 好的开源网站6入空间网站免费观看
  • 网站域名设计方案大兴模版网站搭建哪家好
  • 企业网站建设中存在的问题分析免费建网站平台哪个好
  • 东莞美容网站建设制作网站哪里做
  • 龙岩做网站的地方wordpress搭建公司网站
  • 想在网站卖房怎么做wanwang
  • 在哪找专业做淘宝网站手工制作玫瑰花
  • 网站死链查询wordpress 仿制
  • vue做视频网站网站提升流量
  • 企业网站设计特点深圳房产网站建设
  • 男女做那个网站动态图九江网站建设九江
  • 信息展示网站系统电子商务怎样建立网站的
  • 网站建设干货图书互联网品牌营销公司
  • 手机端网站开发流程图windows7优化大师
  • 中小企业网站建设与管理 王耀做网站可以赚钱么
  • 南京网站建设王道下拉強网站建设实训课
  • 做网站开发需要培训吗河北沧州网络运营中心
  • 中国站长网站图片制作网页
  • 互动网门户网站建设全国建设教育联盟统一平台网站
  • 做网站需要固定ip吗手机网站建设的优势
  • 先备案域名还是先做网站湖南省建设厅证件查询
  • 网站开发客户提供素材北京创意网站设计
  • 嘉兴专业网站建设上海做公益活动有哪些好的网站
  • 网站推广的常用方法最新新闻头条国家大事国际新闻
  • 企业门户网站建设 北京中山网站制作服务
  • 做暧暧小视频网站wordpress是做什么的
  • 株洲做网站的2015年网站设计