在介绍使用delphi控制excel之前前,我们首先需要了解关于EXCEL的几个基本概念:EXCEL应用程序、工作薄(book)、工作表(sheet)以及单元格(CELLS);
首先,我们是打开excel应用程序,并可设置应用程序可见或不可见,可以设置应用程序标题等等;
没有管理工作簿(workbook)的应用程序是没有意义的,我们在打开应用程序后,需要新建或打开workbook,每个打开的workbook都有一个编号,在office系列中,编号是从1开始的,而不是delphi默认的从0开始。在不进行设置的情况下,第一个workbook,即workbooks[1]是活动的workbook,每个workbook对应一个excel文件。我们调用应用程序的保存或打开文件,其实就是针对workbook的操作。
同样的,未管理工作表(worksheet)的工作簿(workbook)也是无意义的。每个工作簿下,至少应该有一个worksheet,worksheet的编号也是从1开始的,即worksheets[1]。同样的,也有一张活动的的worksheet,即activesheet,默认的activesheet是activeworkbook下的worksheet[1]。
每个新建的工作簿,默认有三个工作表,未命名的工作表名字分别是sheet1,sheet2和sheet3,在工作簿中可以增加或减少工作表。工作表的名字可以改变,顺便提一句,在使用firedac模拟打开工作簿为数据库时,工作表即为数据表(table),其表名是“[工作表名$]”,例如SHEET1的table name就是“[SHEET1$]”。
工作表是由单元格(CELLS)组成,cells.item[I,j]才是具体的单元格的数据。一张工作表中有许多个单元格(cells),可以指定range,在指定range内,单元格的编号从1开始计数,单元格是一个由行列组成的二元数组。
Range下可以继续指定子range,子range下可以再指定子range……。最小的range就是单元格。
Rows是某一行单元格的range集合,columns是某一列单元格的组合。
每一个range都可以有自己的字体,对其方式、边框等。
再说明一下,excel的计算时从1开始的,而不是0,即第一个工作簿、工作表、单元格都是1。
本专题将从DELPHI控件、OLEOBJECT、OLECONTAINER、FIREDAC等四个方面讨论对excel的应用。