Я создаю файл Excel с помощью ColdFusion и POI Workbook. Файл создан отлично, однако у меня есть ячейки, которые содержат числовые значения и должны храниться как числа для правильной работы 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);
}
}
SpreadsheetFormatColumn
для этого столбца после добавления данных запроса. - person Leigh   schedule 19.09.2016SpreadsheetAddRows
и автоматически применять числовой формат. Возможно ли, что столбец форматируется как строка, а не числовой тип? - person Leigh   schedule 20.09.2016