我猜想楼主的意思是想把datagrid中显示的内容保存到其他格式的文件中。 我有一段代码是把数据库中的内容保存到excel中,请参考: Function WriteDataBaseExcel(ByVal xFile As String, ByVal dt As DataTable) As Boolean Dim xlsheet As New SpreadsheetClass Dim numbercols As Integer = dt.Columns.Count 'reader.FieldCount Dim row As Integer = 2 Dim i As Integer = 0 ' 输出标题 For i = 0 To numbercols - 1 xlsheet.ActiveSheet.Cells(1, i + 1) = dt.Columns(i).ColumnName.ToString 'reader.GetName(i).ToString() Next Dim dr As DataRow For Each dr In dt.Rows For i = 0 To numbercols - 1 xlsheet.ActiveSheet.Cells(row, i + 1) = dr.Item(i).ToString Next row += 1 Next Try '先删除同名文件 If IO.File.Exists(xFile) Then IO.File.Delete(xFile) End If xlsheet.ActiveSheet.Export(xFile, OWC.SheetExportActionEnum.ssExportActionNone) Return True Catch e As System.Runtime.InteropServices.COMException Response.Write("<div>错误:" + e.Message & "</div>") Return False End Try End Function
我有一段代码是把数据库中的内容保存到excel中,请参考:
Function WriteDataBaseExcel(ByVal xFile As String, ByVal dt As DataTable) As Boolean
Dim xlsheet As New SpreadsheetClass
Dim numbercols As Integer = dt.Columns.Count 'reader.FieldCount
Dim row As Integer = 2
Dim i As Integer = 0
' 输出标题
For i = 0 To numbercols - 1
xlsheet.ActiveSheet.Cells(1, i + 1) = dt.Columns(i).ColumnName.ToString 'reader.GetName(i).ToString()
Next Dim dr As DataRow
For Each dr In dt.Rows
For i = 0 To numbercols - 1
xlsheet.ActiveSheet.Cells(row, i + 1) = dr.Item(i).ToString
Next
row += 1
Next Try
'先删除同名文件
If IO.File.Exists(xFile) Then
IO.File.Delete(xFile)
End If xlsheet.ActiveSheet.Export(xFile, OWC.SheetExportActionEnum.ssExportActionNone)
Return True
Catch e As System.Runtime.InteropServices.COMException
Response.Write("<div>错误:" + e.Message & "</div>")
Return False
End Try
End Function