web-dev-qa-db-ja.com

Apache POIを使用してExcelセルに数値を書き込む

Poiを使用してセルに完全な値を書き込むにはどうすればよいですか?

つまり、値が1000.000の場合、「。」の後に000を切り捨てずにこの完全な値を書き込むにはどうすればよいですかPOIで?私は完全な価値が欲しいことを意味します。

私の場合、必要なのは1000だけですが、これは適切な形式ではありません。

23
Ravi Parmar

この数値が保存されるセルの「フォーマット」を設定する必要があります。サンプルコード:

Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("format sheet");
CellStyle style;
DataFormat format = wb.createDataFormat();
Row row;
Cell cell;
short rowNum = 0;
short colNum = 0;

row = sheet.createRow(rowNum++);
cell = row.createCell(colNum);
cell.setCellValue(11111.25);
style = wb.createCellStyle();
style.setDataFormat(format.getFormat("0.0"));
cell.setCellStyle(style);

row = sheet.createRow(rowNum++);
cell = row.createCell(colNum);
cell.setCellValue(11111.25);
style = wb.createCellStyle();
style.setDataFormat(format.getFormat("#,##0.0000"));
cell.setCellStyle(style);

FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();

ソース: http://poi.Apache.org/spreadsheet/quick-guide.html#DataFormats

34
Shamit Verma