Excel的sheet1表中有N个列,第一列的数据是字段名,分别是学号 姓名 性别 年龄……,表中数据如下:学号 姓名 性别 年龄 ……
001 张三 男 20 ……
002 李四 男 19 ……
003 王五 女 18 ……我想将所有字段名(学号 姓名 性别 年龄……)读入到ComboBox的列表中,如何实现?ComboBox下拉列表数据如下:
学号
姓名
性别
年龄
……
001 张三 男 20 ……
002 李四 男 19 ……
003 王五 女 18 ……我想将所有字段名(学号 姓名 性别 年龄……)读入到ComboBox的列表中,如何实现?ComboBox下拉列表数据如下:
学号
姓名
性别
年龄
……
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单元
Excel: Variant;
WorkBook: Variant;
WorkSheet: Variant;
FilePath: string;
I : Integer;
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);
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);