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

时间:2011-06-01 13:03:27

标签: apache width apache-poi xssf

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

  

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

     

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

怎么做?

2 个答案:

答案 0 :(得分:1)

好的,我认为我现在理解您的问题,您的业务要求声明您必须根据标准Excel字体字符宽度设置列的宽度。

我接近这个的方法是在Excel中的示例中使用Print Screen键,然后粘贴到Paint或类似的程序中并计算像素宽度。然后我会使用标尺工具测量像素/ cm,并使用得到的数字作为我的固定列宽。

这可能需要一些试验和错误才能正确。

现在说,我将分享我的个人意见,我觉得这是一个懒惰和弱的业务要求。什么是“标准字体”?哪个版本的Excel?这个要求对开发人员的解释过于开放。

答案 1 :(得分:0)

实际上,我从一开始就错了!我(可怕!)不好!宽度列已经设置好了,但是没想到!所有这一切都只是一个简单的“三个规则”而且我已经确定了。