我怎样才能输出在Excel中的ID号码没有错误的警告

我正在使用POI将产品ID输出到Excel单元格中。 产品ID是一个数字string,如“0000001”,“3212230”。

生成excel后,我发现单元格保存这个id值有一个错误检查警告“ 这个单元格中的数字被格式化为文本或在撇号之前 ”。 如果我在Excel中双击这个单元格,它会自动更正“0000001”为1,这不是我想要的。 我知道我可以在Excel中手动closures错误检查选项,但这不是我想要的。

无论如何要保持优秀的安静,并考虑这个ID作为一个文本?
这里是代码片段:

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

看来这不是由POI支持。 但是,低层次的实现似乎是作为bug 46136的一部分来完成的。 这个bug正在等待为这个特性指定一个接口的build议,所以我想说有一天完成这个任务的最好方法就是贡献一下你的评论,也许可以为它投票。 我只是现在投票。

你可以在它之前用一个单引号吗?

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

不是真的。 Excel真的喜欢它的数字,这就是为什么这被认为是一个错误。 关于让Excel高兴的唯一的事情是改变你的QuoteId格式,以一个字母开头,而不是完全数字。