分享

VB中把datagrid数据保存到excel里

 云端的流浪 2010-12-01
'输出表头 
For i = 0 To Me.Adodc1.Recordset.Fields.Count - 1
'设置列名
strColName1 = Chr(65 + i) & "1"
oSheet.Range(strColName1).Value = Me.DataGrid1.Columns(i).Caption

'据DataGrid中的宽度设置EXCEL列宽
StrColName = Chr(65 + i) & ":" & Chr(65 + i)
oSheet.Columns(StrColName).ColumnWidth = Int(Me.DataGrid1.Columns(i).Width / 90)

Next i

'输出内容
Do Until Me.Adodc1.Recordset.EOF
j = j + 1

For i = 0 To Me.Adodc1.Recordset.Fields.Count - 1
StrColName = Chr(65 + i) & CStr(j + 1)
If Not IsNull(Me.DataGrid1.Columns(i)) And Me.DataGrid1.Columns(i) <> "" Then

'根据列的属性对表格数据作相应格式化处理
Select Case Me.Adodc1.Recordset.Fields(i).Type
Case adCurrency
oSheet.Range(StrColName).Value = CCur(Me.DataGrid1.Columns(i))
Case adNumeric
oSheet.Range(StrColName).Value = CLng(Me.DataGrid1.Columns(i))
Case adInteger
oSheet.Range(StrColName).Value = CInt(Me.DataGrid1.Columns(i))
Case adDate
oSheet.Range(StrColName).Value = CDate(Me.DataGrid1.Columns(i))
oSheet.Range(StrColName).NumberFormatLocal = "yyyy-mm-dd hh:mm"
Case Else
oSheet.Range(StrColName).Value = Me.DataGrid1.Columns(i)

End Select
Else
oSheet.Range(StrColName).Value = Me.DataGrid1.Columns(i)
End If
Next i

Me.Adodc1.Recordset.MoveNext
Loop


别人的代码 仅供参考~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多