开网站开发公司,做淘宝详情的网站,凌源网站建设,上海网页网络技术有限公司EasyExcel填充数据EasyExcel填充数据流下载 easyexcel填充excel下载 easyexcel填充 1、填充数据然后将文件输出给浏览器 1、填充数据然后将文件输出给浏览器
官网地址
官网的demo填充生成的是file文件, 实际需求用的最多的是 填充完数据将Excel输出给浏览器
填充模版Excel文… EasyExcel填充数据EasyExcel填充数据流下载 easyexcel填充excel下载 easyexcel填充 1、填充数据然后将文件输出给浏览器 1、填充数据然后将文件输出给浏览器
官网地址
官网的demo填充生成的是file文件, 实际需求用的最多的是 填充完数据将Excel输出给浏览器
填充模版Excel文件用的是官方的: 地址: https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/resources/fill/complex.xlsx
示例代码来自官方的 复杂填充 代码改造,官网地址: https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java /** 构建数据*/private ListFillData data() {ListFillData list ListUtils.newArrayList();for (int i 0; i 10; i) {FillData fillData new FillData();list.add(fillData);fillData.setName(张三);fillData.setNumber(5.2);fillData.setDate(new Date());}return list;}public void complex(HttpServletRequest request, HttpServletResponse response) throws ServiceException, IOException {// 模版所在路径,将官方文件下载下来File template F:\\complexFiles\\complex.xlsx;// EasyExcel没有提供填充数据 Excel流下载。需要自己实现// 创建一个 字节数组输出流,填充数据到字节数组流然后在输出给浏览器ByteArrayOutputStream os new ByteArrayOutputStream();try (ExcelWriter excelWriter EasyExcel.write(os).withTemplate(template).build()) {WriteSheet writeSheet EasyExcel.writerSheet().build();// 填充列表数据excelWriter.fill(data(), writeSheet);// 写入list之前的数据MapString, Object map MapUtils.newHashMap();map.put(date, 2019年10月9日13:28:28);map.put(total, 1000);excelWriter.fill(map, writeSheet);// 刷新excelWriter.finish();// 直接输出文件
// response.getOutputStream().write(os.toByteArray());
// response.getOutputStream().flush();BufferedOutputStream bufferedOutputStream new BufferedOutputStream(response.getOutputStream(), 8152);bufferedOutputStream.write(os.toByteArray());bufferedOutputStream.close();// 或者使用GZIP压缩输出但是需要服务器支持
// OutputStream outputStream response.getOutputStream();
// GZIPOutputStream gzipOutputStream new GZIPOutputStream(outputStream);
// // 或者
// DeflaterOutputStream deflaterOutputStream new DeflaterOutputStream(outputStream);
// deflaterOutputStream.write(os.toByteArray());
// deflaterOutputStream.finish();
// deflaterOutputStream.close();}}