将sqlreader中的数据倒入excel中

原创 2004年07月30日 18:27:00

        在给单位写一个基于web的报表程序时,在对报表打印这一块,本来想用“水晶报表”来做的,但不幸的是,本人对水晶报表软件了解是一知半解,只能看不能打印,故而放弃了。转用excel来做报表。

下面是例子的源代码:

‘首先在工程项目中引用 excel  10.0 对象库

Imports Excel
Imports System.Data
Imports System.Data.SqlClient
Public Class cyjcbbcx

......

‘ 定义一个sqldatareader
       Dim dtcyjjc2 As SqlClient.SqlDataReader

......
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.cmdsql2 = New SqlClient.SqlCommand()
        Me.cmdsql2.Connection = Me.con

        Me.cmdsql2.CommandText = "  SELECT cyjmc,zsj1.zsjmc as zsjmc1,zsj2.zsjmc as zsjmc2,zsj3.zsjmc as zsjmc3,zsj4.zsjmc as zsjmc4 ,tcrq, ycyl,kfcw FROM cyjmcs,zsj1,zsj2,zsj3,zsj4  where (cyjmcs.zsjid1=zsj1.zsjid) and (cyjmcs.zsjid2=zsj2.zsjid) and (cyjmcs.zsjid3=zsj3.zsjid) and (cyjmcs.zsjid4=zsj4.zsjid) "
        Me.con.Open()
        dtcyjjc2 = Me.cmdsql2.ExecuteReader
        Dim strSource As String
        Dim strDst As String
        ' dim
        On Error Resume Next
        strSource = Server.MapPath(".//templet/cyjjc.xls")            'xyzrb.xls是模版文件
        strDst = Server.MapPath(".//temp/Temp.xls")                  'temp.xls是要打开的目标文件
        FileCopy(strSource, strDst)
        ' 建立Excel对象

        ' xlApp = New Excel.Application()
        xlApp.DisplayAlerts = False  '不显示警告
        xlApp.Application.Visible = False '不显示界面
        xlApp.Workbooks.Open(strDst)
        Dim xlAppBook = xlApp.ActiveWorkbook
        Dim xlAppSheets = xlApp.Worksheets
        Dim xlAppSheet = xlApp.Sheets(1)
        '    Dim xlAppSheet1 = xlApp.ActiveCell.Cells.Range
        Dim dtreader As SqlDataReader
       
        Dim i, j As Integer
        i = 3

        Dim biaoti As String = "油矿"   ‘产生标题
        With xlAppSheet

            .Cells(1, 1) = (biaoti)

        End With
        While dtcyjjc2.Read()

            With xlAppSheet
                ' For i = 8 To 17
                ' For j = 1 To 2
                '  .Cells(i, j).Font = CSng(dtreader.Item(j - 1))
                .Cells(i, 1) = (dtcyjjc2("cyjmc"))
                .Cells(i, 2) = (dtcyjjc2("zsjmc1"))
                .Cells(i, 3) = (dtcyjjc2("zsjmc2"))
                .Cells(i, 4) = (dtcyjjc2("zsjmc3"))
                .Cells(i, 5) = (dtcyjjc2("zsjmc4"))
                .Cells(i, 6) = (dtcyjjc2("ycyl"))
                .Cells(i, 7) = (dtcyjjc2("kfcw"))
                .Cells(i, 8) = (dtcyjjc2("tcrq"))
                i = i + 1

            End With
        End While
        xlApp.ActiveWorkbook.Save()
        'xlApp.ActiveWorkbook.WebPagePreview()
        xlApp.Workbooks.Close()
        ' Open(strDst)
        xlApp.Quit()
        xlAppBook = Nothing
        xlAppSheets = Nothing
        xlAppSheet = Nothing


        xlApp = Nothing
        dtcyjjc2.Close()

        Me.con.Close()

'下面的代码用于打开一个新的窗口,在新窗口中显示生成excel 文件

        Dim scriptString As String = "<script language=JavaScript>  {"
        scriptString += " window.open ('../bbcxdy/temp/temp.xls', 'newwindow', 'fullscreen=no,toolbar=no, menubar=no, scrollbars=no, resizable=yes, location=no, status=yes');"
        scriptString += "}"
        scriptString += "</script>"
        If (Not Me.IsStartupScriptRegistered("Startup")) Then
            Me.RegisterStartupScript("Startup", scriptString)
        End If

    End Sub

End Class

这样,就能在客户端从服务器上下载该excel 文件,打印变得简单的多了

由于,这是本人初次接触excel 编程,有很多还没有解决的问题,如在服务器端生成的没有结束进程。

 

将Oracle的数据倒入EXCEL中的方法

在当今信息化高速发展的时代,日常的工作中,用户经常遇到要将EXCEL文件中的数据和ORACLE数据库中的数据互倒的问题,实现对实时数据的操作,而可查阅到这方面的资料并不多。若需将ORACLE信息系统中...
  • yu0089
  • yu0089
  • 2013年06月28日 16:30
  • 427

将Oracle的数据倒入EXCEL中的方法

在当今信息化高速发展的时代,日常的工作中,用户经常遇到要将EXCEL文件中的数据和ORACLE数据库中的数据互倒的问题,实现对实时数据的操作,而可查阅到这方面的资料并不多。若需将ORACLE信息系统中...
  • lukejohn7913
  • lukejohn7913
  • 2014年05月23日 15:48
  • 202

Android将Excel表数据导入SQLite数据库

前两天接了个私活,需求方给了一个Excel表格,需要使用到里面的7000+条数据进行查询,最开始以为7000条一条条加入数据库也还好,以下是其中一部分数据:但当我添加了20多条的时候突然发现这样的方式...
  • u010198148
  • u010198148
  • 2017年03月22日 23:19
  • 1353

如何在Java中导入Excel表数据

这是一个神奇的开始,这里有你想要的答案,这里有我最全面的解析,这里实现Excel的数据导入是辣么辣么的easy...
  • luoweiyou
  • luoweiyou
  • 2017年05月08日 11:02
  • 2650

Excel表数据导入PostGresql数据库

1.准备数据保存为csv格式 2.在PostGresql创建表 3.执行导入操作psql.exe 4.输入 copy city from 'filepath' with delimiter...
  • czx2282885707
  • czx2282885707
  • 2016年01月13日 16:21
  • 1160

python实战一:将excel数据导入到jira

excel&jira同步背景: 第三方测试会以excel形式提交buglist,这个buglist需要同步到jira中,在jira进行跟踪,并将处理结果反馈给第三方;以往都是复制粘贴,为了减轻繁...
  • jtscript
  • jtscript
  • 2015年03月28日 17:31
  • 1786

将Excel导入SAP数据库表

如何将Excel导入Sap系统,在sap可执行程序中可以通过调用函数ALSM_EXCEL_TO_INTERNAL_TABLE实现。...
  • sunnyonly1992
  • sunnyonly1992
  • 2016年05月30日 15:43
  • 1769

Matlab入门一(导入数据)

开始用matlab了,之前都是看看书,记笔记,逐渐发现这种方法还是有很多弊端,...
  • u013978070
  • u013978070
  • 2014年08月16日 09:20
  • 730

MATLAB海量数据读取access数据到excel并保存为shapefile文件

(1)      通过access数据库通过联立查询并生成新表 由于access只限制5万条记录,所以要通过MATLAB读取所有数据并保存到xlsx中去。 SELECT * INTO AA IN ...
  • liyanzhong
  • liyanzhong
  • 2016年07月31日 20:10
  • 1484

Hive 五种数据导入方式介绍

问题导读:         1、Hive五种数据导入方式有哪些?         2、导入表命令中有无LOCAL关键字的区别?         3、使用OVERWRITE或INTO关键字的作用及...
  • zhongqi2513
  • zhongqi2513
  • 2017年04月06日 11:47
  • 489
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将sqlreader中的数据倒入excel中
举报原因:
原因补充:

(最多只允许输入30个字)