热情软件屋

 

如何传数据到EXCEL中已经做好的表格中


编号:QA002453
建立日期: 2000年1月18日 最后修改日期:2000年2月23日
所属类别:

HiRong:
    编程工具: vb6
    操作系统: win98
    问题: 我想将ACCESS中的数据传到EXCEL中已经做好的表格中,然后打印出来,请问如何传数据,谢谢!

回答:

    借助Automation你可以实现数据传递,下面是一个简单的例子:
    Dim ExcelApp As Object
    
    Private Sub Command1_Click()
     Dim i
    
     Set ExcelApp = CreateObject("excel.application")
    
     ExcelApp.Workbooks.Add
     i = 1
     While Not Data1.Recordset.EOF
     ExcelApp.Range("a" & i).Value = Data1.Recordset("CategoryName")
     i = i + 1
     Data1.Recordset.MoveNext
     Wend
     ExcelApp.Visible = True
    End Sub
    
    相关问题:
    QA003495 "能否用VB的ADO的方法访问Excel文件"
    QA003022 "如何通过DDE获得Excel的数据"
    QA002044 "怎样才能加快VB中向EXCEL中添加数据的速度"
    QA000836 "如何知道Excel97的命令集"
    QA000106 "如何在VB中调用Excel的工作薄预览功能?"
    QA000093 "调用Excel,可Excel总是一闪而过"
    QA001382 "如何调用Excel打开.xls文件"
    QA000115 "在VB中如何实现把当前库或表转换为另外一种数据库文件"
    
    JiaQiang Xu的意见:
    在VB中编写Excel的外接程序Addin,生成一个 Dll文件,在这个Addin中,用ADO或DAO读取Access,和一般方法无异。注册Dll后,在Excel的Com Addins列表中出现这个Addin,加载该Addin,发生OnConnection事件,该事件有一个参数Application,就是Excel事例,可据次编写代码将Access数据填到Excel单元格中。
    如果你用VBA编写宏,就不能编译成DLL,除非安装office developer tools。Com Addin比Automation效率更高。
    cobe的意见:
    有一个更好些的办法,就是用xSheet.Range("A1").CopyFromRecordset RS
    这样可以将一个DAO的Recordset直接拷贝到指定开始的单元格中.

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query, Office开发, office, ms office, office xp, office 97

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio