Java实体间转换并导出excel

news/2025/1/15 19:45:35/

两个实体间转换导出excel
首先建两个实体
public class Order {
private Long id;
private String orderNo;
private String customerName;
private Date createTime;
// getter 和 setter 方法
}

public class OrderVO {
private String orderNo;
private String customerName;
private String createTime;

// getter 和 setter 方法

}
其次,在 OrderVO 类中定义一个静态方法 fromOrder(),用于将 Order 转换为 OrderVO 对象。
public class OrderVO {
private String orderNo;
private String customerName;
private String createTime;

// getter 和 setter 方法public static OrderVO fromOrder(Order order) {OrderVO orderVO = new OrderVO();orderVO.setOrderNo(order.getOrderNo());orderVO.setCustomerName(order.getCustomerName());orderVO.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(order.getCreateTime()));return orderVO;
}

}
最后方法内应用
在 Controller 类中编写导出 Excel 数据的方法。

@GetMapping("/export")
public void exportExcel(HttpServletResponse response) {
// 查出数据,原始的Java实体List<Order> orderList = orderService.getOrderList();// 将 Order 转换为 OrderVOList<OrderVO> orderVOList = orderList.stream().map(OrderVO::fromOrder).collect(Collectors.toList());// 将 OrderVO 列表写入 Excel 文件String[] titles = { "订单编号", "客户姓名", "创建时间" };try (XSSFWorkbook workbook = new XSSFWorkbook()) {XSSFSheet sheet = workbook.createSheet("订单列表");// 设置标题行XSSFRow titleRow = sheet.createRow(0);for (int i = 0; i < titles.length; i++) {titleRow.createCell(i).setCellValue(titles[i]);}// 填充数据行for (int i = 0; i < orderVOList.size(); i++) {XSSFRow row = sheet.createRow(i + 1);OrderVO orderVO = orderVOList.get(i);row.createCell(0).setCellValue(orderVO.getOrderNo());row.createCell(1).setCellValue(orderVO.getCustomerName());row.createCell(2).setCellValue(orderVO.getCreateTime());}// 写入 Excel 文件到输出流response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf-8");response.setHeader("Content-Disposition", "");............

http://www.ppmy.cn/news/470808.html

相关文章

操作系统期末复习简记(更新中~)

文件 定义&#xff1a;文件是以计算机硬盘为载体的存储在计算机上的信息集合&#xff08;宽泛的&#xff09; 属性&#xff1a;描述文件状态的信息&#xff0c;eg.名称&#xff0c;修改时间等等 基本操作&#xff1a;创建、打开、修改文件 文件的逻辑结构 1、无结构文件&#x…

C语言结构体计算大小结构体的对齐数,修改默认对齐数。

结构体的对齐规则 第一个成员在与结构体变量偏移量为0的地址处。剩余成员变量要对齐到对齐数的整数倍的地址处。 对齐数&#xff1a;编译器默认对齐数与该成员大小的较小值vs中默认对齐数为8没有默认对齐数&#xff0c;那么对齐数就是其本身成员大小 结构体总大小为最大对齐数…

优酷视频怎么转二维码_优酷视频转二维码

有的人想将自己制作的视频分享出去&#xff0c;那么该如何将视频转换成二维码来分享呢?其实方法很简单&#xff0c;直接在视频界面中就能生成&#xff0c;这里和大家讲讲。 01、 登录自己的优酷帐号&#xff0c;然后点击右上角的上传按钮。 优酷视频怎么转二维码_优酷视频转…

优酷kux怎么转码mp4

2021年3月3日实测可行。 可以借助优酷自带的解码器进行kux转码成mp4&#xff0c;以下方法能转1080P及4K非独播的剧&#xff0c;大家可以新建一个文本文档然后把以下文字复制进去然后另存为bat&#xff0c;这个bat只要在kux所在目录运行就可以将所有kux自动转换成mp4&#xff0…

Vue2 插槽

1.什么是插槽 插槽(Slot)是vue为组件的封装者提供能力。允许开发者在封装组件时&#xff0c;把不确定的&#xff0c;希望由用户指定的部分定义为插槽。 <template><div id""><h1>App根组件</h1><!-- Left组件和Right组件渲染区域 -->&…

解决耳机插电脑 只有背景音乐

打开控制面板 点击 管理音频 将扬声器设为默认&#xff0c;如果是的话跳过这一步 打开扬声器属性 点击 级别 — 平衡 播放音乐&#xff0c;调节左前&#xff0c;右前 调整到最舒服的位置&#xff0c;确定退出就可以了 PS&#xff1a;如果有帮助&#xff0c;记得点赞哦&#xf…

Vue2系列教程——插槽

Vue2 插槽 1. 默认插槽 App.vue文件中&#xff0c; <template><div><Category title"电影" :listData"films"><img src"../img/007.jpg" alt""></Category></div> </template>Category文…

vue组件嵌套(初学者超简单,一看就懂)

一.组件的创建模板&#xff1a; //第一步&#xff1a;创建定义组件 const 定义的组件名Vue.extend({template:<div>组件的内容&#xff08;html标签插值语法&#xff09;</div>&#xff0c;data(){ //必须写为data(){}函数方法格式组件内容中插值语法的数据} }…