請問取得 EXCEL 資料裡面行數和列數的方法 |
尚未結案
|
chiehjen
一般會員 發表:8 回覆:4 積分:2 註冊:2003-12-30 發送簡訊給我 |
我用OLE去開excel的檔案,請問如何才可以取得兩個數字
分別代表所開啟的檔案裡面的有幾行,有幾列?
去論壇爬文的結果有前輩提出可以用下面兩行程式來取得。 WorkBooks.orkSheets[index].UsedRange.Columns.Count
WorkBooks.WorkSheets[index].UsedRange.Rows.Count 可是我測試後一直沒有辦法取出,都會出現沒有這個找不到成員的
錯誤,可以請會的前輩幫我解答嗎?
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Variant ExcelAp,WorkBooks,Sheets,Sheet,WorkBook,Worksheets,Cell,wc,wr; int i,j; if(OpenDialog1->Execute()) { ExcelAp=CreateOleObject("Excel.Application"); ExcelAp.OlePropertySet("Visible",false); WorkBooks=ExcelAp.OlePropertyGet("WorkBooks"); WorkBook=WorkBooks.OleFunction("Open",OpenDialog1->FileName.c_str()); Sheets = WorkBook.OlePropertyGet("Sheets"); Sheet = Sheets.OlePropertyGet("Item",1); //取得行數和列數 wc=Sheet.OlePropertyGet("WorkBooks.Sheets[index].UsedRange.Columns.Count"); wr=Sheet.OlePropertyGet("WorkBooks.Sheets[index].UsedRange.Rows.Count"); ShowMessage(wc); ShowMessage(wr); } } //--------------------------------------------------------------------------- |
chiehjen
一般會員 發表:8 回覆:4 積分:2 註冊:2003-12-30 發送簡訊給我 |
各位前輩 小弟今天再爬過一次文章,發現可以用下面的程式解決問題,但是不懂其意思,可以請會的高手幫我解釋一下嗎?
各位前輩 今天再文章爬了一次,發現有下面的方法可以解決,可是我不懂 這些程式的意思,可以請會高手幫我解釋一下嗎? 感恩 [code] columns = StrToInt(VarToStr(ExcelAp.OlePropertyGet("WorkBooks",1).OlePropertyGet("WorkSheets",1).OleFunction("Evaluate", "=COUNTIF($1:$1,\"<>\")"))); rows = StrToInt(VarToStr(ExcelAp.OlePropertyGet("WorkBooks",1).OlePropertyGet("WorkSheets",1).OleFunction("Evaluate", "=COUNTIF($A:$A,\"<>\")"))); ShowMessage("columns=" IntToStr(columns) ", rows=" IntToStr(rows)); |
GaryKao99
中階會員 發表:46 回覆:102 積分:54 註冊:2002-08-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |