星五博客

NativeExcel获取Excel所有列

当我们打开一个Excel文件时,我们往往需要将它的数据进行处理,比如获取文件中所有行和列的数据,并进行显示。

这里,我简单的演示一下如何列举所有列名:

procedure TForm1.Button1Click(Sender: TObject);
Var
  book: IXLSWorkbook;
  i: integer;
begin
  book := TXLSWorkbook.Create();
  book.Open('c:\a.xls');
  // 列出excel中工作表1的所有已使用的列的列名
  for i := 1 to book.Sheets[1].UsedRange.LastCol do
    Memo1.Lines.Add(book.Sheets[1].UsedRange.Item[1, i].Value);
  book.Close;
end;

代码中,我们读取Sheet1第一行的所有列,并循环输出它的内容,请注意,这里应该使用UsedRange,而不是Cells,如果你使用Cells,那么LastCol将显示Excel支持的总列数,而不是实际已经使用的列数。

举一反三,那么如何获取所有行的数据呢?是不是只要使用UsedRange.LastRow就行了?那么,通过两个循环,就可以输出Excel中所有的内容了,是不是很简单?

Delphi