需求:将某个excel中的某一列列宽设置为35(该数值是Excel中显示的列宽值)。

poi中设置列宽的方法为:

HSSFSheet.setColumnWidth(int columnIndex, int width);1

第一个参数好理解–列序号,关键是第二个参数宽度的值,应该设置为多少呢?

我做了以下尝试,发现均不好使

sheet.setColumnWidth(0, 35); //a

sheet.setColumnWidth(0, (int)35.7*35); //b

sheet.setColumnWidth(0, 256*35); //c1

2

3

查了以下,上面c这种写法比较接近想要的结果,因为setColumnWidth这个方法宽度的单位是字符数的256分之一,但是我想要点开Excel查看那一列的宽度时就显示35,而不是34.29。如何比较精确地设置列宽呢?我想到了拟合方程这四个字。

所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小。(来自百度百科)

说白了就是给你几个离散点,让你找规律,求出这些点满足的函数表达式y=f(x)。有人要说了,这玩意上学的时候都没学会,现在更不会求了。没关系,我们可以借助软件的力量。最简单的软件就是Excel了。

说干就干。先尝试以下设置

sheet.setColumnWidth(0, 9100);

sheet.setColumnWidth(0, 9150);

sheet.setColumnWidth(0, 9200);

sheet.setColumnWidth(0, 9250);

sheet.setColumnWidth(0, 9300);

sheet.setColumnWidth(0, 9350);1

2

3

4

5

6

将生成的Excel的对应列的实际宽度记录下来:

[34.86,35,35.29,35.43,35.57,35.86]

以实际宽度为自变量x,你给的值为函数值y,得到一系列离散点:(34.86,9100)(35,9150)(35.29,9200)(35.43,9250)(35.57,9300)(35.86,9350)

新建一个工作表,将数据输入

x

y

34.86

9100

35

9150

35.29

9200

35.43

9250

35.57

9300

35.86

9350

选中这些数据,点插入->图表->散点图,数据有了之后,再添加趋势线,选线性,并显示公式,结果如图

好我们得到了y与x的关系,接下来代码里就该这样设置了:

sheet.setColumnWidth(0, 252*width+323);//width=351

但是这个公式并不十分准确,比如当width=9时,生成的Excel实际宽度却是9.43,怎么办?多取一些点再进行拟合。

于是有了下面的结果:

最后我们的表达式为:y=255.86x+184.27

代码里这样设置

sheet.setColumnWidth(0, 256*width+184);1

这次就比较精确了。

java设置列宽_java用POI设置Excel的列宽相关推荐

  1. java设置excel行间距_java用POI设置Excel的列宽

    需求:将某个excel中的某一列列宽设置为35(该数值是Excel中显示的列宽值). poi中设置列宽的方法为: HSSFSheet.setColumnWidth(int columnIndex, i ...

  2. java用POI设置Excel的列宽

    需求:将某个excel中的某一列列宽设置为35(该数值是Excel中显示的列宽值). poi中设置列宽的方法为: HSSFSheet.setColumnWidth(int columnIndex, i ...

  3. poi 获取excel列宽度_JAVA使用POI获取Excel的列数与行数

    JAVA使用POI获取Excel的列数与行数 发布于 2020-8-19| 复制链接 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Ja ...

  4. java自动生成生成java透视表_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  5. java统计行列和字数的函数_JAVA使用POI获取Excel的列数与行数

    前言 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进 ...

  6. java excel 列数_JAVA使用POI获取Excel的列数与行数

    前言 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进 ...

  7. POI设置excel某列值为文本格式

    excel单元格格式默认为[常规],当某列限定必须从下拉框选择一个纯数字文本的时候,必须将单元格格式设置为[文本]. 否则即使输入的值和下拉框的一致,excel都认为输入的值是常规类型,而下拉框的值为 ...

  8. 【poi第七节】poi设置excel 设置字体格式,java设置excel设置字体格式

    poi设置excel 设置字体格式,java设置excel设置字体格式 import org.apache.poi.hssf.usermodel.HSSFRichTextString; import ...

  9. 【poi第五节】poi设置Excel单元格边框 和 背景色,java设置Excel 单元格边框 和 背景色

    poi设置Excel单元格边框 和 背景色,java设置Excel 单元格边框 和 背景色 import org.apache.poi.hssf.usermodel.HSSFWorkbook; imp ...

  10. excel2010设置列宽为像素_怎么改变Excel中列宽的像素

    展开全部 1.打开EXCEL工作bai簿,在[du开始]选项卡-[单zhi元格]功能组中[格式]下拉dao列表中可以设置[行回高].列宽同样在这答里可以找到设置. 2.在行号上点鼠标右键,在弹出的快捷 ...

最新文章

  1. 2020mysql下载教程_Windows10 安装MySQL详细教程2020版 亲测亲写
  2. 动态创建的 CEdit 被限制长度,增加 ES_AUTOHSCROLL 属性;被无法Tab激活焦点,增加 WS_TABSTOP 属性(转)...
  3. 二叉树的最长的路径长度最大路径和
  4. AbstractQueuedSynchronizer源码解析
  5. 为CEDIT添加有颜色的边框
  6. 第一百三十九期:11月数据库排行:排名前三数据库分数暴跌
  7. Java面试——MyBatis系列总结
  8. python分类时特征选择_关于python:是否有可用于分类数据输入的特征选择算法?...
  9. Golang 【大字符串相加,求和】
  10. maven中常用jar包插件
  11. springboot与docker整合
  12. python求立方尾不变_蓝桥杯—立方尾不变,有些数字的立方的末尾正好是该数字本身...
  13. github的学习和使用
  14. 测试显卡专业性能软件,如何测试显卡的性能?几款的显卡性能检测软件推荐
  15. 微信小程序 服务通知
  16. 2007年春节联欢晚会相声《免费电话》李金斗、大兵、赵卫国
  17. Matter理论介绍-通用-1-03:桥接器-数据结构
  18. 基于51单片机万年历可调电子时钟闹钟温度(实物图+源码+仿真+原理图+论文)
  19. html 气泡动画效果,css3实现好看的气泡按钮动画特效
  20. 淘宝美工设计视频教程云盘分享

热门文章

  1. 计算机病毒防治与信息安全知识300问,计算机病毒防治与信息安全知识300问.pdf...
  2. 大规模定制(Mass Customization,MC)
  3. HTML中font标签用法
  4. 威密 android,勇士这赛季的结局,是否开始就已注定
  5. 捷径 iOS12.1 基础功能 参数输出
  6. 基于SVPWM的无刷直流电机矢量控制系统研究
  7. [汇编语言]立即数寻址和寄存器寻址
  8. 大学生微信公众号使用情况调查
  9. 华为机试:九宫格按键输入法
  10. 通往互联网架构师之路---全栈工程师