java poi调用excel文件的自动行高来设置自动行高
1,如果一行中没有合并单元格的单元格那就比较简单了可以直接调用api
XSSFWorkbook workbook = new XSSFWorkbook("文件路径或者文件流");XSSFSheet sheet = workbook.getSheet(sheetIndex);XSSFRow xssfRow = sheet.getRow(rowIndex);CTRow ctRow = xssfRow.getCTRow();ctRow.setCustomHeight(false);
2,如果有合并的单元格,因为excel不支持合并单元格自动行高就需要自己设计一下了。
得到简单思路就是计算合并单元格的总宽度和它的内容,然后把宽度设置在一个没有用到的单元格
把合并单元格的样式都复制在这个测试单元格内,内容也设置在该单元格内最后调用自动调整行高的api就可以准确得到行高了再把测试单元格删除掉就行了。而且比传统方法计算行高更加准确。大致代码如下不可直接用需要自己调整。
public static void cellAndSetRowHeigt(Sheet sheet, XSSFRow sourceRow) {int count=1;int maxColumnIndex=30;for (int cellIndex = sourceRow.getFirstCellNum(); cellIndex <= sourceRow.getPhysicalNumberOfCells(); cellIndex++,count++) {if (cellIndex < 0) continue;XSSFCell sourceCell = sourceRow.getCell(cellIndex);//获取内容String cellContent = getCellContentAsString(sourceCell);if (null == cellContent || "".equals(cellContent)) {continue;}//得到列宽Map<String, Object> cellInfoMap = getCellInfo(sourceCell);Integer cellWidth = (Integer) cellInfoMap.get("width");if(getMergeColumNum(sourceCell,sheet)!=1){sheet.setColumnWidth(maxColumnIndex+count,cellWidth);XSSFCell cell = sourceRow.createCell(maxColumnIndex+ count);CellStyle newStyle = sheet.getWorkbook().createCellStyle();template2.copyCellStyle(sourceCell.getCellStyle(),newStyle, sheet.getWorkbook());cell.setCellStyle(newStyle);//cell.getCellStyle().setFont(sourceCell.getCellStyle().getFont());cell.setCellValue(getCellContentAsString(sourceCell));}}sourceRow.getCTRow().setCustomHeight(false);for (int i=30;i<60;i++){sheet.setColumnHidden(i,true);}}
java poi调用excel文件的自动行高来设置自动行高相关推荐
- java poi读取excel文件(xlsx)
读取excel文件的方法有许多种,这篇文章主要描述通过poi读取excel文件. 先maven导入jar包 <dependency><groupId>org.apache.po ...
- java POI 读取Excel文件 将图片、表格生成到PPT
临时有个需求,要求通过读取EXCEL文件,然后通过文件名称去给定的文件夹内查找图片,并将图片写入PPT中,详情以表格的形式写到图片右侧,每张图片一页PPT.效果如图所示: 用到的jar包如下(mave ...
- Java POI实现Excel文件批量导入(兼容xls,xlsx)
1.POI使用详解 1.1.什么是Apache POI? POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Micros ...
- java poi生成excel文件_java poi 导出Excel文件
1,导包 poi-3.9-XXX.JAR 2, 创建一个实体对象 public class Student implements Serializable { /** * */ private st ...
- java excel里对角线,使用POI在excel文件单元格实现对角线
[java POI操作Excel文件(合并单元格.插入图片.超链接)] 查看POI的API可以发现HSSFBorderFormatting.setBoderDiagonal接口,尝试使用这个接口并没有 ...
- Java面试poi中excel版本大小_java 中 poi解析Excel文件版本问题解决办法
java 中 poi解析Excel文件版本问题解决办法 发布时间:2020-10-02 03:46:15 来源:脚本之家 阅读:91 作者:程诺 poi解析Excel文件版本问题解决办法 poi解析E ...
- Java 使用 POI 对 Excel文件 进行读写操作
Java 使用 POI 对 Excel文件 进行读写操作 一.背景 目前正在做一个问卷功能模块,收集完问卷信息后,需要将数据库中的数据导出到Excel数据表中进行留存,因此就学习了在Java中如何对E ...
- java使用poi生成Excel文件并合并单元格
java使用poi生成Excel文件并合并单元格 业务需要根据 分管部门 字段进行合并,现在提供一种思路. controller层 @Inject(target = "/inf ...
- Java使用POI读取Excel文件
上篇文章记录了简单的POI创建Excel文件,依赖导入可参考上篇 POI读取excel中公式 @Testpublic void testRead() throws Exception {//读取文件的 ...
- java poi 导出excel不能超过65536行
java poi 导出excel不能超过65536行 报这个异常 Exception in thread "main" java.lang.IllegalArgumentExcep ...
最新文章
- android:更改PagerTabStrip背景颜色,标题字体样式、颜色和图标,以及指示条的颜色...
- 46 定时任务模块APScheduler
- Oracle 分析函数--Row_Number()
- NFS问题:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
- [TCP/IP] 关闭连接后为什么客户端最后还要等待2MSL
- linux之pmap命令
- Metropolis Hastings MCMC when the proposal and target have differing support
- lstm 做多分类loss完全不下降_使用Induction Network做Few-Shot Text分类
- 郭盛华:互联网安全可能是下一个热门投资主题
- plotyy函数_Matlab plotyy函数的使用及问题总结
- P2132 小Z的队伍排列-杨氏矩阵与hook定理
- 高等数学:如何理解泰勒展开公式?等价无穷小与泰勒公式的关系是什么?
- java实现windows下amr转换为mp3(可实现微信语音和qq语音转换)
- Node.js 15正式版发布
- 《科学的画廊》:看见图片背后的科学
- 手机在下载文件时乱码问题
- VC6.0 MFC 模拟弹簧运动(改进版)
- 合宙Luat | 电源设计——模块应用必看的2个要点
- 2021年高处安装、维护、拆除考试内容及高处安装、维护、拆除考试试题
- html弹出框播放视频