以A4纸为例:

excel默认A4纸大小 =210mm×297mm,换算成excel默认单位 A4=610×850

1.定义列宽 width

2.获取当前列的数据长度 length = str.getBytes().length;

/*默认行高*/
short height = 15;
/*页行高*/
double rowheight = 0;
/*定义一个list*/
List<Double> dous = new ArrayList<Double>();/*将每一列的数据计算出行高*/
dous.add(Math.ceil((float)(length )/(sheet.getColumnWidth(cellNum)/256))*height)/*预测行高*/
double virtualTotalHeight = rowHeight + Collections.max(dous);/*预测行高:如果virtualTotalHeight大于A4高度则下一页开启,否则继续当前页*/
if(isPage(virtualTotalHeight)){HSSFRow row = sheet.createRow(rowNum);/*将dous中最大的值设定为行高*/row.setHeightInPoints(Collections.max(dous).intValue());/*统计总行高*/ rowHeight = rowHeight + Collections.max(dous);/*分页符*/sheet.setRowBreak(rowNum);
}else{/*下一页*/​rowHeight = 0;HSSFRow row = sheet.createRow(rowNum);/*将dous中最大的值设定为行高*/row.setHeightInPoints(Collections.max(dous).intValue());/*统计总行高*/ rowHeight = rowHeight + Collections.max(dous);
​
}
/*** 判断添加一行是否大于A4纸高度* @param height* @return*/
public static boolean isPage(double height){boolean flag = false;/*A4纵向纸高度*/double A4_lengthways_pageSize = 828;//纵向转换成点 (293/4.5)*12.75/*A4横向纸高度*/double A4_crosswise_pageSize = 600;//横向转换成点if((A4_crosswise_pageSize-height)> 30){flag = true;}else {flag = false;}return flag ;
}
/*** sheet默认设置* @param sheet*/
public static  void settingDefault(HSSFSheet sheet,boolean flag){//设置不显示网格线sheet.setDisplayGridlines(false);//默认列宽sheet.setDefaultColumnWidth(8);/*设置打印页面为水平居中*/sheet.setHorizontallyCenter(true);/**默认行高*/sheet.setDefaultRowHeightInPoints((short)15);/*设置页边距*/sheet.setMargin(HSSFSheet.TopMargin,(short) 0.6);sheet.setMargin(HSSFSheet.BottomMargin,(short) 0.6);sheet.setMargin(HSSFSheet.LeftMargin,(short) 0.2);sheet.setMargin(HSSFSheet.RightMargin,(short) 0.2);/*置顶*/sheet.setVerticallyCenter(false);/*打印设置*/HSSFPrintSetup printSetup = sheet.getPrintSetup();if(flag){/*默认横向打印*/printSetup.setLandscape(true);/*页高设置*/printSetup.setFitHeight((short)610);}else {/*默认纵向打印*/printSetup.setLandscape(false);/*页高设置*/printSetup.setFitHeight((short)850);}//A4纸printSetup.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);}

java POI excel导出自定义分页问题相关推荐

  1. java poi excel导出

    直接上代码 0. pom依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypo ...

  2. java poi excel导出2003版改成2007版本的时候报错

    03版本: HSSFWorkbook book =new HSSFWorkbook();---并无报错 07版本: XSSFWorkbook book =new XSSFWorkbook(); 报错内 ...

  3. Java POI Excel导入导出

    Java POI Excel导入导出 1.maven引入依赖 2.导入Excel 3.导出Excel 1.maven引入依赖 <!-- POI Excel 操作 --> <depen ...

  4. java实现数据的Excel导出, 自定义导出字段, 转换字典值

    java实现数据的Excel导出, 自定义导出字段, 转换字典值 第一版代码: 基础功能跳转此文章java自定义Excel导出工具: 简介 新增功能: 添加自定义字段导出功能, 用户可以选择字段进行导 ...

  5. java实现excel导出合并单元格

    随着数据的不断增长,很多时候需要将数据导出到Excel中进行分析.处理和展示.而Java作为一种流行的编程语言,自然也提供了很多实现Excel导出的方法.本文将介绍如何使用Java实现Excel导出, ...

  6. java poi pdf 导出

    java poi pdf 导出 (java poi pdf导出 文字+图片两张放置一行) 思路:流传入图片 ,pdf没有行的概念,只有列即为一行,两张图片可以先建立一列在一列总再建立两列各放置一张图片 ...

  7. java中Excel导出echart图片

    java中Excel导出echart图片 1.在生成echart的前端代码生成图片代码后Echart.setOption(captestRcapEchartOption, true);后面加上以下代码 ...

  8. java poi word导出

    java poi word导出 (含有文字,图像) 导出word效果如下: 思路:建立预期导出word效果,设置为模板,然后填充对应信息,注意,加粗,居中等一些图片,文字格式预先设置好.然后进行文字或 ...

  9. Java POI Excel移动行和复制行的处理

    目录 Java POI Excel移动行和复制行的处理 坑点: 实现的代码 Java POI Excel移动行和复制行的处理 POI操作Excel时,不支持移动行的操作,因此在需要通过复制行+删除行+ ...

  10. java - poi递归导出树结构Excel,导入树结构Excel,树结构递归查询,新增,修改,删除

    工作中设计树结构增删改查,导入,导出操作,搜索 POI导入导出树结构Excle 相关博客较少,故写博客用以记录分享. 文章目录 一.表结构设计,导入导出模板. 二.递归查询树结构 1.思路如下 2.代 ...

最新文章

  1. 【IT基础】常见的开发文档
  2. 网站建设想要出类拔萃还要从基础上做创新
  3. ai人工智能服务器操作系统,全球首款100%纯国产的AI操作系统来了,但说媲美Windows有意义吗...
  4. R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介
  5. jboss与nginx_JBoss BRMS与JasperReports进行报告
  6. c语言保存后怎么打开文件,保存打开文件之后,怎么也不能在显示函数中出来。。...
  7. 作者:韩芳(1987-),女,中国科学院计算机网络信息中心工程师
  8. sql int 比较_分享 21 个编写 SQL 的好习惯
  9. 别人加薪你加班,征服老板才是王道
  10. 囚徒困境(博弈论的诡计)
  11. [原创]关于comsenz 公司 系列论坛类型开源网站搭建的心得
  12. 【原】==与isEqual的比较
  13. VScode C语言环境搭建教程
  14. 汽车电子行业常见缩略词(前视摄像头相关)
  15. 微盟电子商城网络交易系统——Day01【项目介绍、项目环境搭建、快速搭建后台管理系统】
  16. 升级Windows 10 22H2的五种方法
  17. WHM系列:WHM数据迁移(WHM→WHM)
  18. python打包exe报错编码问题_python打包成exe,但执行exe报错,求解。
  19. Arcpy基础入门-4、arcpy工具进阶
  20. 一个创业者的心理独白,是美妆溪妍给了我希望

热门文章

  1. 知乎:1.03亿月活用户,获得感战略下的内容质量和商业化布局难平衡
  2. 山大软件项目管理复习整理
  3. 《大数据之路:阿里巴巴大数据实践》-第1篇 数据技术篇 -第6章 数据服务
  4. 基于四叉树的图像压缩问题
  5. 硬件算法与软件算法实现区别通俗易懂
  6. 插值算法的Python实现方式
  7. 百度地图API获取经纬度实战
  8. 信息安全工程师第二版知识点总结
  9. 个人信息安全规范----2、个人信息安全基本原则
  10. vgc机器人编程1到13题_工业机器人编程与实操期末试题