个人开发历程知识库

关注C++/Java/C#技术, 致力于安防监控/移动应用/WEB方面开发
------------------------------------ 业精于勤,荒于嬉;行成于思,毁于随
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DB-->Excel/Word[DLL]

Posted on 2006-04-23 18:23  peterzb  阅读(2347)  评论(1编辑  收藏  举报

 使用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类包含一些文件方面的操作方法

1.从一字符串中分离出文件路径
public string ParsePath(string sPathIn)

2.从字符串中分离出文件名
public string ParseFileName(string sFileIn)

3.打开的Excel文件
public void OpenExcel(string path) 'path表示需要打开的Excel文件的路径

4.打开的Word文件
Public void OpenWord(string path) 'path表示需要打开的Word文件的路径

5.创建一个有一张表的access文件[tabel1]
public void CreateAccess(string filename)

6.检查目录是否存在
public void checkDir(string dir[])

7.判断字符串中是否含有空格,单引号,双引号等特殊字符
public bool checkInput(string iStr)
相关dll文件下载
Report.rar 内有1.xls文件是导出文件效果