請教用OLE方式讀取 EXCEL檔案時,如何知道要讀取的範圍 |
答題得分者是:couchpotato
|
diroex
一般會員 發表:38 回覆:51 積分:22 註冊:2005-04-04 發送簡訊給我 |
|
couchpotato
初階會員 發表:1 回覆:16 積分:33 註冊:2008-05-09 發送簡訊給我 |
你好:
以下程式碼供你參考 [code cpp] void __fastcall TForm1::Button1Click(TObject *Sender) { Variant ExcelApp, ExcelBooks, ExcelBook, ExcelSheets, ExcelSheet, Cell, Var; int MaxCols, MaxRow, TotalCell=0; ExcelApp=Variant::CreateObject("Excel.Application"); ExcelApp.OlePropertySet("Visible", true); ExcelBooks=ExcelApp.OlePropertyGet("Workbooks"); AnsiString szXlsFile1=ExtractFilePath(Application->ExeName) "test.xls"; ExcelBook=ExcelBooks.OleFunction("Open", StringToOleStr(szXlsFile1)); ExcelSheets=ExcelBook.OlePropertyGet("Worksheets"); ExcelSheet=ExcelSheets.OlePropertyGet("Item", 1); //取得最大行數 MaxCols =ExcelSheet.OlePropertyGet("UsedRange").OlePropertyGet("Columns").OlePropertyGet("Count"); //取得最大列數 MaxRow = ExcelSheet.OlePropertyGet("UsedRange").OlePropertyGet("Rows").OlePropertyGet("Count"); //取得欄位數 for(int i=1;i<=MaxRow;i ) { for(int j=1;j<=MaxCols;j ) { Cell=ExcelSheet.OlePropertyGet("Cells",i,j); Var=Cell.OlePropertyGet("Value"); // 讀取該 cell 的值到變數 Var 中 if (String(Var)!="") // 轉換取得的資料. { TotalCell = 1; } } } Edit1->Text=String(MaxCols); Edit2->Text=String(MaxRow); Edit3->Text=String(TotalCell); } [/code]
------
我是機器人,我不接受簡訊.
編輯記錄
couchpotato 重新編輯於 2008-05-23 16:33:10, 註解 版面修改‧
couchpotato 重新編輯於 2008-05-23 16:42:19, 註解 無‧ couchpotato 重新編輯於 2008-05-23 16:43:02, 註解 無‧ couchpotato 重新編輯於 2008-05-23 16:55:31, 註解 無‧ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |