[英]POI - Handling data in HH:MM:SS.sss Format
我正在一個項目中,我有HH:MM:SS.sss
格式的數據,我必須以Excel /電子表格生成報告。 我正在使用POI生成excel文件,但是我面臨以下問題:
如果我將數據設置為字符串格式,即cell.setCellValue("02:45:6.7");
即使我使用[h]:mm:ss.000;@
即cs.setDataFormat(df.getFormat("[h]:mm:ss.000;@"))
格式化單元格,也無法使用average
, sum
等Excel公式。 cs.setDataFormat(df.getFormat("[h]:mm:ss.000;@"))
是無效的,因為它是字符串。
HSSFCellStyle cs = hssfworkbook.createCellStyle(); HSSFDataFormat df = hssfworkbook.createDataFormat(); cs.setDataFormat(df.getFormat("[h]:mm:ss.000;@"));
Excel沒有任何功能(據我所知)以hh:mm:ss.sss
格式接收數據,我嘗試使用“ TIME(HH,MM,SS)”並將單元格格式化為[h]:mm:ss.000;@
在將小數點替換為000后不顯示值,即TIME(02,45,6.7) is displayed as 02:45:6.000
我嘗試在POI源代碼中進行更改,我嘗試按照此問題中的步驟進行操作https://stackoverflow.com/a/10306350/2513084仍然無法正常工作。 生成的文件顯示-該文件的某些公式或名稱包含Kingsoft Spreadsheet不支持的內置函數,並且重新計算這些公式或名稱可能會導致錯誤的結果。 Microsoft Office無法打開該文件,並顯示錯誤文件錯誤:數據可能已丟失。
我已經很長時間沒有使用POI了,但是據我所知……日期只不過是數字(毫秒)而已。 只有單元格類型定義為日期/數字單元格。
然后,在其他位置定義單元的實際視覺表示。
我的一些舊代碼(可能不是最新的POI版本具有以下語句):
HSSFCell cell = newRow.createCell(column);
Date date = new Date(some_date_value);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(date);
您可以將單元格樣式(顯示格式)設置為:
cell.setCellStyle(style);
因此,我將深入探討style
部分...以及如何進行設置(對不起,該部分沒有有效的示例)。 也許它將與您的代碼一起使用...因為您沒有將值設置為數字,而是設置為字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.