无法从NUMERIC单元格获取STRING值,但单元格为“文本”

时间:2018-10-09 21:22:54

标签: java excel apache-poi

从Excel表中读取数值后,我试图将数值(1、2或3)存储在变量中。我正在使用apache poi。

我认为这里不需要任何代码,因为这是一个概念性问题。

当我在Excel工作表中将数字列设置为“数字”格式并尝试将其存储在intdouble中时,它说“无法将String类型转换为int类型”

当我在Excel工作表中将数字列设置为“文本”格式并尝试将其存储在String变量中时,它说“无法从NUMERIC单元格获取STRING值”

如何在这些难题中读取和存储这些值?

1 个答案:

答案 0 :(得分:0)

如果范围不太大,则可以遍历以下条目:

Sub mac()

'put each cell value in range into an integer array
Dim rng As Range
Dim ints() As Integer
Set rng = Sheets(1).Range("A1:A4")

'doesn't work
'ints = rng.Value

'should work if there are no data problems
ReDim ints(1 To rng.Cells.Count)
For i = 1 To 4
     ints(i) = rng.Cells(i, 1).Value
Next i

End Sub

但是,我怀疑您有问题,因为至少有一个条目的前导报价或类似问题。例如,单元格条目“ 1”将不会以整数1的形式读入。您将需要一些额外的代码来处理您的特定数据问题。