use*_*185 5 java excel short apache-poi bit-fields
嗨,
这是我第一次使用POI(Java Excel解决方案)的经验,我试图将其中一行中的缩进设置为17,如下所示:
CellStyle style = repSheetPositions.getRow(2).getCell(0).getCellStyle();
Run Code Online (Sandbox Code Playgroud)
当我检查缩进的值是:
short a = style.getIndention();
Run Code Online (Sandbox Code Playgroud)
a = 15
我将值更改为:
repSheet.getRow(2).getCell(0).getCellStyle().setIndention((short) 17);
Run Code Online (Sandbox Code Playgroud)
这次的价值是:
short a = style.getIndention();
Run Code Online (Sandbox Code Playgroud)
a = 1
请你帮助我好吗?
非常感谢!
问题是Excel 2003对单元格的最大缩进有限制.根据这篇文章,Excel对单元格的最大缩进是15.
您可以使用的最大缩进值是15.
该HSSFCellStyle班必须采取你的价值,并保持余数划分时服用这帐户16.这些是我通过不同输入获得的输出:
15 => 15
16 => 0
17 => 1
18 => 2
31 => 15
32 => 0
Run Code Online (Sandbox Code Playgroud)
但是,当使用XSSFCellStyle(用于.xlsx工作簿,Excel 2007+)时,此问题将消失.有了XSSFCellStyle,我可以设置17并17回来.
如果您使用Excel 2003及之前(.xls),那么您无能为力; 这是Excel的限制.但是,Excel 2007+支持大于15的缩进.解决方法是使用.xlsx工作簿,以便Apache POI使用XSSFCellStyle,它将setIndention(short (17))正确支持.
| 归档时间: |
|
| 查看次数: |
3160 次 |
| 最近记录: |