delphi怎样读取Excel表的所有字段名  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi怎样读取Excel表的所有字段名


Excel的sheet1表中有N个列,第一列的数据是字段名,分别是学号 姓名  性别  年龄……,表中数据如下:

学号  姓名  性别  年龄  ……
001   张三   男    20   ……
002   李四   男    19   ……
003   王五   女    18   ……

我想将所有字段名(学号  姓名  性别  年龄……)读入到ComboBox的列表中,如何实现?

ComboBox下拉列表数据如下:
  学号  
  姓名  
  性别  
  年龄  
  ……

你的意思是第一行的数据是字段名吧?就是循环取第一行所有列呗

var
FilePath:string;
  Excel: Variant;
  WorkBook: Variant;
  WorkSheet: Variant;
  I : Integer;
begin
try
    FilePath := 'G:\新建.xls';
    Excel := CreateOLEObject('Excel.Application');
    WorkBook := Excel.WorkBooks.Open(FilePath);
    WorkSheet := WorkBook.WorkSheets.Item[1];  //打开sheet1
    for I := 1 to WorkSheet.UsedRange.Columns.Count  do  //循环列
    begin
      ShowMessage(WorkSheet.Cells[1, I]);     //取第一行所有列的值
    end;
  finally
    WorkBook.Close;
    Excel := Null;
  end;
引用ComObj单元


方法2:
  FileName := 'C:\1234.xls';
  ADOConnection1.Connected := False;
  ADOConnection1.ConnectionString :=
  'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;' + 'Data Source=' +
  FileName +
  ';Mode=Share Deny None;Extended Properties="Excel 8.0;IMEX=1";' + //
  'Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";';
 
  ADOConnection1.Connected:=True;
  ADOConnection1.GetFieldNames('Sheet1$',ComboBox1.Items);

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.036312818527222 seconds