我有一个客户端使用的Excel 2003工作表。
我需要更新从这些单元格中提取数据的Delphi应用程序,但这些单元格根本没有命名,它们只是j3
和j55
。
来自单元格的数据是否仍可以发送到其他应用程序?
Delphi应用程序可以采用这些值吗?
答案 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.从显示
根类是Application&然后事情从那里流出。
例如工作簿 - > WorkSheets - >工作表 - >细胞(范围)等。
希望有所帮助。