位置: 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)

  • integer转string(integer转string怎么转)

    integer转string(integer转string怎么转)

  • 腾讯会议怎么有声录屏(腾讯会议怎么有声录屏iphone)

    腾讯会议怎么有声录屏(腾讯会议怎么有声录屏iphone)

  • 华为5g双模手机有什么好处(华为5g双模手机是什么意思)

    华为5g双模手机有什么好处(华为5g双模手机是什么意思)

  • 微信收款如何同时两个手机都能收到信息(微信收款如何同意信用卡支付)

    微信收款如何同时两个手机都能收到信息(微信收款如何同意信用卡支付)

  • 微信发送视频不能大于25M怎么办(微信发送视频不被压缩)

    微信发送视频不能大于25M怎么办(微信发送视频不被压缩)

  • iphone xs是双卡吗(苹果xs是双卡嘛?)

    iphone xs是双卡吗(苹果xs是双卡嘛?)

  • 怎么调出华为手机下面的三个键(怎么调出华为手机下面的导航键)

    怎么调出华为手机下面的三个键(怎么调出华为手机下面的导航键)

  • oppo闪充怎么充电慢了(oppo 闪充)

    oppo闪充怎么充电慢了(oppo 闪充)

  • 1035g1和10210u区别(1035g1跟10210u)

    1035g1和10210u区别(1035g1跟10210u)

  • 钉钉可以看见学生分屏吗(钉钉可以看见学生的观看时间吗)

    钉钉可以看见学生分屏吗(钉钉可以看见学生的观看时间吗)

  • tp屏幕什么意思(tpo屏幕)

    tp屏幕什么意思(tpo屏幕)

  • 苹果12w 5w充电器区别(苹果12w充电器和5w的数据线能通用吗)

    苹果12w 5w充电器区别(苹果12w充电器和5w的数据线能通用吗)

  • 微信非对方朋友为什么还能发信息(微信非对方朋友只显示十条朋友圈怎么设置)

    微信非对方朋友为什么还能发信息(微信非对方朋友只显示十条朋友圈怎么设置)

  • oppo手机指纹录入不了怎么办(oppo手机指纹录入后不能解锁)

    oppo手机指纹录入不了怎么办(oppo手机指纹录入后不能解锁)

  • ipad声音变耳机模式如何设回(ipad声音变耳机是怎么回事)

    ipad声音变耳机模式如何设回(ipad声音变耳机是怎么回事)

  • 抖音评论区怎么变成黑色(抖音评论区怎么发语音消息)

    抖音评论区怎么变成黑色(抖音评论区怎么发语音消息)

  • 如何删除荣耀自带软件(荣耀手机如何删除)

    如何删除荣耀自带软件(荣耀手机如何删除)

  • 如何恢复微信聊天记录(如何恢复微信聊天记录照片)

    如何恢复微信聊天记录(如何恢复微信聊天记录照片)

  • 苹果11pro max怎么激活(苹果11pro max怎么关机)

    苹果11pro max怎么激活(苹果11pro max怎么关机)

  • 樱桃轴和国产轴的区别(樱桃轴比国产轴好在哪里)

    樱桃轴和国产轴的区别(樱桃轴比国产轴好在哪里)

  • 索尼xperia1防水吗

    索尼xperia1防水吗

  • 抖音如何退工会(抖音退工会教程)

    抖音如何退工会(抖音退工会教程)

  • 在线网速测试网速比较快,用起来比较慢的原因?(在线网速测试网站测速工具)

    在线网速测试网速比较快,用起来比较慢的原因?(在线网速测试网站测速工具)

  • 加密excel文件(excel2019文件加密)

    加密excel文件(excel2019文件加密)

  • Linux引导时输入特殊信息的含义的方法(linux 引导)

    Linux引导时输入特殊信息的含义的方法(linux 引导)

  • Stable Diffusion 准确绘制人物动作及手脚细节(需ControlNet扩展)

    Stable Diffusion 准确绘制人物动作及手脚细节(需ControlNet扩展)

  • 销项税额计算公式依据
  • 单张发票金额有多少
  • 支票罚金
  • 纳税评估怎么办
  • 购买原材料无法取得发票如何做账
  • 境外代扣代缴的税最后归谁所有
  • 小规模季度超过30万是全额纳税吗
  • 刻章发票可以抵税吗
  • 一般和小规模纳税人哪个免税
  • 发票查重
  • 高速公路通行费抵扣最新规定
  • 金税盘减免政策依据
  • 支付机器设备修理费
  • 补交申报的利息怎么入账
  • 发票已抵扣未入账
  • 少计提的地税怎么做分录
  • 汇算清缴租赁费包括物业管理吗
  • linux abi
  • PHP:xml_parser_free()的用法_XML解析器函数
  • 商场充值卡发票在哪开
  • 苹果取消macbook
  • 跨期发票怎么作废
  • 总结关于现金清查的会计核算分录
  • 无形资产累计摊销借贷方向
  • 用约当产量法怎么计算约当总产量
  • 发票填开的基本规定?
  • 税收筹划的原则包括
  • 旅行社的会计
  • laravel模板引擎
  • 金银首饰消费税计税依据
  • 公司处理固定资产车辆怎么开发票
  • thinkphp3.0
  • 图像边缘检测的基本原理
  • create_proc_entry
  • 修改Laravel5.3中的路由文件与路径
  • php对象是值传递还是引用传递
  • java泛型方法的使用
  • libpcap python
  • 代收代付业务需要开发票吗
  • 结算业务书汇票怎么写
  • 简易计税办法计算的应纳税额可以抵扣吗
  • 合同资产要结转增值税吗
  • 减免增值税的账务处理是什么
  • MySQL中create table as 与like的区别分析
  • 差旅费补助无发票的文件依据
  • 厂区地面硬化施工方案
  • 其他所得
  • 研发设备的折旧计入研发费用吗
  • 印花税处罚适用征管法六十四条规定
  • 未确认融资费用是什么类科目
  • 建账试算平衡
  • 银行存款利息收入要交增值税吗
  • 员工报销停车费计入什么科目
  • 更换公司新公章流程
  • 利息支出和利息收入区别
  • 利润总额与应纳税所得额的差异国内动态
  • sql修改表的所属空间
  • windows导航栏在左边
  • centos7设置ssh登录
  • ubuntu 18.04 16.04
  • winfs.exe - winfs是什么进程
  • notify.exe - notify是什么进程 有什么用
  • win7系统关机很慢什么原因
  • Win10系统下怎么设置按Win+E进入计算机的图文教程
  • bat脚本怎么运行
  • cocos2dx schedule
  • iframe嵌入页面出现跨域问题
  • css颜色值正确的表达形式
  • 关于H1的位置解析
  • php redis incr
  • easyui控件
  • shell去重计数
  • javascript的dom
  • javascript.
  • 彻底解决老鼠进发动机舱
  • 每天一篇小练笔30字
  • js数组操作的常用方法有哪些
  • 生育津贴是分期的吗
  • 山东省国家税务局威海培训中心
  • 济南社保减免政策2020通知
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设