【发布时间】:2013-08-22 01:11:04
【问题描述】:
我有以下代码来打开我的 Excel 工作表,使用 TADOConnection 和 TADOQuery:
conExcel.ConnectionString := 'Provider=Microsoft.JET.OLEDB.4.0;Data Source="D:\temp\file.xls";Extended Properties="Excel 8.0;HDR=No"';
conExcel.Connected := true;
当我运行以下代码时:
queryExcel1.SQL.Text := 'SELECT * FROM [Hoja1$]';
queryExcel1.Open;
while not queryExcel1.eof do
begin
showmessage(queryExcel1.Fields.Fields[0].AsString);
queryExcel1.Next;
end;
我得到了文件的每一行,所以它工作正常,但我想更新一个单元格。 我正在使用此代码:
queryExcel2.SQL.Text := 'UPDATE [Hoja1$] SET F1 = 555555';
queryExcel2.ExecSQL;
以某种方式将工作表上的每个“A”单元格更新为 555555,但我真正想要的只是将 A1 单元格设置为 555555。有关如何包含查询的 WHERE 部分的任何提示。谢谢。
【问题讨论】:
-
我试过 queryExcel1.SQL.Text := 'SELECT * FROM [Hoja1$A1:A10]';即使在 select 语句中,它也会失败并出现错误:“参数对象定义不正确”