我正在使用ADOdataset组件在Delphi表单上查看Excel电子表格。

该组件要求将CommandText属性设置为要打开的工作簿中电子表格的名称。

我如何设置此属性以打开工作簿中的第一个电子表格,而不管其名称如何?



procedure TForm1.BitBtn1Click(Sender: TObject);
   var   XLSFile, CStr : string;
begin
   if OpenDialog1.Execute() then
   begin
       XLSFile := OpenDialog1.FileName;

       CStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
           +XLSFile+'; Extended Properties=Excel 8.0;Persist Security Info=False';

       ADODataSet1.Active := False;
       ADODataSet1.ConnectionString := Cstr;
       ADODataSet1.CommandText := ??????????;
       ADODataSet1.Active := True;
    end;
 end;

最佳答案

您不能,您必须知道页面的名称。使用TADOConnection连接到工作簿,以便您可以调用GetTableNames检索页面名称。有一个示例here。然后,您可以将ADO数据集的Connection属性或ADO查询设置为连接对象并运行查询。

10-05 22:27