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

如何判斷Excel的某欄是否為空

答題得分者是:RaynorPao
Baaling
一般會員


發表:6
回覆:1
積分:1
註冊:2008-08-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-08-30 15:56:40 IP:118.171.xxx.xxx 訂閱
請各位大大看小弟用*匡起來的程式碼就好,其他的應該沒有問題(為完整性貼上來的)

[code cpp]
ariant ExcelAp,WorkBooks,Sheets,Sheet,WorkBook,Cell;

ExcelAp=CreateOleObject("Excel.Application");
WorkBooks=ExcelAp.OlePropertyGet("Workbooks");//取得Excel的Sheets物件
WorkBook=WorkBooks.OleFunction("Open","c:\\aaa.xls");//開啟指定檔名的doc文件
Sheets = WorkBook.OlePropertyGet("Sheets");
Sheet = Sheets.OlePropertyGet("Item",1);

Cell = Sheet.OlePropertyGet("Cells",1,1);
/******加了下面這行必當***
if(Cell.OlePropertyGet("Text")!=NULL)
{
}
**********************************/
[/code]
小弟的用意是想要藉由判斷Excel檔中某欄是否為空白,來做一些後續的處理,但一直不成功
想請問要如何做。
若把上面*號的部分換成
[code cpp]
Cell = Sheet.OlePropertyGet("Cells",111,9);
if(Cell.IsNull())
{
ShowMessage("e");

}
[/code]
雖然不會當,但結果卻也不正確(PS:119,9那欄是空的)
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-08-30 21:05:03 IP:61.60.xxx.xxx 訂閱
先試試看以下的程式碼是否可行?

[code cpp]
Variant ExcelApp, ExcelBooks, ExcelBook, ExcelSheets, ExcelSheet, ExcelCell, CellValue;
try
{
ExcelApp=Variant::CreateObject("Excel.Application");
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
if(ExcelApp.IsEmpty())
{
return;
}
ExcelApp.OlePropertySet("Visible", true); // 把這行刪掉, Excel 執行畫面就不會出現
ExcelBooks=ExcelApp.OlePropertyGet("Workbooks");
try
{
AnsiString szXlsFile1=ExtractFilePath(Application->ExeName) "test.xls";
ExcelBook=ExcelBooks.OleFunction("Open", StringToOleStr(szXlsFile1));
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
if(ExcelBook.IsEmpty())
{
return;
}

ExcelSheets=ExcelBook.OlePropertyGet("Worksheets");
ExcelSheet=ExcelSheets.OlePropertyGet("Item", 1);
ExcelCell=ExcelSheet.OlePropertyGet("Cells", 1, 1);
CellValue=ExcelCell.OlePropertyGet("Value");
AnsiString szCellValue=CellValue;
if(szCellValue.IsEmpty())
{
ShowMessage("Empty");
//...do something...
}

ExcelBook.OleFunction("Close");
ExcelApp.OleFunction("Quit");
[/code]
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-04-23 16:00:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!