如何用VB创建Excel报表?

zhangshzh 2000-07-13 12:21:00
在进行系统开发时,设计报表是难免的,但有些特别复杂的报表用报表设计器来做真是“劳脑伤时“,而Excel强大的报表功能是众所周知的,能否用VB调用Excel来做报表?
具体怎么做?请各位大虾指点指点!(请尽量详细点)
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guest 2000-07-24
  • 打赏
  • 举报
回复
难道不会用数据库直接操作Excel
liyang 2000-07-13
  • 打赏
  • 举报
回复
在refrence中添加microsoft excel x.x object library
然后
Dim eclTemp As New Excel.Application
Dim shtTemp As Excel.Worksheet

Set shtTemp = eclTemp.Worksheets.Add

shtTemp即为一个excel的报表。
然后shttemp.saveas即可
zhangshzh 2000-07-13
  • 打赏
  • 举报
回复
多谢各位大虾的指点,但我希望能将从SQL SERVER数据库中取回的数据直接送到EXCEL报表中,并可预览和打印。
bluewater 2000-07-13
  • 打赏
  • 举报
回复
我再给你举一个很简单的例子吧?

  调用Excel 97

  使用Excel Sheet对象的技术可以处理可变数量的数据,并将结果最后送到你的Visual Basic 应用程序中。例子如下:

  新建一个工程并在新建的窗体上放置两个TextBox控件和一个CommandButton控件及六个Label控件。

  程序代码如下:

   Option Explicit

   Private Sub Command1-Click()

   Dim xObject As Object

   ′调用Excel 97

   Set xObject = CreateObject(“Excel.Sheet")

   Set xObject = xObject.Application.ActiveWorkbook.ActiveSheet

   xObject.Range(“A1").Value = Text1.Text ′将数值送入Excel 97的A1单元格

   xObject.Range(“A2").Value = Text2.Text ′将数值送入Excel 97的A2单元格

   xObject.Range(“A3").Formula = “=MAX(A1,A2)" ′将最大值送入A3单元格

   xObject.Range(“A4").Formula = “=ATAN(A1/A2)*180/PI()" ′将反正切值送入A4单元格

   ′显示计算的结果

   Label1.Caption = xObject.Range(“A3").Value

   Label2.Caption = xObject.Range(“A4").Value

   Set xObject = Nothing

   End Sub

   Private Sub Form_Load()

   Text1.Text = “"

  Text2.Text = “"

  Label1.Caption = “"

  Label2.Caption = “"

  End Sub

  该程序的作用是:首先在两个文本框(Text1和Text2)输入数值并分别将输入的数值送入Excel 97的“A1”和“A2”单元格中,然后用Excel 97中的“Max()”函数将计算的结果送入“A3” 单元格中;用反正切函数“ATAN()”进行计算并将结果送入“A4” 单元格中,最后输出。

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧