单元格未在Excel工作表中命名,但仍需要从单元格中获取数据

时间:2009-09-25 17:09:41

标签: delphi excel excel-2003

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

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

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

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

2 个答案:

答案 0 :(得分: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;

再见。

答案 1 :(得分:-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

根类是Application&然后事情从那里流出。
例如工作簿 - > WorkSheets - >工作表 - >细胞(范围)等。

希望有所帮助。