我有一个Excel文件,其中包含以下内容:
A1:SomeString
A2:2
所有字段都设置为字符串格式。
当我在Java中使用POI读取文件时,它告诉我A2是数字单元格格式。
- 问题在于,A2中的值可以是2或2.0(我希望能够区分它们),因此我不能仅使用
.toString()
。
我该怎么做才能将其作为字符串读取?
我有一个Excel文件,其中包含以下内容:
A1:SomeString
A2:2
所有字段都设置为字符串格式。
当我在Java中使用POI读取文件时,它告诉我A2是数字单元格格式。
.toString()
。我该怎么做才能将其作为字符串读取?
您是否以任何方式控制Excel工作表?用户是否有为您提供输入的模板?如果是这样,您可以编写代码来格式化输入单元格。
cell.setCellType(Cell.CELL_TYPE_STRING); 对我来说很正常
我们曾经遇到过同样的问题,强制用户在输入值之前将单元格格式设置为“文本”。这样Excel就可以正确地将数字存储为文本。
如果之后更改了格式,Excel只会更改值的显示方式,而不会更改值的存储方式,除非重新输入值(例如,在单元格中按回车键)。
Excel是否正确将值存储为文本是通过Excel在单元格左上角显示的小绿色三角形来指示的,如果它认为单元格包含数字但格式为文本,则会显示该三角形。
.toString()
。虽然不太美观,但它能正常工作。