ColdFusionおよびPOIワークブックを使用してExcelファイルを作成しています。ファイルは素晴らしいですが、数値の値を含むセルがあり、SUMやその他の関数が正常に動作するためには数値として格納する必要があります。ColdFusion - POI Excelワークブックの書式番号:
基本的にデータをループするExcelシートのデータが追加された後にコードを呼び出し、値が数値の場合はデータ形式を数値として設定します。そのようにしてExcelファイルを開くと、そのデータ列にSUMなどを実行できます。
以下は私が今まで試したことですが、すべてのセルに#EBBEBEの背景色があるため「動作」しますが、以下に示す「テキストとして保存された番号」という警告が残ります。これをどうすれば解決できますか?
(...コメントから昇格)// 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(sheet、query)メソッドを使用してCFクエリーを追加するからです。 – Phil
@Leigh - すべてのデータを追加した後、ワークブックをループし、必要に応じて書式を適用します – Phil