2

我正在使用 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"));
4

3 回答 3

1

POI似乎还不支持这一点。但是,低级实现似乎是作为错误 46136的一部分完成的。这个错误正在等待为这个特性指定一个接口的建议,所以我想说,有朝一日完成这项工作的最好办法是发表你的评论并可能投票给它。我现在才投票。

于 2013-03-12T16:34:05.770 回答
0

你能在它前面加上一个单引号吗?

cell.setCellValue(new HSSFRichTextString("'" & quote.getQuoteId() ));
于 2013-03-12T15:20:56.827 回答
0

并不真地。Excel 真的很喜欢它的数字,这就是为什么这被认为是错误的。唯一能让 Excel 满意的事情就是将 QuoteId 格式更改为以字母开头,而不是完全数字。

于 2013-03-12T15:23:11.193 回答