一次简单的poi导出Excel实践

简介: 一次简单的poi导出Excel实践

一 故事背景

杨乐乐又开始发呆了,他发现现在的工作很轻松,大部分的时间都是CRUD,但是比CRUD更多的是更牛逼的方式,毕竟一个高端的程序员,都是使用最朴素的编程方式,CV大法。可是乐乐也发现了问题,总是复制粘贴,也让自己很多基础的东西记不住,要是离开了这个项目怎么办,就像导出一个excel,总是粘贴别人的,虽然很简单,但是时间长了自己还是不理解,于是乐乐这个没有粘贴别人的代码,自己亲自写了一个。

二 导出实践

//创建一个工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
//创建一sheet页
HSSFSheet sheet0 = workbook.createSheet("sheet0");

//创建一行
HSSFRow row = sheet0.createRow(0);
CellStyle cellStyle = buildCellStyle(workbook);
//在创建的行上创建不同的列
row.createCell(0).setCellValue("航线代码");

row.createCell(1).setCellValue("英文船名");
row.createCell(2).setCellValue("中文船名");
row.createCell(3).setCellValue("进口航次");
row.createCell(4).setCellValue("出口航次");
row.createCell(5).setCellValue("预抵码头");
row.createCell(6).setCellValue("预抵时间");
row.createCell(7).setCellValue("来港");
row.createCell(8).setCellValue("一委");
for (int i = 0; i < 9; i++) {
    row.getCell(i).setCellStyle(cellStyle);
    sheet0.setColumnWidth(i, 252 * 15 + 900);
}
for (int i = 0; i < sailingScheduleEntitys.size(); i++) {
    HSSFRow row1 = sheet0.createRow(i + 1);
    row1.createCell(0).setCellValue(sailingScheduleEntitys.get(i).getTradeRule().getCode());
    row1.createCell(1).setCellValue(sailingScheduleEntitys.get(i).getShipEnName());
    row1.createCell(2).setCellValue(sailingScheduleEntitys.get(i).getShipCnName());
    row1.createCell(3).setCellValue(sailingScheduleEntitys.get(i).getImpVoyageCode());
    row1.createCell(4).setCellValue(sailingScheduleEntitys.get(i).getExpVoyageCode());
    row1.createCell(5).setCellValue(sailingScheduleEntitys.get(i).getEtdArrivedBerth());
    row1.createCell(6).setCellValue(threadLocal.get().format(sailingScheduleEntitys.get(i).getEtdArrivedDate()));
    row1.createCell(7).setCellValue(sailingScheduleEntitys.get(i).getTradeRule().getLastPortName());
    row1.createCell(8).setCellValue(client);
    for (int j = 0; j < 9; j++) {
        row1.getCell(j).setCellStyle(cellStyle);
        sheet0.setColumnWidth(j, 252 * 15 + 900);
    }
}

这样一个带基础样式的poi表格就建立完成了,虽然很简单,但还是自己从头做一个比较好,毕竟自己去实现可以思考很多东西,比如上面的代码有很多地方是可以优化的。

相关文章
|
4天前
|
前端开发 JavaScript
使用Vue+xlsx+xlsx-style实现导出自定义样式的Excel文件
本文介绍了在Vue项目中使用`xlsx`和`xlsx-style`(或`xlsx-style-vite`)库实现导出具有自定义样式的Excel文件的方法,并提供了详细的示例代码和操作效果截图。
21 1
使用Vue+xlsx+xlsx-style实现导出自定义样式的Excel文件
|
4天前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
8 1
使用Python+openpyxl实现导出自定义样式的Excel文件
|
4天前
|
JavaScript 前端开发 easyexcel
基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的前后端完整过程
本文展示了基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的完整过程,包括后端使用EasyExcel生成Excel文件流,前端通过Blob对象接收并触发下载的操作步骤和代码示例。
22 0
基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的前后端完整过程
|
4天前
|
数据管理 数据处理 数据库
分享一个导出数据到 Excel 的解决方案
分享一个导出数据到 Excel 的解决方案
|
8天前
|
SQL
SQL SERVER 查询表结构,导出到Excel 生成代码用
SQL SERVER 查询表结构,导出到Excel 生成代码用
16 0
|
2月前
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
30 1
|
3月前
|
前端开发 Java
基于Java爬取微博数据(二) 正文长文本+导出数据Excel
【5月更文挑战第12天】基于Java爬取微博数据,正文长文本+导出数据Excel
|
7天前
|
数据可视化 Python
我是如何把python获取到的数据写入Excel的?
我是如何把python获取到的数据写入Excel的?
21 2
|
12天前
|
数据采集 SQL DataWorks
【颠覆想象的数据巨匠】DataWorks——远超Excel的全能数据集成与管理平台:一场电商数据蜕变之旅的大揭秘!
【8月更文挑战第7天】随着大数据技术的发展,企业对数据处理的需求日益增长。DataWorks作为阿里云提供的数据集成与管理平台,为企业提供从数据采集、清洗、加工到应用的一站式解决方案。不同于桌面级工具如Excel,DataWorks具备强大的数据处理能力和丰富的功能集,支持大规模数据处理任务。本文通过电商平台案例,展示了如何使用DataWorks构建数据处理流程,包括多源数据接入、SQL任务实现数据采集、数据清洗加工以提高质量,以及利用分析工具挖掘数据价值的过程。这不仅凸显了DataWorks在大数据处理中的核心功能与优势,还展示了其相较于传统工具的高扩展性和灵活性。
31 0
|
13天前
|
开发框架 算法 .NET
C#使用MiniExcel导入导出数据到Excel/CSV文件
C#使用MiniExcel导入导出数据到Excel/CSV文件
25 0