`
yesjavame
  • 浏览: 693116 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Delphi使用server组件控制excel的一点经验

阅读更多

近来的项目报表全部做成excel文件,方便很多。可惜的是delphi中的server组件没有帮助,只能靠网上的资料和自己的摸索。经过一段时间,积累了一点经验,写出来希望对大家有所帮助。近来在网上搜索到TXLSRead and TXLSWrite两个组件操作excel更加方便,但是还没研究过,大家有兴趣可以研究一下。

1、 Connect问题

对微软真实又爱又恨,爱的是很多东西很方便易用,恨的是慢和老是出现莫名其妙的错误。不明白为什么ExcelApplication1.Connect连接那么慢,而且会影响窗口的显示。所以在执行ExcelApplication1.Connect之前最好加一句Application.ProcessMessages

2、 ExcelWorksheet1.ConnectTo的问题

要连接上一个worksheet,需要三个步骤:

ExcelApplication1.Connect

ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));

ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Sheets[1] as _worksheet);

第一个步骤是连接到Excel

第二个步骤是创建新的excel,并将ExcelWorkbook1组件连接到这个新的excel,如果是打开一个已存在的excel文件请用:

ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open(excel文件名及路径,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));

第三个步骤就是ExcelWorksheet1组件连接到要读写的工作表,比较容易忽略的就是红色字部分(as _worksheet),如果没有,编译时是肯定通不过的。

3、 保存文件

保存文件根据网上的资料测试过不少,可惜有些不行,老编译不过。可能是自己没仔细研究,代码写得不对。现在只用以下这句:

ExcelApplication1.ActiveWorkBook.Close(True,CurrentPath+CurrentFile,EmptyParam, 0);

4、 设置单元格格式为文本

Excel的一个问题就是将000001这些文本也当成数字了,最后显示为1,所以要设置单元格的格式为文本才行。在大富翁论坛找到了答案,就是:

Cells.Item[行号,列号].NumberFormatLocal:='@';

还有一种办法就是:ells.Item[行号,列号].style:='';

后面那个关键词找不到,用Normal不行,用Text也不行,找不到资料,也就没深究下去。

5、 获取工作簿中所有工作表

for i:=1 to ExcelWorkbook1.Sheets.Count do

begin

ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Sheets[i] as _WorkSheet);

cbList.Items.Add(ExcelWorksheet1.Name);

ExcelWorksheet1.Disconnect;

end;

6、 获取工作表中已经使用的行数和列数

获取列数并取得列标题(如果有标题行且是第一行)

ColCount:=ExcelWorksheet1.UsedRange[0].Columns.Count;

if ColCount>0 then

begin

for I:=1 to ColCount do

begin

ListString:=ExcelWorksheet1.UsedRange[0].Cells.Item[1,I];

ListString:=''+IntToStr(I)+''+ListString;

end;

end;

在这里要注意的地方就是一定要用变量保存信息,如果直接在循环中使用ExcelWorksheet1.UsedRange[0].Columns.Count,编译通过不了,下面获取标题行的值也是,直接使用也是不行。

获取行数:

RowCount:=ExcelWorksheet1.UsedRange[0].Rows.Count;

如果有标题行,别忘记将行数减1。循环时也要从第二行开始。

7、 参考文档

DelphiExcel的亲密接触 [王安鹏(anpengwang@263.net <chsdate year="2002" month="4" day="14" w:st="on" islunardate="False" isrocdate="False"></chsdate>2002/4/14]

链接:http://www.zahui.com/html/2/4846.htm

Delphi控制Excel2000心得 [tiexinliu (铁心刘) 2003-10-15 10:45:11]

链接:http://search.csdn.net/Expert/topic/2357/2357198.xml?temp=.6645929

分享到:
评论

相关推荐

    Delphi自动化控制Excel

    Delphi自动化控制Excel是指使用Delphi语言来控制Excel程序,以实现各种自动化操作,例如输出数据、插入公式、根据数据画出图表等。 Delphi 5 提供了一组封装了 Office 97 和 Office 2000 的控件,这组控件位于控件...

    Delphi实现将数据从Excel中导入到SQL Server

    本文将深入探讨如何使用Delphi这一强大的开发工具,实现从Excel文件中导入数据到SQL Server数据库的过程。Delphi作为一种高效的编程语言,提供了丰富的库和组件,使得这种数据迁移变得相对简单而高效。 ### Delphi...

    delphi的excel导入sqlserver2000

    本篇文章将详细探讨如何使用Delphi编程环境将Excel数据导入到SQL Server 2000数据库中。Delphi是一款强大的RAD(快速应用开发)工具,它提供了丰富的组件和库,使得开发者能够方便地与各种数据库进行交互。在本场景...

    delphi实现excel和SQLserver数据的导入导出

    本篇文章将详细阐述如何使用Delphi来实现Excel和SQL Server之间的数据导入与导出。 首先,我们需要理解数据导入导出的基本概念。数据导入是指将外部数据源(如Excel文件)的数据转移到另一个系统(如SQL Server...

    Delphi7组件应用实例

    第13章 Server组件页 13.1 Word和Excel程序对象 13.2 ToleServer组件 13.3 实例——在Delphi中操作Word 13.4 实例——使用TWordDocument组件连接Word自动化服务器 13.5 实例——建立与Excel连接 13.6 实例——...

    delphi从SQLSERVER数据库导出到EXCEL

    总之,Delphi从SQL SERVER数据库导出到Excel涉及的关键技术包括ADO组件的使用、Excel的Ole自动化以及用户界面事件处理。通过这些技术,开发者可以创建定制化的数据迁移工具,满足特定业务需求。

    excel数据导入SQL server 2000:for delphi 7

    标题 "Excel数据导入SQL Server 2000: for Delphi 7" 涉及的是在Delphi 7开发环境中将Excel数据批量导入到SQL Server 2000数据库的过程。这个操作在数据处理和分析中非常常见,特别是在需要整合不同来源的数据时。...

    DELPHI ADO导出EXCEL

    在IT行业中,Delphi是一种流行的面向对象的编程环境,它基于Pascal语言并提供了丰富的组件库,使得开发者能够快速构建Windows应用程序。ADO(ActiveX Data Objects)是Microsoft提供的一种数据访问技术,它允许...

    delphi操作word excel

    综上所述,Delphi 操作 Word 和 Excel 主要是通过 OLE 自动化技术实现,涉及到组件的使用、事件处理、数据库数据与 Excel 数据交换等多个环节,这些都需要开发者具备一定的 Delphi 和 OLE 自动化知识。

    Delphi与SQL_Server简单用户增删改和Excel导出

    本教程主要关注如何使用Delphi编程环境与SQL Server数据库进行交互,实现简单的用户管理操作(增、删、改)以及数据的Excel导出功能。以下是相关知识点的详细介绍: 1. **Delphi编程环境**:Delphi是一款由...

    DELPHI 从EXCEL导入到数据库

    标题中的"DELPHI 从EXCEL导入到数据库"是一个关于使用Delphi编程语言将Excel电子表格中的数据导入到数据库的应用实例。这个话题涉及到多个IT领域的知识点,包括Delphi编程、Excel文件处理以及数据库交互。 Delphi是...

    excel_to_sql.rar_delphi excel to sql_excel SQL delphi

    标题中的“excel_to_sql.rar_delphi excel to sql_excel SQL delphi”表明这是一个关于使用Delphi编程语言将Excel数据导入到SQL Server数据库的教程或工具。这个过程通常涉及到数据的读取、转换和加载(ETL)流程,...

    Delphi 从EXCEL文件导入到SQLSERVER数据表中 源码

    标题中的"Delphi 从EXCEL文件导入到SQLSERVER数据表中 源码"指的是一个使用Delphi编程语言编写的程序,该程序能够将数据从Excel文件读取并导入到SQL Server数据库的特定表中。这个过程通常涉及到数据迁移或数据整合...

    如何用DELPHI实现把WORD、EXCEL和图片等存储到数据库

    TDBXBlobField是DelphiXE3引入的DBX(DatabaseExpress)框架的一部分,可以与各种数据库系统(如SQL Server、Oracle、MySQL等)配合使用。 1. **连接数据库**:使用TClientDataSet或TDataset组件连接到数据库。配置...

    Delphi+SQL Server研究学习笔记

    在本篇"Delphi+SQL Server研究学习笔记"中,我们涵盖了多个与数据库操作和集成开发环境相关的知识点,包括导出Excel数据、连接SQL Server数据库、使用定时器、通过数据库发送邮件以及执行存储过程和事务管理。...

    delphi 打开 excel为数据库

    在 Delphi 开发环境中,将 Excel 文件作为数据库来操作查询是一项常见的需求,特别是在处理大量结构化数据时。这种做法能够方便地利用 Excel 的表格格式和强大的计算功能,同时结合 Delphi 的程序逻辑来实现更复杂的...

    delphi Excel 导入的例子

    在Delphi编程环境中,开发人员经常需要处理与Excel文件交互的任务,例如导入Excel数据到应用程序中。本示例提供了一种方法,无需依赖Microsoft Excel应用程序,仅通过引用特定的Sources来实现这一功能。这种方式的...

    delphi+Excel报表管理系统

    1. **数据获取与处理**:利用Delphi的数据库连接组件,如ADO或DBExpress,可以直接连接到各种数据库(如SQL Server、Oracle等),实现数据的读取、写入和更新。通过编写SQL语句或使用存储过程,可以对数据进行复杂...

    用DELPHI操作EXCEL.doc

    为了提高效率,可以考虑使用 Excel 的自动化接口直接操作工作簿文件,或者使用专门针对 Delphi 的 Excel 库,如 `ZLibExcel` 或 `TMS Component Pack` 中的 `TExcelWriter` 等组件,它们通常提供了更优化的接口和更...

    Delphi DbGrid导出到Excel

    在Delphi编程环境中,DbGrid(数据库网格)是用于显示和操作数据库数据的常用组件。它为用户提供了直观的方式来查看和编辑数据表中的记录。有时,我们可能需要将DbGrid中的数据导出到Microsoft Excel,以便进行...

Global site tag (gtag.js) - Google Analytics