首页 > 其他分享 >Excel 导出

Excel 导出

时间:2023-05-10 13:44:14浏览次数:33  
标签:cn Excel 导出 new put easypoi import afterturn

1. pom相关

        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-spring-boot-starter</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>4.1.0</version>
        </dependency>

2.  导出方法

    void test2(HttpServletRequest request, HttpServletResponse response) {
        List<Map<String, Object>> data = new ArrayList<>();

        Map<String, Object> sheet1 = new HashMap<>();
        ExportParams exportParams = new ExportParams(null,"sheet1");
        sheet1.put("title", exportParams);
        sheet1.put("entity", ZsResultT2.class);
        List<ZsResultT2> sheet1Data = new ArrayList<>();
        ZsResultT2 item1 = new ZsResultT2();
        item1.setCode("1111");
        item1.setNo(1);
        item1.setShusheng("河北省");
        sheet1Data.add(item1);
        sheet1.put("data", sheet1Data);
        data.add(sheet1);

        Map<String, Object> sheet12 = new HashMap<>();
        ExportParams exportParams2 = new ExportParams(null,"sheet12");
        sheet12.put("title", exportParams2);
        sheet12.put("entity", ZsResultT2.class);
        List<ZsResultT2> sheet1Data2 = new ArrayList<>();
        ZsResultT2 item12 = new ZsResultT2();
        item12.setCode("1111");
        item12.setNo(1);
        item12.setShusheng("河北省");
        sheet1Data2.add(item12);
        sheet12.put("data", sheet1Data2);
        data.add(sheet12);
        easypoiUtil.exportExcelMoreSheet(request, response, "test.xls", null, data);
    }

 

3. 相关类

package com.diit.dwyxbd.utils;

import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.afterturn.easypoi.excel.export.ExcelExportService;
import com.alibaba.druid.util.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;


@Service("easypoiUtil")
public class EasypoiUtil2 {
/*try {
FileOutputStream fos = new FileOutputStream(exportFolder.getPath() + File.separator + excelName);
workbook.write(fos);
result.put("path", exportFolder.getPath());
result.put("fileName", excelName);
System.out.println(fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}*/

public boolean exportExcelMoreSheet(HttpServletRequest request, HttpServletResponse response, String excelName, List<Map<String, Object>> title, List<Map<String, Object>> data) { Workbook workbook = ExcelExportUtil.exportExcel(data, ExcelType.HSSF); //下载生成的excel try { String userAgent = request.getHeader("user-agent").toLowerCase(); if (userAgent.contains("msie") || userAgent.contains("like gecko")) { excelName = URLEncoder.encode(excelName, "UTF-8"); } else { excelName = new String(excelName.getBytes("utf-8"), "ISO-8859-1"); } response.setCharacterEncoding("UTF-8"); response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(excelName, "UTF-8")); OutputStream out = response.getOutputStream(); workbook.write(out); out.close(); return true; } catch (Exception e) { e.printStackTrace(); return false; } } }

  

参考 https://blog.csdn.net/weixin_45624150/article/details/107180646

标签:cn,Excel,导出,new,put,easypoi,import,afterturn
From: https://www.cnblogs.com/qukaige/p/17387739.html

相关文章

  • 20230509001 - DataTable 导出成Excel
               DataTabledt_e=DataSet0.Tables[0];           SaveFileDialogsaveFileDialog=newSaveFileDialog();           saveFileDialog.Filter="Execlfiles(*.xls)|*.xls";           saveFileDialog.FilterIndex......
  • #PowerBi 一分钟学会,在excel中,调用powerbi数据模型(Analyze in Excel插件)
    在工作中,我们常常使用excel来进行临时的数据处理服务,如果我们在powerbi中,已经有了完整的数据模型。那么我们都可以通过直接调用powerbi数据模型,来进行快速的数据分析,完成任务。今天我们就介绍一下,如何在excel中调用powerbi数据模型。第一步:下载插件输入以下网址,进入sqlbi的官......
  • bartender导入EXCEL批量打印
    第一次使用BarTender软件,感觉很NICE,记录一下;1、安装最好选择全部安装,我第一次是最小安装,结果连EXCEL文件时提示要下载“AccessDatabaseEngine"安装后才行,估计与最小安装有关系。2、自定义要打印的纸张大小;3、在EXCEL文件中加入要打印的数据,我只测试了一列,(要有列标题)4、启......
  • windows 导出备份 WiFi 密码
    Wi-Fi-code.bat@echoofffor/f"skip=9tokens=1,2delims=:"%%iin('netshwlanshowprofiles')do@echo%%j|findstr-i-vecho|netshwlanshowprofiles%%jkey=clear>>%USERPROFILE%\desktop\Wi-Fi-code.txtstart%USERPR......
  • 导出问题
    遇到导出问题记录:数据较多导不出来:超时网络异常1、output_buffering设置2、内存大小设置优化方法1、前端导出2、分成几个excel 然后打包导出3、数据查询先放置到redis 然后再批量写入excel......
  • xlsx.js导出表格
    说明vue2前端导出表格需用用到xlsx.js这个库npminstallxlsx实现操作合并单元格把数组导出成excel代码部分wch和import*asXLSXfrom"xlsx";//记得在要用的页面导入/*导出表格*/exportExcel_(){ /*定义表格的数据第一行是表头*/ vardata=[ ["名称",......
  • 导出表代码
     #include"stdafx.h"#include<stdio.h>#include<windows.h>#include<malloc.h>////////////////////////////////////////////////////////////////////FileBuffer函数DWORDReadPEFile(LPVOID*ppFileBuffer){ FILE*pFile=NULL; DWO......
  • P49导出表
    1、如何定位导出表:数据目录项的第一个结构,就是导出表. typedefstruct_IMAGE_DATA_DIRECTORY{DWORDVirtualAddress;DWORDSize;}IMAGE_DATA_DIRECTORY,*PIMAGE_DATA_DIRECTORY;VirtualAddress导出表的RVASize导出表大小 2、导出表结构 ......
  • jsp 导出excel
    1.情景展示如上图所示,该页面上的表格统计内容,需要增加一个导出功能,即:将表格内容导出Excel当中。如何实现?2.具体分析2.1传统解决方案针对excel导出,有两种解决方式。思路一:前端导出如果仅仅是导出当前页数据的话,我们完全可以不与后台进行交互。因为现有数据已经拿到了,只......
  • phpstorm导出导入设置
    导出设置到JAR文档要导出IDE设置到一个JAR文档在主菜单,选择File|ExportSettings在打开的ExportSettings对话框,指定要导出的设置项通过选择它们旁边的复选框。默认的,所有设置项都已选中。在Exportsettingsto文本框,为目标存档指定完全合适的名称。手动的输入路径或点击Browse......