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文件的自动行高来设置自动行高相关推荐

  1. java poi读取excel文件(xlsx)

    读取excel文件的方法有许多种,这篇文章主要描述通过poi读取excel文件. 先maven导入jar包 <dependency><groupId>org.apache.po ...

  2. java POI 读取Excel文件 将图片、表格生成到PPT

    临时有个需求,要求通过读取EXCEL文件,然后通过文件名称去给定的文件夹内查找图片,并将图片写入PPT中,详情以表格的形式写到图片右侧,每张图片一页PPT.效果如图所示: 用到的jar包如下(mave ...

  3. Java POI实现Excel文件批量导入(兼容xls,xlsx)

    1.POI使用详解 1.1.什么是Apache POI? POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Micros ...

  4. java poi生成excel文件_java poi 导出Excel文件

    1,导包  poi-3.9-XXX.JAR 2, 创建一个实体对象 public class Student implements Serializable { /** * */ private st ...

  5. java excel里对角线,使用POI在excel文件单元格实现对角线

    [java POI操作Excel文件(合并单元格.插入图片.超链接)] 查看POI的API可以发现HSSFBorderFormatting.setBoderDiagonal接口,尝试使用这个接口并没有 ...

  6. Java面试poi中excel版本大小_java 中 poi解析Excel文件版本问题解决办法

    java 中 poi解析Excel文件版本问题解决办法 发布时间:2020-10-02 03:46:15 来源:脚本之家 阅读:91 作者:程诺 poi解析Excel文件版本问题解决办法 poi解析E ...

  7. Java 使用 POI 对 Excel文件 进行读写操作

    Java 使用 POI 对 Excel文件 进行读写操作 一.背景 目前正在做一个问卷功能模块,收集完问卷信息后,需要将数据库中的数据导出到Excel数据表中进行留存,因此就学习了在Java中如何对E ...

  8. java使用poi生成Excel文件并合并单元格

    java使用poi生成Excel文件并合并单元格        业务需要根据 分管部门 字段进行合并,现在提供一种思路. controller层 @Inject(target = "/inf ...

  9. Java使用POI读取Excel文件

    上篇文章记录了简单的POI创建Excel文件,依赖导入可参考上篇 POI读取excel中公式 @Testpublic void testRead() throws Exception {//读取文件的 ...

  10. java poi 导出excel不能超过65536行

    java poi 导出excel不能超过65536行 报这个异常 Exception in thread "main" java.lang.IllegalArgumentExcep ...

最新文章

  1. android:更改PagerTabStrip背景颜色,标题字体样式、颜色和图标,以及指示条的颜色...
  2. 46 定时任务模块APScheduler
  3. Oracle 分析函数--Row_Number()
  4. NFS问题:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
  5. [TCP/IP] 关闭连接后为什么客户端最后还要等待2MSL
  6. linux之pmap命令
  7. Metropolis Hastings MCMC when the proposal and target have differing support
  8. lstm 做多分类loss完全不下降_使用Induction Network做Few-Shot Text分类
  9. 郭盛华:互联网安全可能是下一个热门投资主题
  10. plotyy函数_Matlab plotyy函数的使用及问题总结
  11. P2132 小Z的队伍排列-杨氏矩阵与hook定理
  12. 高等数学:如何理解泰勒展开公式?等价无穷小与泰勒公式的关系是什么?
  13. java实现windows下amr转换为mp3(可实现微信语音和qq语音转换)
  14. Node.js 15正式版发布
  15. 《科学的画廊》:看见图片背后的科学
  16. 手机在下载文件时乱码问题
  17. VC6.0 MFC 模拟弹簧运动(改进版)
  18. 合宙Luat | 电源设计——模块应用必看的2个要点
  19. 2021年高处安装、维护、拆除考试内容及高处安装、维护、拆除考试试题
  20. html弹出框播放视频

热门文章

  1. 初学者宝典:C语言入门基础知识大全
  2. excel 两列数据合并去重取并集
  3. 一键抓取网页的所有图片
  4. 新手教程直连路由的配置
  5. 推荐 | 南方医院历时4年构建新HIS系统
  6. 【wps word 页眉横线删除】
  7. 关闭Dell笔记本触摸板
  8. java平均数函数_java求平均数的函数
  9. 价格操控:大数据“杀熟”和算法合谋
  10. java 求tan角度求值_知道sin、cos、tan的角度如何求值,不用计算器