DataGrid导出为excel.doc
文本预览下载声明
DataGrid导出为excel
Public Function ExportXLsD(ByVal datagrid As DataGrid) , ByVal Title As String)
Dim Mytable As New DataTable
Mytable = CType(datagrid.DataSource, DataTable)
If mytable Is Nothing Then
MessageBox.Show(没有记录不能导出数据, PurpleStar, MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Function
End If If mytable.Rows.Count 0 Then
Dim MyFileName As String
Dim FileName As String
With SaveFileDialog1
.AddExtension = True 如果用户忘记添加扩展名,将自动家上
.DefaultExt = xls 默认扩展名
.Filter = Excel文件(*.xls)|*.xls
.Title = 文件保存到
If .ShowDialog = DialogResult.OK Then
FileName = .FileName
End If
End With
MyFileName = Microsoft.VisualBasic.Right(FileName, 4)
If MyFileName = Then
Exit Function
End If
If MyFileName = .xls Or MyFileName = .XLS Then Dim FS As FileStream = New FileStream(FileName, FileMode.Create)
Dim sw As StreamWriter = New StreamWriter(FS, System.Text.Encoding.Default) sw.WriteLine(vbTab FileName vbTab Date.Now) Dim i, j As Integer
Dim str As String =
For i = 0 To mytable.Columns.Count - 1
str = mytable.Columns(i).Caption
sw.Write(str vbTab)
Next
sw.Write(vbCrLf) For j = 0 To mytable.Rows.Count - 1
For i = 0 To mytable.Columns.Count - 1
Dim strColName, strRow As String
strRow = IIf(mytable.Rows(j).Item(i) Is DBNull.Value, , mytable.Rows(j).Item(i))
sw.Write(strRow vbTab)
Next
sw.Write(vbLf)
Next
sw.Close()
FS.Close()
显示全部