HSSFRow row = sheetBenefits.createRow(rowNoPB+i);
HSSFCell cell0 = row.createCell(1);
cell0.setCellStyle(style);
cell0.setCellValue(new String("Survey "+i));
row.createCell(1).setCellValue(new String("Survey "+i));
我无法将此行的样式设置为:
row.createCell(1).setCellValue(new String("Survey"+i)).setCellStyle(style);
它给我的错误是“无法在基元类型void上调用setCellValue(String)”。这种情况下的错误是什么?我如何在单行代码中实现所有3个目标?
SetCellValue
方法的返回类型为void
,因此在调用SetCellValue
后放置SetCellStyle
方法是无效的。
另一方面,您可能会考虑编写一个静态方法来为您完成这项工作。
public static Cell addCell(Row row, int columnIndex, CellStyle cellStyle, String value)
{
Cell cell = row.createCell(columnIndex);
cell.setStyle(cellStyle);
cell.setValue(value);
return cell;
}
要添加单元格,只需调用静态方法:
addCell(row, 1, cellStyle, "Hell World");
如何为单个单元格设置两种不同的样式?当前我正在显示中的单元格值 粗体 货币格式,例如:.
插入文字 插入链接 插入公式 插入日期 插入本地图片 自动过滤 冻结单元格 合并单元格 行单元格样式 列单元格样式
setColumn 样式影响范围为整列。 设置 range 参数为 A1:D1,第一反应是设置第一行的前四个单元格样式,但是实际效果确是设置 第一列、第二列、第三列、第四列 整列。 函数原型 setColumn(string $range, double $width [, resource $formatHandler]); string $range $config = ['path' =>
setRow 样式影响范围为整行。 设置 range 参数为 A1:D1,第一反应是设置第一行的前四个单元格样式,但是实际效果确是设置 第一行整行。 如果是 A1:B3 ,就会设置 第一行、第二行、第三行样式,因为单元格范围覆盖了 第一行、第二行、第三行。 函数原型 setRow(string $range, double $height [, resource $formatHandler]);
在我的java类中,我声明的单元格如下: 我在很多地方使用这个单元格来创建一个单元格并设置值和样式。如: 现在,令人惊讶的是,第一个单元格的数据格式被应用到第二个单元格。有人知道吗?我希望第二牢房的风格是无。第一个单元格的样式应该是setCellStyle()方法应用的数据格式。但是,实际上我得到的是setCellStyle()方法应用的数据格式的两个单元格值。 setCellStyle()方法: