如何将如何将数据导入excel中?VB.NET codePublic Sub AddData(ByVal ExcelName As String, ByVal DT As Da
如何将如何将数据导入excel中?
VB.NET codePublic 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