解决POI导出Excel单元格内容换行问题
- 建议使用hutool工具类来实现,maven依赖。
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.2.4</version></dependency>
- 使用方式demo,这里面使用了hutool工具类的自动换行和设置列值的方法可以让你少写很多很多代码
import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.RowUtil;
import cn.hutool.poi.excel.StyleSet;
import cn.hutool.poi.excel.cell.CellUtil;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;public static void main(String[] args) throws IOException {collapseRow();}private static void collapseRow() throws IOException {try (SXSSFWorkbook workbook = new SXSSFWorkbook(100)) {SXSSFSheet sheet = workbook.createSheet("new sheet");//提前创建好样式,如果你在for循环内设置样式的话,样式对象是有限的会导致有些样式缺失但不报错的问题。一定要注意!!!!StyleSet styleSet = new StyleSet(workbook);//设置边框和边款颜色styleSet.setBorder(BorderStyle.THIN, IndexedColors.PINK);//单元格内容自动换行styleSet.setWrapText();List<String> titleList = Arrays.asList("编号", "创建时间", "数量", "是否正确", "详细内容", "名称");int lastRowNum = 0;Row row = RowUtil.getOrCreateRow(sheet, lastRowNum++);//设置表格int cellNum = 0;for (String titleName : titleList) {//设置单元格内容的时候直接将样式代入就可以了Cell cell = CellUtil.getOrCreateCell(row, cellNum++);CellUtil.setCellValue(cell, titleName, styleSet, true);}List<Map<String, Object>> excelDataMap = getExcelDataMap();//填充数据for (Map<String, Object> map : excelDataMap) {row = RowUtil.getOrCreateRow(sheet, lastRowNum++);cellNum = 0;for (String key : map.keySet()) {Object value = map.get(key);Cell cell = CellUtil.getOrCreateCell(row, cellNum++);//设置单元格内容的时候直接将样式代入就可以了CellUtil.setCellValue(cell, value, styleSet, false);}}try (FileOutputStream fileOut = new FileOutputStream("gideonYeung.xlsx")) {workbook.write(fileOut);System.out.println("导出成功。");} finally {workbook.dispose();}}}/*** 初始化导出数据** @return*/private static List<Map<String, Object>> getExcelDataMap() {List<Map<String, Object>> dataList = new ArrayList<>();Map<String, Object> resultMap = new LinkedHashMap<>();resultMap.put("code", "C01");resultMap.put("createTime", LocalDate.now());resultMap.put("qty", 2000);resultMap.put("isStop", true);resultMap.put("id", "窗前明月光,疑似地上霜。举头望明月,低头思故乡。");resultMap.put("name", "哒哒");dataList.add(resultMap);resultMap = new LinkedHashMap<>();resultMap.put("code", "C02");resultMap.put("createTime", LocalDate.now());resultMap.put("qty", 20000);resultMap.put("isStop", false);resultMap.put("id", "日照香炉生紫烟,遥看瀑布挂前川。飞流直下三千尺,疑是银河落九天。");resultMap.put("name", "滴滴");dataList.add(resultMap);return dataList;}
- 导出的结果。
解决POI导出Excel单元格内容换行问题相关推荐
- 【poi第九节】poi操作excel 单元格的换行
poi操作excel 单元格的换行 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermo ...
- Java POI 导出 Excel 单元格 合并单元格 相邻的相同值 合并
通过poi导出合并单元格 合并单元格 并合并相邻并相同值的单元格 poi依赖 <dependency><groupId>org.apache.poi</groupId&g ...
- js导出excel单元格内换行符代码_javascript导出excel或者csv如何让单元格内容换行?...
尝试过使用n,效果变成整行换行了,如何让某个单元格里的内容换行? 使用a标签方式将json导出csv文件 导出 function tableToExcel(){ //要导出的json数据 const ...
- js导出excel单元格内换行符代码_如何使用php以excel格式导出带换行符的值?
我使用PHPExcel将数据从我的数据库导出到excel文件 . 到目前为止它完美无缺 . 我的问题是我有一个字符串值,我想在换行符中分隔,但必须包含在1个单元格中 . 我怎样才能做到这一点?我已成功 ...
- js导出excel单元格内换行符代码_前端和excel的那些事
前端和 excel 的那点事 在开发需求中,经常会遇到需要和excel相关的需求,毕竟不是所有人都是程序员,很多的业务都是通过excel去进行数据的整理归类计算的,excel中提供的一系列快捷功能,统 ...
- java 使用poi导出excel单元格中的内容自动换行
HSSFCellStyle cellStyle = wb.createCellStyle();cellStyle.setWrapText(true); //文本内容自动换行
- js导出excel单元格内换行符代码_PHP生成excel时单元格内换行问题的解决方法
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- java excel 单元格类型,POI Excel 单元格内容类型判断并取值
个人用到的 String birthdayVal = null; switch (cell_2.getCellTypeEnum()) { case STRING: birthdayVal = cell ...
- poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)
POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...
- 如何将 Excel 单元格内容按换行符拆分为多列
今天跟大家分享一下如何将 Excel 单元格内容按换行符拆分为多列 1.如下图我们想要将表格数据按照换行符进行拆分 2.选中要拆分的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载 ...
最新文章
- 如何将深度学习模型部署到实际工程中?(分类+检测+分割)
- Multi-Scale Densenet续作?搞定Transformer降采样,清华联合华为开源动态ViT!
- 汇编语言——100个数中的最大数
- 银行营业网点管理系统——entity类(CityArea)
- Linux中断子系统-通用框架处理
- matlab中float类型的_Java局部变量类型推断(Var类型)的26条细则
- excel导入mysql命令行_使用命令行将Excel数据表导入Mysql中的方法小结
- 兼容之css中的hack
- 船载电子海图系统(E C S )概述
- Altium Designer--多层线路的PDF文件输出
- 《新时代的中国青年》白皮书——一个90后的自白
- 滴滴Uber神州易到,共享出行四国军棋沙盘推演
- 恐怖袭击新方式:用笔记本电脑炸飞机
- GeoJson Style
- 我发的文章是怎么到你手机上的?计算机网络基础(一)
- 北美电话号码的合法性验证和格式化
- 计算机技术在图形图像处理中的应用,计算机技术在图形图像处理中的应用研究...
- “银行家算法”讲解,在前端表格中利用自定义公式实现“四舍六入五成双”
- 关于合成孔径声纳技术一点感想
- 菜鸟网管的入门之路-前言
热门文章
- linux操作系统期末试卷及答案,Linux操作系统期末复习题(含答案).pdf
- java实现通讯录部分截图
- python实现日历功能_python 日历(calendar)模块
- 洛谷P2000 拯救世界(NTT+生成函数)
- cookie和session的详解与区别
- iTool拷贝app到电脑上
- 紫罗兰永恒花园rust简谱_Sincerely钢琴谱_TRUE_紫罗兰永恒花园OP
- 诗词乱拼 zz from smth.org
- Configure Python interpreter
- 网秦上市前夕被央视曝光恶意吸费 网秦飞流否认