vb中如何将数据导出到excel

一个文本框、一个按钮,通过某个条件查询后将结果显示在datagrid中,再用一个按钮将datagrid中的结果导出到excel或word中去。。。这两个按钮下的代码该怎么写。。。谢谢!!!

介绍
下面通过一步一步的介绍,如何通过VB.NET来读取数据,并且将数据导入到Excel中。

第一步:
打开VS开发工具,并且添加引用。
然后选择。

Microsoft Excel 12.0 object library and。

Microsoft Excel 14.0 object library。

第二步:
创建一个Excle在你的电脑中。
 

第三步:
在VS中写入如下代码:

Imports System.Data

Imports System.Data.SqlClient

Imports Excel = Microsoft.Office.Interop.Excel。


Public Class excel

‘添加按钮

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _

        Handles Button1.Click

        Try

            '创建连接

            Dim cnn As DataAccess = New DataAccess(CONNECTION_STRING)

            

            Dim i, j As Integer

            '创建Excel对象

            Dim xlApp As Microsoft.Office.Interop.Excel.Application

            Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook

            Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet

            Dim misValue As Object = System.Reflection.Missing.Value

            xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass

            xlWorkBook = xlApp.Workbooks.Add(misValue)

            ' 打开某一个表单

            xlWorkSheet = xlWorkBook.Sheets("sheet1")

            ' sql查询

            '  xlWorkBook.Sheets.Select("A1:A2")


            Dim sql As String = "SELECT * FROM EMP"

            ' SqlAdapter

            Dim dscmd As New SqlDataAdapter(sql, cnn.ConnectionString)

            ' 定义数据集

            Dim ds As New DataSet

            dscmd.Fill(ds)

           ‘添加字段信息到Excel表的第一行

            xlWorkSheet.Cells(1, 1).Value = "First Name"

            xlWorkSheet.Cells(1, 2).Value = "Last Name"

            xlWorkSheet.Cells(1, 3).Value = "Full Name"

            xlWorkSheet.Cells(1, 4).Value = "Salary"

            ' 将数据导入到excel

              For i = 0 To ds.Tables(0).Rows.Count - 1

                'Column

                For j = 0 To ds.Tables(0).Columns.Count - 1

                    ' this i change to header line cells >>>

                    xlWorkSheet.Cells(i + 3, j + 1) = _

                    ds.Tables(0).Rows(i).Item(j)

                Next

            Next

            'HardCode in Excel sheet

            ' this i change to footer line cells  >>>

           xlWorkSheet.Cells(i + 3, 7) = "Total"

            xlWorkSheet.Cells.Item(i + 3, 8) = "=SUM(H2:H18)"

            ' 保存到Excel

            xlWorkSheet.SaveAs("D:\vbexcel.xlsx")

            xlWorkBook.Close()

            xlApp.Quit()

            releaseObject(xlApp)

            releaseObject(xlWorkBook)

            releaseObject(xlWorkSheet)

            '弹出对话框显示保存后的路径

            MsgBox("You can find the file D:\vbexcel.xlsx")

        Catch ex As Exception


        End Try


    End Sub

    ' Function of Realease Object in Excel Sheet

    Private Sub releaseObject(ByVal obj As Object)

        Try

            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)

            obj = Nothing

        Catch ex As Exception

            obj = Nothing

        Finally

            GC.Collect()

        End Try

    End Sub

End Class

复制代码。

第四步:
看到如下导出结果。

     

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-16
Private Sub Command1_Click() '查询数据
Set Rs4 = New ADODB.Recordset
Dim sSQL As String
Dim j As Integer
DT1 = Format(Trim(D1.Value), "yyyy-mm-dd")
DT2 = Format(Trim(D2.Value), "yyyy-mm-dd")
'sql语句
sSQL = " Select * from XS_TAB WHERE RQ >='" & DT1 & "' AND RQ<='" & DT2 & "'" ' Order by id "
Rs4.Open sSQL, mConn, adOpenKeyset, adLockOptimistic
j = Rs4.recordcount
MsgBox "表内记录数:" + CStr(Rs4.recordcount) + "条.", vbOKOnly, "信息提示"
Set DataGrid1.DataSource = Rs4 '显示在DataGrid1中
DataGrid1.Refresh
End Sub
'导出到d:\text2.xls中
Private Sub Command2_Click()
Dim i As Integer
Dim j As Integer
Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
On Error Resume Next
Set xlBook = xlApp.Workbooks.Open("d:\text2.xls")
Set xlSheet = xlBook.Worksheets(1)
For j = 0 To DataGrid1.Columns.Count - 1
xlSheet.Cells(1, j + 1) = DataGrid1.Columns.Item(j).Caption
Next j
xlSheet.Cells(6, 1) = "i"
adodc1.Recordset.MoveFirst
For i = 0 To adodc1.Recordset.recordcount - 1
'For j = 0 To DataGrid1.Columns.Count - 1 '这一行跟下一行效果一样
For j = 0 To adodc1.Recordset.fields.Count - 1
xlSheet.Cells(i + 1, j + 1) = adodc1.Recordset(j)
Next j
adodc1.Recordset.movenext
Next i
End Sub
第2个回答  2013-08-16
Dim xlApp As Excel.Application�0�2
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表
xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值
xlBook.Close (True) '关闭工作簿�0�2
xlApp.Quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象

vb中如何将数据导出到excel
Microsoft Excel 14.0 object library。第二步:创建一个Excle在你的电脑中。第三步:在VS中写入如下代码:Imports System.Data Imports System.Data.SqlClient Imports Excel = Microsoft.Office.Interop.Excel。Public Class excel ‘添加按钮 Private Sub Button1_Click(ByVal sender As System.Object,...

vb的程序中的picture曲线如何导出excelvb曲线图
1、先打开控制面板-管理工具-打开数据源-系统DSN-添加驱动程序 2、这里要输入你想要连接的哪个服务器上的数据库 3、这里要输入数据库的帐户跟密码 4、然后一直点下一步,到这一步可以先测试能不能连到连据库 5、连接成功后、接下来就是用VB连接SQL SERVER、导入数据到EXCEL表格中 6、先打开EXCEL表...

怎样实现用vb导入excel表格
首先,在VB中添加对Excel对象库的引用。然后,通过创建Excel应用程序对象(Application)实例来打开Excel文件。接着,获取工作簿(Workbook)和工作表(Worksheet)对象,从而访问Excel中的数据。使用合适的函数(例如Range或Cells)来读取工作表中的数据,并将其导入到VB的本地数据结构中。此外,可以使用循环结...

vb中的datagrid里面的数据如何导出到excel表里面
首先在你的工程中引用Excel对象,比如“Microsoft Excel 11 Object Library”;然后在执行导出的代码里声明对象(代码仅供参考):Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim strFilename as String ''Excel文件 Dim i as Integer,j as Intege...

...的数据存入到excel里vb怎么查找数据库中的数据存入到excel里面...
您可以使用VB语言编写一个程序来连接数据库,执行查询语句并将结果存入Excel。首先,您需要使用ADODB对象建立与数据库的连接,然后使用Recordset对象执行查询并获取结果集。接着,您可以使用Excel对象创建一个工作簿,并将查询结果逐行写入到Excel中。最后,保存并关闭工作簿即可。这样就能实现将数据库中的数据...

vb怎样将下面这些数据输出到excel表格中呢?数据是在list1中的。想把...
1、导入office11或12类 2、创建EXCEL程序对象,新建或打开一个EXCEL工作簿,指定一个对象变量为Sheet1。3、把List1中各列的值分别放入数组内,并分别赋值给上面打开的Excel薄的当前工作表的单元格(cell)--一维数组可以整个赋值给工作表的一列。4、保存后关闭 5、释放资源。相关对象关闭后设为nothing...

vb界面输入的数据如何到excel表中
Excel里按Alt+F11打开Vb编辑器,在里面可以建一个窗体,放入文本框,通过程序来赋值,如sheets("sheet1").range("a1").value =11。

如何将VB中TEXT里的文本导入EXCEL里面啊
打开文本数据。新建Excel文档,并打开Excel文档,点击左上角开始处,点击“打开”。打开数据导入界面,选择文本数据点击“确定”,进入下一界面。在下一界面,勾选“逗号”,点击“下一步”,下一页面,继续点击“下一步”。操作完成后,数据导入完成。

vb 执行sql语句得到的结果集怎样输出到excel单元格中?
可以,在vb窗口建个datagrid,adodc,用adodc绑定你的数据库,datagrid的DataSource选择那个adodc,这样就能把记录集中的数据显示在datagrid表格中,然后再把datagrid表格中的查询结果导入到Excel中,把datagrid导入到Excel的代码如下:Dim ex As Object Dim i As Integer Dim j As Integer Dim XlApp As ...

怎么才能将VB程序的运算结果保存到EXCEL?这帮人网上的答案千奇百怪...
'打开文件 Set excel_Book = excel_App.Workbooks.Open("C:\\1.XLS") '工作簿实例 Set excel_sheet = excel_Book.Worksheets("Sheet1") '数据表实例 excel_sheet.Range("C1").Value = "你好!" '设置单元格C1的值为"你好!"excel_sheet.Range("A1").Value = 100 '设置单元...

相似回答