位置: IT常识 - 正文

使用EasyPoi导出Excel(easyposer怎么导出)

编辑:rootadmin
使用EasyPoi导出Excel 1、引入Java包依赖<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.2.0</version></dependency>2、创建导出的Excel样式类:import org.apache.poi.ss.usermodel.BorderStyle;import org.apache.poi.ss.usermodel.CellStyle;import org.apache.poi.ss.usermodel.FillPatternType;import org.apache.poi.ss.usermodel.Font;import org.apache.poi.ss.usermodel.HorizontalAlignment;import org.apache.poi.ss.usermodel.IndexedColors;import org.apache.poi.ss.usermodel.VerticalAlignment;import org.apache.poi.ss.usermodel.Workbook;import cn.afterturn.easypoi.excel.export.styler.AbstractExcelExportStyler;import cn.afterturn.easypoi.excel.export.styler.IExcelExportStyler;/** * @ClassName: ExcelExportMyStylerImpl * @Description: 自定义报表导出样式,可以修改表头颜色,高度等 * @Author: sunt * @Date: 2019/8/29 21:39 * @Version 1.0 **/public class ExcelExportMyStylerImpl extends AbstractExcelExportStyler implements IExcelExportStyler { public ExcelExportMyStylerImpl(Workbook workbook) { super.createStyles(workbook); } @Override public CellStyle getTitleStyle(short color) { CellStyle titleStyle = workbook.createCellStyle(); Font font = workbook.createFont(); font.setBold(true);// 加粗 titleStyle.setFont(font); titleStyle.setAlignment(HorizontalAlignment.CENTER);// 居中 titleStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 titleStyle.setFillForegroundColor(IndexedColors.AQUA.index);// 设置颜色 titleStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); titleStyle.setBorderRight(BorderStyle.THIN); titleStyle.setWrapText(true); return titleStyle; } @SuppressWarnings("deprecation") @Override public CellStyle stringSeptailStyle(Workbook workbook, boolean isWarp) { CellStyle style = workbook.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); style.setVerticalAlignment(CellStyle.VERTICAL_CENTER); style.setDataFormat(STRING_FORMAT); if (isWarp) { style.setWrapText(true); } return style; } @Override public CellStyle getHeaderStyle(short color) { CellStyle titleStyle = workbook.createCellStyle(); Font font = workbook.createFont(); font.setBold(true);// 加粗 font.setColor(IndexedColors.RED.index); font.setFontHeightInPoints((short) 11); titleStyle.setFont(font); titleStyle.setAlignment(HorizontalAlignment.CENTER);// 居中 titleStyle.setFillForegroundColor(IndexedColors.WHITE.index);// 设置颜色 titleStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 titleStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); titleStyle.setBorderRight(BorderStyle.THIN); titleStyle.setWrapText(true); return titleStyle; } @SuppressWarnings("deprecation") @Override public CellStyle stringNoneStyle(Workbook workbook, boolean isWarp) { CellStyle style = workbook.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); style.setVerticalAlignment(CellStyle.VERTICAL_CENTER); style.setDataFormat(STRING_FORMAT); if (isWarp) { style.setWrapText(true); } return style; }}3、创建核心导出工具类import cn.afterturn.easypoi.excel.ExcelExportUtil;import cn.afterturn.easypoi.excel.entity.ExportParams;import com.sunny.spring.boot.poi.common.ExcelExportMyStylerImpl;import com.sunny.spring.boot.poi.pojo.StudentInfoBean;import org.apache.poi.ss.formula.functions.T;import org.apache.poi.ss.usermodel.Workbook;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import java.net.URLEncoder;import java.text.SimpleDateFormat;import java.util.Collection;import java.util.Date;import java.util.List;/** * @ClassName: ExcelExportUtil * @Description: Exceld导出工具类 * @Author: sunt * @Date: 2019/8/30 14:49 * @Version 1.0 **/public class MyExcelExportUtil { /** * Excel文件导出,导出的文件名默认为:headTitle+当前系统时间 * @param listData 要导出的list数据 * @param pojoClass 定义excel属性信息 * @param headTitle Excel文件头信息 * @param sheetName Excel文件sheet名称 * @param response */ public static void exportExcel(Collection<?> listData,Class<?> pojoClass, String headTitle, String sheetName, HttpServletResponse response) { ExportParams params = new ExportParams(headTitle, sheetName); params.setHeight((short) 8); params.setStyle(ExcelExportMyStylerImpl.class); try { Workbook workbook = ExcelExportUtil.exportExcel(params, pojoClass, listData); String fileName = headTitle + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); fileName = URLEncoder.encode(fileName, "UTF8"); response.setContentType("application/vnd.ms-excel;chartset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename="+fileName + ".xls"); ServletOutputStream out=response.getOutputStream(); workbook.write(out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } }}4、创建导出对象实体Bean注意日期类型 注解内要加上: exportFormat = "yyyy-MM-dd hh:mm:ss"import cn.afterturn.easypoi.excel.annotation.Excel;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;import lombok.EqualsAndHashCode;import lombok.experimental.Accessors;import java.io.Serializable;import java.math.BigDecimal;/** * <p> * 学生基本信息表 * </p> * * @author sunt * @since 2019-08-29 */@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("T_STUDENT")public class StudentInfoBean implements Serializable { private static final long serialVersionUID = 1L; /** * 学号 */ @TableId("ID") @Excel(name = "学号", width = 20, orderNum = "1") private String id; /** * 姓名 */ @TableField("NAME") @Excel(name = "姓名", width = 20, orderNum = "2") private String name; /** * 性别(1:男 2:女) * replace:导出是{a_id,b_id} 导入反过来,注意大括号里面单独引号引起来的 */ @TableField("SEX") @Excel(name = "性别", width = 20, replace = { "男_1", "女_2" },orderNum = "3") private String sex; /** * 年龄 */ @TableField("AGE") @Excel(name = "年龄", width = 20, orderNum = "4") private Integer age; /** * 出生日期 */ @TableField("BIRTHDAY")@Excel(name = "商品创建时间", width = 20, orderNum = "12",exportFormat = "yyyy-MM-dd hh:mm:ss") private String birthday; /** * 入学时间 */ @TableField("REGIST_DATE") @Excel(name = "入学时间",width = 20,orderNum = "6") private String registDate; /** * 学费 */ @TableField("FEE") @Excel(name = "学费", width = 20, orderNum = "7") private BigDecimal fee;}属性字段属性值@TableField这个字段代表数据库表的字段@Excelname代表导出Excel列名称@ExcelorderNum代表Excel列排在第几列@Excelreplace一般数据库存的性别例如0和1,导出的值0展示为男性,女展示为女性5、后台方法:

推荐整理分享使用EasyPoi导出Excel(easyposer怎么导出),希望有所帮助,仅作参考,欢迎阅读内容。

使用EasyPoi导出Excel(easyposer怎么导出)

文章相关热门搜索词:easypoi导入,easypoi导出excel模板,easypoi导出xlsx,easypoi导出excel模板,easypoi导出word,easypoi导出excel模板,easypoi导出xlsx,easypoi导出xlsx,内容如对您有帮助,希望把文章链接给更多的朋友!

直接调用查询方法,返回给前台就OK

@RequestMapping("/exportStudent") public void exportStudent(HttpServletResponse response) { try { List<StudentInfoBean> sutdentList = studentService.queryAllStudent(); MyExcelExportUtil.exportExcel(sutdentList,StudentInfoBean.class,"学生基本信息","新生入学信息",response); } catch (Exception e) { e.printStackTrace(); } }6、前台的方法

不能使用ajax方法,返回的是字符串,后台返回的是流,如果用ajax返回的是乱码,并且浏览器不下载

//导出excel excel(){ window.open("http://localhost:88/api/shop/shop/exportShop") },
本文链接地址:https://www.jiuchutong.com/zhishi/300323.html 转载请保留说明!

上一篇:区块链开发完整指南。如何开发一款区块链项目?(区块链技术开发入门)

下一篇:前端基础之CSS扫盲(前端schema)

  • epub和txt区别

    epub和txt区别

  • 小红书可以看直播回放吗(小红书可以看直播历史记录吗)

    小红书可以看直播回放吗(小红书可以看直播历史记录吗)

  • 苹果11por和pormax区别(苹果11por和13的区别在哪里)

    苹果11por和pormax区别(苹果11por和13的区别在哪里)

  • 网易云音乐可以搜到微信好友吗(网易云音乐可以投屏到电视吗)

    网易云音乐可以搜到微信好友吗(网易云音乐可以投屏到电视吗)

  • 微信一发排版就乱了(微信一发排版就乱了手机)

    微信一发排版就乱了(微信一发排版就乱了手机)

  • 310和365主板区别(310主板和360主板有什么区别)

    310和365主板区别(310主板和360主板有什么区别)

  • 关联qq却看不到消息(关联qq却看不到好友动态)

    关联qq却看不到消息(关联qq却看不到好友动态)

  • 乐播投屏怎样克服延迟(乐播投屏怎样克隆到电视)

    乐播投屏怎样克服延迟(乐播投屏怎样克隆到电视)

  • qq怎么成为闺蜜标志(qq怎样成立闺蜜关系)

    qq怎么成为闺蜜标志(qq怎样成立闺蜜关系)

  • 网易云自动续费能退吗(网易云自动续费在哪里关闭)

    网易云自动续费能退吗(网易云自动续费在哪里关闭)

  • 微信语音视频通话邀请通知怎么关闭

    微信语音视频通话邀请通知怎么关闭

  • 拒收是拉黑还是删除(拒收是拉黑还是册除)

    拒收是拉黑还是删除(拒收是拉黑还是册除)

  • 苹果手机怎么设置通讯录以外的电话打不进来(苹果手机怎么设置呼叫转移)

    苹果手机怎么设置通讯录以外的电话打不进来(苹果手机怎么设置呼叫转移)

  • 企业域名是什么意思啊(企业域名是什么 有什么用)

    企业域名是什么意思啊(企业域名是什么 有什么用)

  • 怎样通过qq号找微信号(怎样通过qq号找抖音号)

    怎样通过qq号找微信号(怎样通过qq号找抖音号)

  • 华为mate20畅连通话怎么开(mate20pro畅连)

    华为mate20畅连通话怎么开(mate20pro畅连)

  • 苹果xs能插几个卡(苹果xs能插几个手机卡)

    苹果xs能插几个卡(苹果xs能插几个手机卡)

  • 咪咕爱看可以用wifi吗(咪咕爱看用10G领500MB在哪)

    咪咕爱看可以用wifi吗(咪咕爱看用10G领500MB在哪)

  • qq闪照怎么发 安卓(qq闪照怎么发 安卓手机上)

    qq闪照怎么发 安卓(qq闪照怎么发 安卓手机上)

  • 小米9如何开启开发者选项(小米9如何开启计步)

    小米9如何开启开发者选项(小米9如何开启计步)

  • win11操作中心怎么添加删除快捷方式? 自定义设置win11操作中心(win11操作中心怎么关闭)

    win11操作中心怎么添加删除快捷方式? 自定义设置win11操作中心(win11操作中心怎么关闭)

  • 讯飞AIUI智能机器人5-----让器理解你(语音技术综合应用)(讯飞智能x2)

    讯飞AIUI智能机器人5-----让器理解你(语音技术综合应用)(讯飞智能x2)

  • python如何使用字典实现switch(python怎么写文字)

    python如何使用字典实现switch(python怎么写文字)

  • 小规模纳税人转一般纳税人
  • 小规模纳税人未达起征点增值税处理
  • 小规模纳税人收到专票后如何处理
  • 母公司借款给子公司现金流量表科目
  • 未确认融资费用和长期应付款
  • 增值税是5%的是什么
  • 个税累计扣除项目合计2712.5是什么
  • 附加税是当月计算吗
  • 对方把发票丢了可以重开吗
  • 职工宿舍楼日常管理制度
  • 建筑工程公司是什么意思
  • 银行电子回单号码什么意思
  • 银行属于个人吗
  • 一般纳税人从按照简易计税方法依照3%
  • 有限合伙企业对外转让财产份额
  • 差旅费补贴需要缴纳个人所得税吗需要发票
  • 100万的收入要交多少
  • 计提工资多计提,如何做冲销
  • 临时员工什么意思
  • 外贸企业出口退税账务处理
  • 电商企业收入成本如何核算
  • 公司做贷款
  • 已抵扣原材料进项税额转出完整分录
  • 对外捐赠的账务处理
  • 小规模纳税人个税怎么申报
  • 程序员编程代码大全
  • schedulerv2.exe - schedulerv2是什么进程 有什么用
  • PHP:mb_decode_mimeheader()的用法_mbstring函数
  • 代扣代缴个税手续费返还政策
  • 拍卖公司收入计入什么分录
  • 已提折旧固定资产评估增值的会计处理是企业会计准则
  • 结转代销产品成本会计分录
  • 成本法的优点是计算较为简便,缺点是
  • 孚日山脉猞猁
  • 科罗拉多州位置
  • 电子缴款凭证能代替完税证明吗
  • yolov5怎么改进
  • 补缴税款后还能退税吗
  • springboot基本结构
  • lspv命令详解
  • 会计利润表计算公式
  • 农业合作社需要交土地使用税吗
  • 印花税零申报操作流程
  • 债转股需要哪些资料
  • 差旅费必须填写差旅费报销单吗
  • sqlserver2008数据库定时备份
  • 年终奖怎么缴纳
  • 以件数为印花税计税的有哪些
  • 汇兑应该计入什么科目
  • 在建工程什么时候结转
  • 银行利息支出税率是多少
  • 库存现金的主要内容有哪些
  • 两种原因
  • 困难行业企业包括哪四大类
  • 业务招待费扣除标准是多少
  • 扣缴个人所得税申报表模板
  • 存货换入无形资产账务处理
  • 代扣款分录
  • 办税人员可以是开票员吗
  • 债务现金流量是正还是负
  • 多张不同固定资产卡片可汇总生成一张固定资产凭证
  • 设立明细账的目的
  • mysql in的子查询
  • innodb数据和索引文件
  • 如何下载苹果图书
  • linux系统转换为win系统脚本
  • VirtualBox虚拟机中文免费
  • linux中sed详细用法
  • linux jack
  • 当前用户已注销
  • cocos2dx-3.1.1 labelttf与label
  • js正则检验手机号
  • nodejs常用内置模块
  • JavaScript入门教程
  • bootstrap4 教程
  • 一个简单的javaweb项目
  • javascript 对象的this指向
  • 亚马逊墨西哥站扣款20
  • 网上发票分配
  • 青海国税局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设