首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么将怎么将数据导入excel中

2012-08-29 
如何将如何将数据导入excel中?VB.NET codePublic Sub AddData(ByVal ExcelName As String, ByVal DT As Da

如何将如何将数据导入excel中?

VB.NET code
Public Sub AddData(ByVal ExcelName As String, ByVal DT As DataTable)        Dim Connection As New OleDb.OleDbConnection        Connection.ConnectionString = ConStr(ExcelName)        Connection.Open()    End Sub

我是想把一个datagridview的数据导入excel中的,因为引用.net里的excel总是出错,所以只能采用ADO的连接方式了,但是连接上了之后怎么操作?……我就不知了……求解啊

[解决办法]
引用excel
Imports Microsoft.Office.Interop.Excel
'导出excel
Public Sub ExportToExcel(ByVal p_InfoTable As Data.DataTable)
If p_InfoTable.Rows.Count > 0 Then
Dim wait As New Wait
wait.Label1.Text = "数据导出中,请稍候..."
wait.Show()
wait.Refresh()

Dim myExcel As Microsoft.Office.Interop.Excel.Application
Try
Dim datav As New DataView
datav = p_InfoTable.DefaultView
Dim i, j As Integer
Dim rows As Integer = datav.Table.Rows.Count
Dim cols As Integer = datav.Table.Columns.Count
Dim DataArray(rows - 1, cols - 1) As String
myExcel = New Microsoft.Office.Interop.Excel.Application

For i = 0 To rows - 1
For j = 0 To cols - 1
If datav.Table.Rows(i).Item(j) Is System.DBNull.Value Then
Else
'如果是数字类型的就保留两位小数点
'If datav.Table.Rows(i).Item(j).GetType.ToString.ToLower = "system.int16" Or _
' datav.Table.Rows(i).Item(j).GetType.ToString.ToLower = "system.int32" Or _
If datav.Table.Rows(i).Item(j).GetType.ToString.ToLower = "system.single" Or _
datav.Table.Rows(i).Item(j).GetType.ToString.ToLower = "system.double" Then
DataArray(i, j) = Format(datav.Table.Rows(i).Item(j), "#########.00").Trim
Else
DataArray(i, j) = Convert.ToString(datav.Table.Rows(i).Item(j)).Trim
End If

'DataArray(i, j) = datav.Table.Rows(i).Item(j)
End If
Next
Next
myExcel.Application.Workbooks.Add(True)
myExcel.Visible = True
For j = 0 To cols - 1
myExcel.Cells(1, j + 1) = datav.Table.Columns(j).ColumnName
Next
myExcel.Range("A2").Resize(rows, cols).Value = DataArray
Catch exp As Exception
MsgBox("数据导出失败!请查看是否已经安装了Excel", MsgBoxStyle.Critical, "数据异常")
Finally
wait.Dispose()
End Try
Else
MsgBox("未发现数据!", MsgBoxStyle.Exclamation, "数据异常")
End If
End Sub
[解决办法]
http://dotnet.51aspx.com/article/6afbf00b-459d-4642-ad14-8a4765ffafcc/read.aspx

热点排行