我正在使用 ColdFusion 和 POI Workbook 创建一个 Excel 文件。该文件创建得很好,但是我有包含数值的单元格,需要存储为数字,以便 SUM 和其他函数正常工作。
我想在为基本上循环数据的excel表添加数据后调用代码,如果值为数字,则将数据格式设置为数字。这样,当我打开 Excel 文件时,我可以对该列数据执行 SUM 或任何操作。
以下是我迄今为止尝试过的,它确实“有效”,因为所有单元格都具有#EBEBEB 背景颜色,但是它们仍然有警告说“数字存储为文本”,如下所示。我怎样才能解决这个问题?
// Create our dataFormat object
df = poiWorkbook.createDataFormat();
// Create our new style
formatNumber = poiWorkbook.createCellStyle();
formatNumber.setFillPattern( formatEvenRowRightAlignStyle.SOLID_FOREGROUND );
formatNumber.setAlignment( formatNumber.ALIGN_RIGHT );
XSSFColor = createObject("java", "org.apache.poi.xssf.usermodel.XSSFColor");
formatNumber.setFillForegroundColor( XSSFColor.init(Color.decode("##EBEBEB")) );
formatNumber.setDataFormat(df.getFormat("0.00"));
// Loop over the data and apply the format
for (x=0;x<rowCount;x++) {
for (y=0;y<colCount;y++) {
poiSheet.getRow(x).getCell(y).setCellStyle(formatNumber);
}
}