在Excel工作表中保存数值时遇到问题。当我执行插入或更新涉及数值的查询时,VB.NET将传输到工作表,就好像它们是文本...我不希望这样。我用vb.net插入数字的单元格用绿色框突出显示,表示该值存储为文本而不是数字:
我尝试使用以下行插入数字,但仍保持原样:
comando.Parameters.Add("?", OleDbType.Numeric).Value = Val(dato)
如何让vb.net将其保存为数字而不是文本?
编辑:有人将我的问题标记为可能重复。另一个链接的问题使用COM / INTEROP ...我没有使用它,我正在使用OLE DB。我只是想知道是否有任何方法可以在Excel上存储数字而不将其保存为文本。
答案 0 :(得分:0)
您可以随时尝试格式化单元格
Dim formatRange As Excel.Range
formatRange = xlWorkSheet.Range("a1", "b1")
formatRange.NumberFormat = "#,###,###"
xlWorkSheet.Cells(1, 1) = "1234567890"
或
Dim shXL As Excel.Worksheet
Dim temp As String
temp = "B" & (VariableYouAreEntering.Count + 1)
With shXL.Range("B1", temp)
.NumberFormat = "000000" 'or however you want to format it
End With
答案 1 :(得分:0)
答案 2 :(得分:0)
我会尝试这个
Dim dato As String = "123.45"
Dim value As Double
If Double.TryParse(dato, value) Then
comando.Parameters.Add("?", OleDbType.Numeric).Value = value
Else
comando.Parameters.Add("?", OleDbType.Numeric).Value = 0
End If
另外,我会尝试comando.Parameters.AddWithValue("?",value)
你会和我们分享你的comando CommandText吗?