本文整理自网络,侵删。
Excel的sheet1表中有N个列,第一列的数据是字段名,分别是学号 姓名 性别 年龄……,表中数据如下:
学号 姓名 性别 年龄 ……001 张三 男 20 ……002 李四 男 19 ……003 王五 女 18 ……
我想将所有字段名(学号 姓名 性别 年龄……)读入到ComboBox的列表中,如何实现?
ComboBox下拉列表数据如下: 学号 姓名 性别 年龄 ……
你的意思是第一行的数据是字段名吧?就是循环取第一行所有列呗
varFilePath:string; Excel: Variant; WorkBook: Variant; WorkSheet: Variant; I : Integer;begintry 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);
相关阅读 >>
Delphi xe(indy10)tidbytes转ansistring的实现
更多相关阅读请进入《Delphi》频道 >>