/**
* 监管导出
*
* @throws Exception
*/
@RequestMapping(params = "daoChuJianGuan")
public void daoChuJianGuan(HttpServletResponse response, HttpServletRequest request) throws Exception {
List<JianGuanTj> JianGuanTjs =getDataJianGuan(request);
//设置导出类型
response.setContentType("application/ms-excel;");
//获取项目的根目录
String path = request.getSession().getServletContext().getRealPath("/");
//根据项目的根目录找到Workbook
Workbook os = WorkbookFactory.create(new File(path + "template" + File.separator + "excel" + File.separator + "出入境特殊物品单位信息监管统计.xlsx"));
//获取模板上的sheet,‘统计’为模板的 sheet名称
Sheet sheet = os.getSheet("统计");
int jigouseek = 0;
JianGuanTj top = null;//实体
for (int i = 0; i < JianGuanTjs.size(); i++) {
JianGuanTj jianGuanTj = JianGuanTjs.get(i);
Row row=sheet.createRow(sheet.getLastRowNum() + 1);
//简单的,不涉及到合并单元格的,注释部分忽略
// if (top == null) {
// jigouseek = row.getRowNum();
// }else{
// if (!(top.getJigou().trim().equals(jianGuanTj.getJigou().trim()))) {
// if (jigouseek != row.getRowNum() - 1) {
// sheet.addMergedRegion(new CellRangeAddress(jigouseek, row.getRowNum() - 1, 0, 0));
// }
// jigouseek = row.getRowNum();
// }
// }
TSDepart tsDepart = (TSDepart) systemService.getEntity(TSDepart.class, jianGuanTj.getJigou());
if(tsDepart!=null){
row.createCell(0).setCellValue(tsDepart.getDepartname());
}else{
row.createCell(0).setCellValue(jianGuanTj.getJigou());
}
row.createCell(1).setCellValue(jianGuanTj.getXiangmu());
row.createCell(2).setCellValue(jianGuanTj.getHeJiCorpJiaShu());
row.createCell(3).setCellValue(jianGuanTj.getHeJiCorpJgCiShu());
row.createCell(4).setCellValue(jianGuanTj.getHeJiNotCorpJiaShu());
row.createCell(5).setCellValue(jianGuanTj.getHeJiNotCorpJgCiShu());
row.createCell(6).setCellValue(jianGuanTj.getHxJgXiaoJiJiaShu());
row.createCell(7).setCellValue(jianGuanTj.getHxJgXiaoJiCiShu());
row.createCell(8).setCellValue(jianGuanTj.getHxJgNotJiaShu());
row.createCell(9).setCellValue(jianGuanTj.getHxJgNotCiShu());
row.createCell(10).setCellValue(jianGuanTj.getRiChJgXiaoJiJiaShu());
row.createCell(11).setCellValue(jianGuanTj.getRiChJgXiaoJiCiShu());
row.createCell(12).setCellValue(jianGuanTj.getRiChJgNotJiaShu());
row.createCell(13).setCellValue(jianGuanTj.getRiChJgNotCiShu());
top=jianGuanTj;
}
//设置头部信息
response.setHeader("Content-disposition", "attachment; filename=" + new String(("出入境特殊物品单位信息监管统计.xlsx").getBytes("GBK"), "ISO8859-1"));
os.write(response.getOutputStream());
//关闭流。此处应该用try catch finally ,防止出现异常导致流无法关闭,内存溢出,只是此处省略。使用时切忌使用
response.getOutputStream().close();
}
[size=x-small][/size]
分享到:
相关推荐
本文将深入探讨如何使用Java来根据模板导出包含统计图的PDF文档。主要涉及的技术包括iText库、FreeMarker模板引擎以及可能的数据可视化工具。 首先,iText是一个强大的Java库,专门用于创建和操作PDF文档。它提供了...
根据excel模板动态导出数据库数据 package text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import javax.servlet....
在Java编程中,导出复杂的Excel模板是一...熟练掌握Apache POI或其他相关库的用法,结合业务需求,能有效提高工作效率并提供高质量的Excel导出功能。在实际开发中,不断优化代码和策略,可以更好地满足性能和功能需求。
除了平时简单的数据导出需求外,我们也经常...源码案例提供了模板,单个数据写入与列表数据写入以及文件导出的代码,详细的说明请参照个人博客“Excel模板导出”,源码可以让读者更加详细的了解Excel导出的过程和原理。
网络上的根据模板填充Word我都看过一些, 它们的功能在数据换行的时候用的是run对象的.addCarriageReturn()方法,或者是直接用\n实现换行。这些都不符合我的需求, 因为我要的是分段,而不是换行。换行的word导致另一...
java通过Excel模板导出各种Excel , 支持所有的动态数据,列表,图片, 好用的请给好评! 解压导入到eclipse就可以运行看到效果,里面有简单的例子 , 有很复杂的模板,通过模板导出数据。
根据word模板导出word、PDF文档,功能全,内容多,介绍详细。主要实现根据word模板及模板中的坐标($[标明.字段名])的形式进行查询出所对应的数据,然后分别生成PDF 和 WORD功能。 本功能是将各个模板的数据均查询...
在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...
本教程将探讨如何利用Java和特定的模板引擎,如Freemarker,来处理Word模板,生成doc和docx格式的个人简历文件。以下是相关知识点的详细说明: 1. **Freemarker模板引擎**: Freemarker是一个强大的、开源的模板...
用途:根据PDF模板生成PDF文件,将数据库查询的数据插入到模板指定未知,然后生成新的PDF文件 原理: 代码说明:exprotPDF_...根据PDF模板导出PDF文件。支持各种java调用数据库数据,生成PDF文件。多个版本供参考。
Java根据模板导出Excel报表并复制模板生成多个Sheet页 本文主要介绍了Java根据模板导出Excel报表并复制模板生成多个Sheet页的方法,具有很好的参考价值。本工具类使用的场景为根据提供的模板来导出Excel报表并且可...
poi导入、导出,支持百万级数据模板导出、合并excel。项目为spring-boot-2上开发。resource里面有模板,在junit测试类中修改为本地存在路径即可导出文件,在junit测试类中修改for循环的i可以模拟百万级数据导出。注意...
这个"java excel大数据量导出demo"提供了一个高效、灵活的解决方案,它支持模板导出,分页查询,以及处理大数据量的能力。在这个项目中,开发者采用了Apache POI库的SXSSFWorkbook子类,这是一个专门为处理大量数据...
在本文档中,我们将探讨如何使用Java来根据模板导出包含统计图的PDF文档。主要涉及的技术包括iText库、FreeMarker模板引擎以及可能的数据处理和图形生成。 首先,iText是一个强大的Java库,用于创建和修改PDF文档。...
总结来说,"poi-excel-handler" 是一个使用 Apache POI 实现的工具,它提供了根据模板导出和简单列表导出 Excel 的功能。通过利用 POI 的 API,它能够有效地处理大量数据,同时保持代码的可读性。在实际项目中,这样...
- 在业务管理系统的报表模块中,为用户提供数据导出功能。 - 在文档管理系统中,提供文档模板下载服务。 - 在电商网站后台管理中,用于商品信息批量导入时的模板下载。 #### 三、代码解析 1. **HTML代码**: `...
在Java编程领域,Apache POI库是一个非常流行的API,它允许开发者读取、写入以及修改Microsoft Office格式的...通过学习这些资源,你可以更好地理解和实践上述知识,从而在项目中实现高效且灵活的Excel模板导出功能。
Flying Saucer是一个可以将HTML转换为PDF的Java库,而Thymeleaf则是一个流行的Java模板引擎,它可以解析HTML模板并用数据填充它们。首先,使用Thymeleaf创建一个包含动态数据占位符的HTML模板,然后使用Flying ...
这个库特别适用于根据模板导出PDF,可以高效地实现批量生成或者自定义内容的PDF输出。 使用iTextPDF时,首先需要理解其核心概念,例如Document对象代表PDF文档,Paragraph、Chunk、Table等类用于构建文档内容。模板...
【JAVA】easypoi根据Excel模板导出 循环遍历合并单元格处理