0

我有一个客户正在使用的 Excel 2003 工作表。

我需要更新从这些单元格中提取数据的 Delphi 应用程序,但单元格根本没有命名,它们只是j3j55.

来自单元格的数据仍然可以发送到其他应用程序吗?

Delphi 应用程序可以采用这些值吗?

4

2 回答 2

5

您可以使用 OLE 通过 Delphi 处理 Excel 文件。

uses
  ComObj;

procedure TForm3.btn1Click(Sender: TObject);
var
  ExcelApp: OleVariant;
begin    
  try    
      ExcelApp := CreateOleObject('Excel.Application');
      if not VarIsEmpty(ExcelApp) then
      Begin
       ExcelApp.Workbooks.Open('c:\yourfile.xls'); //Open File
       ShowMessage(ExcelApp.Range['J55', 'J55'].Value);   //Extract value from Cell J55
      End;    

  finally

    if not VarIsEmpty(ExcelApp) then
    begin
      ExcelApp.DisplayAlerts := False;
      ExcelApp.Quit;
    end;

  end;

end;

再见。

于 2009-09-25T20:34:14.353 回答
-1

当然,为什么不呢?

您可以使用 Excel 对象模型并使用一系列类来访问单元格的内容。

VB(脚本)示例

dim xlApp
set xlApp = CreateObject("Excel.Application")

dim wkBook
set wkBook = xlApp.WorkBooks.Add

dim wkSheet
set wkSheet = wkBook.Sheets(1)

dim cell
set cell = wkSheet.Cells("A1")  'get the reference to cell A1

msgbox cell.Value

了解 Excel 对象模型的最佳方法是
1. 打开 Excel
2. 按 ALT + F11(VBA 编辑器)
3. 按 F2(用于对象浏览器)
4. 从显示的下拉列表中选择 Excel

根类是应用程序,然后事情从那里流动。
例如工作簿 -> 工作表 -> 工作表 -> 单元格(范围)等。

希望有帮助。

于 2009-09-25T17:13:35.100 回答