Delphi對Excel檔案的操作(2)——讀取
阿新 • • 發佈:2019-02-12
//讀取excel檔案,得到資料v,行數rowcount
//path:檔案所在路徑
//v:檔案內資料
//rowcount:檔案最大行數
//sheetindex:讀取的檔案sheet序號
function ReadFromExcel(path:string;out v:Variant;out rowcount:Integer;sheetindex:Integer=1):Boolean;
var
MsExcel, MsExcelWorkBook, MsExcelWorkSheet: Variant;
begin
Result := true;
try
MsExcel := CreateOleObject('Excel.Application');
try
MsExcelWorkBook := MsExcel.Workbooks.Open (path); //根據路徑開啟檔案
try
MsExcelWorkSheet := MsExcel.Worksheets.Item[sheetindex]; //選擇表單
rowcount := MsExcelWorkSheet.Range['A1'].CurrentRegion.rows.count; //獲取行數
v := varArrayCreate([1, 1000, 1, 7], varVariant); //建立一個1000行7列陣列用來儲存Excel資料
v := MsExcelWorkSheet.Range['A1:G1000'].Value; //Excel左上角到右下角的範圍
finally
MsExcel.WorkBooks.Close;
end;
finally
MsExcel.Quit;
MsExcel := Unassigned;
end;
except
ShowMessage('開啟檔案失敗');
Result := false;
end;
end;
//path:檔案所在路徑
//v:檔案內資料
//rowcount:檔案最大行數
//sheetindex:讀取的檔案sheet序號
function ReadFromExcel(path:string;out v:Variant;out rowcount:Integer;sheetindex:Integer=1):Boolean;
var
MsExcel, MsExcelWorkBook, MsExcelWorkSheet: Variant;
begin
Result := true;
try
MsExcel := CreateOleObject('Excel.Application');
try
MsExcelWorkBook := MsExcel.Workbooks.Open (path); //根據路徑開啟檔案
try
MsExcelWorkSheet := MsExcel.Worksheets.Item[sheetindex]; //選擇表單
rowcount := MsExcelWorkSheet.Range['A1'].CurrentRegion.rows.count; //獲取行數
v := varArrayCreate([1, 1000, 1, 7], varVariant); //建立一個1000行7列陣列用來儲存Excel資料
v := MsExcelWorkSheet.Range['A1:G1000'].Value; //Excel左上角到右下角的範圍
finally
MsExcel.WorkBooks.Close;
end;
finally
MsExcel.Quit;
MsExcel := Unassigned;
end;
except
ShowMessage('開啟檔案失敗');
Result := false;
end;
end;