VB.NET WinForm中对datagridview中一列文本型日期值导出成Excel时,却变成了数字?如何解决呢?
VB.NET将datagridview1中的内容导出生成excel时,为什么日期栏是字符型 '2011-8-1' 至excel中时,却成了数字显示
如:40756, 40757, ....
害得我只好在Excel中右键,---设置单元格式---日期格式 才可以。
那有没有直接导出生成Excel时不要改变为数字呢?
请指教,谢谢!
[解决办法]
datagridview导到excel时设置单元格格式为日期
[解决办法]
你要知道日期字段导出到电子表格是在电子表格的第几列,然后在程序中设置该列的单元格格式的日期类型
[解决办法]
加单引号就ok了,比如
StrValue = "'" & StrValue
写入 Excel 的单元格
[解决办法]
你要知道日期字段导出到电子表格是在电子表格的第几列,然后在程序中设置该列的单元格格式的日期类型
[解决办法]
With xlWorkSheet
Dim i As Integer
Dim k As Int16 = 0
For i = 0 To DT.Columns.Count - 1
If DT.Columns(i).DataType Is GetType(System.DateTime) Then
.Range(.Cells(1, i + 1), .Cells(DT.Rows.Count + 1, i + 1)).NumberFormat = "yyyy/mm/dd"
End If For k = 0 To _DataGV.Columns.Count - 1
If DT.Columns(i).ColumnName = IIf(InStr(_DataGV.Columns(k).Name, ".") <> 0, _DataGV.Columns(k).Name.Substring(InStr(_DataGV.Columns(k).Name, "."), _DataGV.Columns(k).Name.Length - InStr(_DataGV.Columns(k).Name, ".")), _DataGV.Columns(k).Name) Then
.Cells(1, i + 1) = _DataGV.Columns(k).HeaderText
Exit For
End If
Next
Next
End With
红色字为追加部分
[解决办法]
前面加个“‘”即可