線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:7757
推到 Plurk!
推到 Facebook!

請問取得 EXCEL 資料裡面行數和列數的方法

尚未結案
chiehjen
一般會員


發表:8
回覆:4
積分:2
註冊:2003-12-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-18 00:28:01 IP:139.175.xxx.xxx 未訂閱
我用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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-18 23:03:20 IP:139.175.xxx.xxx 未訂閱
各位前輩        小弟今天再爬過一次文章,發現可以用下面的程式解決問題,但是不懂其意思,可以請會的高手幫我解釋一下嗎?     
 
各位前輩
今天再文章爬了一次,發現有下面的方法可以解決,可是我不懂
這些程式的意思,可以請會高手幫我解釋一下嗎? 感恩     [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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-19 11:00:24 IP:210.201.xxx.xxx 未訂閱
Excel 函數 COUNTIF COUNTIF(range, criteria) 計算一範圍內符合指定條件儲存格數目 rowCount: =COUNTIF($A:$A,"<>") 會回傳column A 不為空白的count colCount: =COUNTIF($1:$1,"<>") 會回傳row 1 不為空白的count 你可以在Excel中試試 ~~~~~~~~~~~~~~~~~~~~~~ 我什麼都會, 就兩樣不會 就是 這個也不會, 那個也不會
系統時間:2024-11-22 16:36:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!