这段连接EXCEL的代码看不太懂,谁帮我注释一下,谢谢各位!
ADOConnection2.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=' + sFileName + ';Extended Properties="Excel 8.0;IMEX=1";Persist Security Info=False';
  ADOConnection2.Connected := True;  sl := TStringList.Create;
  ADOConnection2.GetTableNames(sl); 
  sTableName := sl[0];
  if Pos('$', sTableName) > 0 then sTableName := '[' + sTableName + ']';  ADOquery2.Close;
  ADOquery2.SQL.Clear;
  ADOquery2.SQL.Text := 'SELECT * FROM ' + sTableName;
  ADOquery2.Open;
  sl.Free;

解决方案 »

  1.   

    // 连接到Excel 文件
    ADOConnection2.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=' + sFileName + ';Extended Properties="Excel 8.0;IMEX=1";Persist Security Info=False'; 
      ADOConnection2.Connected := True; // 获取Excel文件中所有Sheet的名称
      sl := TStringList.Create; 
      ADOConnection2.GetTableNames(sl); // 提取索引排序第一的Sheet的名称,并检测名称中是否含有"$"字符,有则将名称纳入“[]之中,
    // 为SQL语句中表名识别提供转换。
      sTableName := sl[0]; 
      if Pos('$', sTableName) > 0 then sTableName := '[' + sTableName + ']'; // 从Sheet名为:"sTableName"的表中提取所有数据。
      ADOquery2.Close; 
      ADOquery2.SQL.Clear; 
      ADOquery2.SQL.Text := 'SELECT * FROM ' + sTableName; 
      ADOquery2.Open; 
      sl.Free; 
      

  2.   

    ADOConnection2.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=' + sFileName + ';Extended Properties="Excel 8.0;IMEX=1";Persist Security Info=False'; //设置ADOConnection2数据库连接串
      ADOConnection2.Connected := True; //连接数据库  sl := TStringList.Create; //创建一个TStringList列表sl
      ADOConnection2.GetTableNames(sl); //取得数据库所有表名,放入sl列表中
      sTableName := sl[0];//取得列表中的第一项(表名)  
      if Pos('$', sTableName) > 0 then sTableName := '[' + sTableName + ']';//如果表名包含$则两边加中括号 
      //下面查询这个表,返回所有记录
      ADOquery2.Close; 
      ADOquery2.SQL.Clear; 
      ADOquery2.SQL.Text := 'SELECT * FROM ' + sTableName; 
      ADOquery2.Open; 
      sl.Free; 
      

  3.   

    这是一段读取Excel表内信息的代码。
    用Adoconnection连接Excel,
    然后获取Excel的表名,因为Excel支持一文档,多工作表,所以用到了TStringList。
    然后用AdoQuery写一般的SQL语句就行。