2013-03-12 67 views
2

我正在使用POI將產品id輸出到excel單元格中。產品ID是一個數字字符串,如 「0000001」,「3212230」。如何在excel中輸出id號而無錯誤警告

生成excel之後,我發現該單元格保存此id值的錯誤檢查警告「此單元格中的數字被格式化爲文本或在撇號之前」。如果我在Excel中雙擊該單元格,它會自動將「0000001」更正爲1,這不是我想要的。我知道我可以在Excel中手動關閉錯誤檢查選項,但這不是我想要的。

無論如何要保持excel安靜,並考慮這個ID作爲文本?
這裏是代碼片段:

cell.setCellType(HSSFCell.CELL_TYPE_STRING); 
    cell.setCellValue(new HSSFRichTextString(quote.getQuoteId())); 
    cell.setCellStyle(styles.get("table_t")); 
+0

您不能將該值設置爲數字,然後應用格式設置規則以使其具有所需的位數? – Gagravarr 2013-03-12 17:50:43

回答

0

你能以一個單引號前面呢?

cell.setCellValue(new HSSFRichTextString("'" & quote.getQuoteId())); 
0

不是。 Excel真的很喜歡它的數字,這就是爲什麼這被認爲是錯誤的原因。關於唯一能讓Excel快樂的事情是將QuoteId格式更改爲以字母開頭,而不是完全數字。

1

看來這尚未由POI支持。然而,低層實現似乎是作爲bug 46136的一部分完成的。這個bug正在等待爲這個特性指定一個接口的建議,所以我想說有一天完成這個任務的最好方法就是貢獻你的評論,併爲它投票。我剛剛投票。