2

私は Apache POI のユーザーで、Excel ファイル (.xlsx) を作成しており、セルで条件付き書式を使用する必要があります。私の問題はこれです:私は数式を持っています。この数式が0と1の間の値を返す場合、結果を10進数で表示したいのですが、結果を任意の10進数で表示したいです。条件付き書式を使用することは可能ですか? はいの場合、どうすればできますか?

4

5 に答える 5

1

要件を満たすコードは次のとおりです。

FileOutputStream out = new FileOutputStream("dateFormat.xls");
HSSFWorkbook hssfworkbook = new HSSFWorkbook();
HSSFSheet sheet = hssfworkbook.createSheet("new sheet");
HSSFCellStyle cs = hssfworkbook.createCellStyle();
HSSFDataFormat df = hssfworkbook.createDataFormat();
cs.setDataFormat(df.getFormat("#,##0.0"));

for(int i=0 ;i <100 ; i++ )
{
    double value = new Random(i).nextGaussian();
    HSSFRow row = sheet.createRow((short) i);
    HSSFCell cell = row.createCell((short) 0);
    cell.setCellValue(value);
    if(value>=0 && value<=1)
        cell.setCellStyle(cs);
}

hssfworkbook.write(out);
out.close();
于 2012-12-04T13:00:26.277 に答える
0

DataFormatterを使用して、セル値をフォーマットします。

例を確認してください:http ://www.roseindia.net/java/poi/setdataformat.shtml

APIリンク: http: //poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DataFormatter.html

これはあなたを助けるかもしれません。

于 2012-12-04T09:17:08.677 に答える
0
    style.setDataFormat(HSSFDataFormat.getBuiltinFormat("@"));

このデータ形式を使用すると、値を文字列としてセルに割り当てることができます。

于 2012-12-06T11:43:52.727 に答える