我正在使用POI将产品ID输出到excel单元格。产品ID是一个数字字符串 “0000001”,“3212230”。
生成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 :(得分:1)
POI似乎还不支持此功能。但是,低级实现似乎是bug 46136的一部分。这个错误正在等待为这个功能指定界面的建议,所以我想说有一天完成这项工作的最好方法就是贡献你的评论并为它投票。我现在就投票了。
答案 1 :(得分:0)
你能在它之前加上单引号吗?
cell.setCellValue(new HSSFRichTextString("'" & quote.getQuoteId() ));
答案 2 :(得分:0)
不是真的。 Excel真的很喜欢它的数字,这就是为什么这被认为是一个错误。关于唯一能让Excel满意的事情就是将QuoteId格式更改为以字母开头而不是完全数字。