是否可以使用Apache POI API设置XSSF工作表的列宽



我需要根据管理层提供的给定模式,从我的应用程序中生成一个MS Excel 2007+文件。大部分工作都完成了,但我必须将列宽设置为11,34厘米。我尝试使用setColumnWidth(int columnIndex, int width)方法,但不管我提供什么值,它都不起作用。JavaDoc表示:

设置宽度(以字符宽度的1/256为单位)

单个单元格的最大列宽为255个字符。此值表示使用标准字体格式化的单元格中可以显示的字符数。

如何做到这一点?

好吧,我想我现在明白你的问题了,你的业务需求规定你必须根据标准Excel字体字符宽度设置列的宽度。

我处理这个问题的方法是在Excel中的一个示例中使用"打印屏幕"键,然后粘贴到Paint或类似程序中,并计算像素宽度。然后我会使用标尺工具来测量像素/厘米,并将得到的数字用作我的固定列宽。

这可能需要一点尝试和错误来纠正。

话虽如此,我将分享我的个人观点,我觉得这是一个懒惰和软弱的商业需求。什么是"标准字体"?Excel的哪个版本?这个要求对开发人员的解释太多了。

事实上,我从一开始就错了!我的(糟糕!)糟糕!宽度列已经设置好了,但没想到!只要一个简单的"三条规则",我就做好了。

最新更新