Comboy的技术笔记

导航

DB-->Excel/Word[DLL]

 使用vb 6.0+ADO 2.8写了一个把数据库中内容导出成Excel/word文档的DLL,使用tlbimp命令转换后也可以在vs 2003中使用[添加引用就可以了,上传的文件中DotNet.Report.dll,ADODB.dll就是.net版,另外几个是直接用vb生成的dll文件可在vb 6.0等开发平台下使用],功能比较简单只实现了把用sql语句查询到数据导出成一个Excel/word文档,[是正规的二维表格,带表格线条的]也可以在asp.net中使用,但需附给aspnet用户执行word/excel应用程序的权限[使用过程中暂时没有发现不能够关闭excel进程该问题],用在winform下速度感觉还不错;该dll文件包含三个类SqlReportClass,RsReportClass,FileClass,一般使用的是SqlReportClass类,另外两个......
SqlReportClass类
属性
ConnectionString[数据库链接字符串]
SQL[select语句]
注:在调用下列方法之前必须先正确设置属性ConnectionString,SQL
方法导出数据速度从慢-->快
方法
public void ExportExcelReport(string excelFileName,string title,bool flag)
参数说明
excelFileName:导出的excel文件名[包含路径]
title:生成的Excel文件sheet工作表格名称
flag:是否显示导出的文件
演示代码
DotNet.Report.SqlReportClass rpt=new SqlReportClass();
rpt.ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CAP";
rpt.SQL="select 客户编号=cid,客户姓名=cname,城市=city,折扣=discnt,* from customers ";
rpt.ExportExcelReport(@"c:\1.xls","客户信息表",false);
rpt=null;
public void ExportExcel(string excelFileName,bool otype,bool flag)
参数otype表示导出的excel文件对应为数据库中一张表
第一列如果在数据库中是一标识递增列是否不导出该列
[true--不导出]
'*********************************************************
'* 名称:ExporToExcel
'* 功能:导出数据到EXCEL
'* 用法:ExporToExcel(sheetName工作表名)
'* 使用了Excel中的QueryTable方法,sql查询字符串通过属性获取
'*********************************************************
Public Function ExporToExcel(ByVal sheetName As String, ByVal filename As String,
Optional ByVal flag As Boolean = True) As Boolean
导出成一个word文档
Public Sub ExportWordReport(ByVal wordFileName As String, Optional ByVal flag As
Boolean = True)
RsReportClass类
FileClass类包含一些文件方面的操作方法

 

posted on 2006-04-24 15:12  ComBoy  阅读(347)  评论(0编辑  收藏  举报