【发布时间】:2019-12-26 19:53:08
【问题描述】:
大家好,我想让我的单元格垂直排列,而不是使用 POI 靠左侧对齐。
这是我的java代码:
static CellStyle headerCellStyle = workbook.createCellStyle();
headerCellStyle = workbook.createCellStyle();
Row headerRow = null;
sheet = workbook.createSheet("String " + sheetname);
headerCellStyle.setWrapText(true);
headerCellStyle.setAlignment(HorizontalAlignment.LEFT);
headerCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
headerCellStyle.setVerticalAlignment(VerticalAlignment.MIDDLE);
// Create a Row
headerRow = sheet.createRow(0);
但是,headerCellStyle.setVerticalAlignment(VerticalAlignment.MIDDLE); 行有以下错误:
CellStyle类型中的setVerticalAlignment(org.apache.poi.ss.usermodel.VerticalAlignment)方法不适用于参数(org.apache.poi.sl.usermodel.VerticalAlignment)
如果我已经将它定义为 static CellStyle headerCellStyle = workbook.createCellStyle();,我该如何让它工作?
改成SS好像没有“中间”选项?
这是这两种类型在 excel 中的区别:
默认方式:
中道(我想要的方式):
中心路:
【问题讨论】:
-
仔细查看您的错误 - 您的导入包名称中有错字!需要
poi.ss.而不是poi.sl. -
@Gagravarr 似乎没有选择 SS 的中间选项?
-
CENTER不会做你需要的吗? (不同的文件格式称呼不同的东西) -
更新了我的 OP 以显示每个设置的差异。
-
你的第二张图片(我想要的方式)显示CellStyle.setVerticalAlignment(VerticalAlignment.CENTER)。您的第三张图片显示CellStyle.setAlignment(HorizontalAlignment.CENTER)。
VerticalAlignment.CENTER和HorizontalAlignment.CENTER是有区别的。
标签: java excel apache-poi alignment vertical-alignment