从DataGRID控件查询到的结果导入(给一个函数)试看看是否有乱码! private Sub GridTOexcel(mGrid As DataGrid) Dim ColCount, i, k As Integer Dim xlApp As New Excel.Application, xlBook As Excel.Workbook Dim xlsheet As Excel.Worksheet, sRange As String
'//设置标题 For i = 0 To ColCount - 1 xlsheet.Columns(i + 1).ColumnWidth = mGrid.Columns(i).Width / 120 If mGrid.Columns(i).Visible = True Then xlsheet.Cells(2, i + 1) = mGrid.Columns(i).Caption End If Next
mGrid.MoveFirst i = 0 '//从网格到excel While Not mGrid.EOF xlsheet.Range(xlsheet.Cells(i + 3, 1), xlsheet.Cells(i + 3, ColCount)).Font.Size = 10 For k = 0 To ColCount - 1 If Not IsNull(mGrid.Columns(k).Value) Then If mGrid.Columns(k).Visible = True Then xlsheet.Cells(i + 3, k + 1) = CStr(mGrid.Columns(k).Value) End If End If Next mGrid.MoveNext i = i + 1 Wend
'//关闭操作台 xlBook.SaveAs "D:\kk.xls" xlBook.Close False xlApp.Quit Set xlApp = Nothing VB.Screen.MousePointer = vbDefault Msgbox "数据导出完毕!" End Sub
搜索一下以前的帖子 很多的~
private Sub GridTOexcel(mGrid As DataGrid)
Dim ColCount, i, k As Integer
Dim xlApp As New Excel.Application, xlBook As Excel.Workbook
Dim xlsheet As Excel.Worksheet, sRange As String
ColCount = mGrid.Columns.Count
xlApp.Visible = False Set xlBook = xlApp.Workbooks.Add
Set xlsheet = xlBook.Worksheets(3)
xlsheet.Visible = xlSheetHidden
Set xlsheet = xlBook.Worksheets(2)
xlsheet.Visible = xlSheetHidden '//隐藏sheet2
Set xlsheet = xlBook.Worksheets(1)
xlsheet.Name = "导出数据"
VB.Screen.MousePointer = vbHourglass
xlsheet.Range(xlsheet.Cells(1, 1), xlsheet.Cells(1, ColCount)).Merge
xlsheet.Range(xlsheet.Cells(2, 1), xlsheet.Cells(2, ColCount)).Font.Size = 10
'//设置标题 For i = 0 To ColCount - 1
xlsheet.Columns(i + 1).ColumnWidth = mGrid.Columns(i).Width / 120
If mGrid.Columns(i).Visible = True Then
xlsheet.Cells(2, i + 1) = mGrid.Columns(i).Caption
End If
Next
mGrid.MoveFirst
i = 0
'//从网格到excel
While Not mGrid.EOF
xlsheet.Range(xlsheet.Cells(i + 3, 1), xlsheet.Cells(i + 3, ColCount)).Font.Size = 10
For k = 0 To ColCount - 1
If Not IsNull(mGrid.Columns(k).Value) Then
If mGrid.Columns(k).Visible = True Then
xlsheet.Cells(i + 3, k + 1) = CStr(mGrid.Columns(k).Value)
End If
End If
Next
mGrid.MoveNext
i = i + 1
Wend
'//关闭操作台
xlBook.SaveAs "D:\kk.xls"
xlBook.Close False
xlApp.Quit
Set xlApp = Nothing
VB.Screen.MousePointer = vbDefault
Msgbox "数据导出完毕!"
End Sub
http://www.microsoft.com/china/community/Column/32.mspx