·首页 ·asp ·.net ·php ·JSP ·CGI ·数据库 ·网页设计 ·网管专栏 ·XML ·工具软件 ·办公软件 ·操作系统 ·程序设计 ·LINUX 
  当前位置: 普克>>计算机教程>>.net>>VB.Net语言>>用VB.Net导出数据到数据透视表
flash视频教学

photoshop专题

asp.net专题

office专题

用VB.Net导出数据到数据透视表


VB.Net语言 发表时间:2006-4-8 字体:  返回
 

很多时候可以利用Excel的数据透视表导出你想要的报表格式。那么在.Net下如何做呢?下面的代码可以从数据库中取出数据然后导入Excel。

        Dim excel As Excel.Application
        Dim xBk As Excel._Workbook
        Dim xSt As Excel._Worksheet
        Dim xRange As Excel.Range
        Dim xPivotCache As Excel.PivotCache
        Dim xPivotTable As Excel.PivotTable
        Dim xPivotField As Excel.PivotField
        Dim cnnsr As String, sql As String
        Dim RowFields() As String = {"", "", ""}
        Dim PageFields() As String = {"", "", "", "", "", ""}

        'SERVER     是服务器名或服务器的IP地址
        'DATABASE 是数据库名
        'Table           是表名

        Try
            ' 开始导出
            cnnsr = "ODBC;DRIVER=SQL Server;SERVER=" + SERVER 
            cnnsr = cnnsr + ";UID=;APP=Report Tools;WSID=ReportClient;DATABASE=" + DATABASE
            cnnsr = cnnsr + ";Trusted_Connection=Yes"

            excel = New Excel.ApplicationClass
            xBk = excel.Workbooks.Add(True)
            xSt = xBk.ActiveSheet

            xRange = xSt.Range("A4")
            xRange.Select()

            ' 开始
            xPivotCache = xBk.PivotCaches.Add(SourceType:=2)
            xPivotCache.Connection = cnnsr
            xPivotCache.CommandType = 2

            sql = "select * from " + Table

            xPivotCache.CommandText = sql
            xPivotTable = xPivotCache.CreatePivotTable(TableDestination:="Sheet1!R3C1", TableName:="数据透视表1", DefaultVersion:=1)

            '准备行字段
            RowFields(0) = "字段1"
            RowFields(1) = "字段2"
            RowFields(2) = "字段3"
            '准备页面字段
            PageFields(0) = "字段4"
            PageFields(1) = "字段5"
            PageFields(2) = "字段6"
            PageFields(3) = "字段7"
            PageFields(4) = "字段8"
            PageFields(5) = "字段9"
            xPivotTable.AddFields(RowFields:=RowFields, PageFields:=PageFields)

            xPivotField = xPivotTable.PivotFields("数量")
            xPivotField.Orientation = 4

            ' 关闭工具条
            'xBk.ShowPivotTableFieldList = False
            'excel.CommandBars("PivotTable").visible = False

            excel.Visible = True

        Catch ex As Exception
            If cnn.State = ConnectionState.Open Then
                cnn.Close()
            End If
            xBk.Close(0)
            excel.Quit()
            MessageBox.Show(ex.Message, "报表工具", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        End Try



上一篇:一个好用的 VB 注册表操作类模块
下一篇:解决VB.net中ReadProcessMemory的问题

普克创业投资网刊载此文不代表同意其说法或描述,仅为提供更多信息。
在百度中搜索用VB.Net导出数据到数据透视表的相关内容]   [在狗狗中搜索用VB.Net导出数据到数据透视表的相关内容]
Copyright @ 2006 PUPK.COM 普克创业投资网 版权所有
 建议使用1024*768以达到最好的浏览效果