Я создаю файл Excel с использованием ColdFusion и POI Workbook. Файл создан отлично, однако у меня есть ячейки, которые содержат числовые значения и должны быть сохранены в качестве номеров для функций SUM и других функций для правильной работы.ColdFusion - POI Формат рабочей книги Excel как номер
Я хочу вызвать код после того, как данные были добавлены для листа 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);
}
}
* код вызова после того, как данные были добавлены * Любая причина, почему? Это возможно, но было бы проще и с меньшей погрешностью подвергать форматированию при заполнении листа. – Leigh
@Leigh - причина в том, что я создаю CF-запрос со всеми моими данными, а затем добавляю его с помощью метода SpreadsheetAddRows (лист, запрос). – Phil
@Leigh - после того, как я добавлю все данные, я затем перехожу к рабочей книге и при необходимости применяю форматирование – Phil