資料填入Excel |
尚未結案
|
qaeroman
一般會員 發表:6 回覆:6 積分:2 註冊:2003-06-19 發送簡訊給我 |
各位高手:
我有個程式想把資料庫內資料填入excel的cells中,
在站上有搜尋到一些文章,但不是使用delphi語法,就是不符合我的需求。
所以想請教一下如何coding,或是提供一點資料文件讓我參考一下,
我使用的是BCB6,Win2000環境及 Excel 2000,以下是我想做的程式輸出: (1)開啟一個excel檔並命名之(例:Tc1output.xls)
(2)增加四個sheets,並且個自命名(例:test1、test2、test3、test4)
(3)在第一個sheet的cells內填入資料庫的數據(這個步驟參考站上文章我已學會)
(4)跳到第二個sheet,開始寫入數據資料
(5)依序把第三個sheet、第四個sheet填入資料 請各位高手提供方法及屬性,多謝~~感激不盡
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
qaeroman
一般會員 發表:6 回覆:6 積分:2 註冊:2003-06-19 發送簡訊給我 |
感謝timhuang的回應,可是好像還是沒解決(1)(4)(5)的問題,
根據timhuang提供的兩篇文章,我有以下的想法,請指教: 想法一:
step1:開啟一個Excel檔並命名 (這個步驟我不會)
step2:先Add一個test4的sheet,填入資料。
step3:依序Add,test3, test2,test1的sheets填入資料
step4:delete 一開啟Excel程式就內建的Seet1、Sheet2、Sheet3(這個步驟我不會) 想法二:
step1:開啟一個Excel檔並命名 (這個步驟不會)
step2:將Sheet1重新命名為test1,填入資料。
step3:將Sheet2設為Active,重新命名為test2,填入資料(如何將Sheet2設為Active不清楚)
step4:將Sheet3設為Active,重新命名為test3,填入資料(如何將Sheet3設為Active不清楚)
step5:Add一個test4的sheet,填入資料。 我對這個部分不熟,書上的資料寫的又很少,請前輩高手們不吝指教,謝謝!
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
hi, 再寫的小範例給你參考:
void __fastcall TForm1::Button1Click(TObject *Sender) { Variant ex, wb, ws, ch; ex = CreateOleObject("Excel.Application"); wb = ex.OlePropertyGet("WorkBooks").OleFunction("Open", "C:\\1.xls"); wb.OleFunction("SaveAs", "C:\\2.xls"); //解決問題(1) ex.OlePropertySet("Visible", true); wb.OlePropertyGet("WorkSheets", 2).OleFunction("Select"); //解決問題(4)(5) }要重新命名檔案可以在存檔的時候給定檔名即可, 如上面的 SaveAs, 要切換目前的 sheet 可以使用 Select 即可, 看你要切到那一頁就給定該 index 就行了! |
wivern
初階會員 發表:31 回覆:63 積分:28 註冊:2002-07-31 發送簡訊給我 |
新增sheet:
Worksheet=Worksheets.OleFunction("Add"); // 新增一worksheet Worksheet.OlePropertySet("Name","SheetName") ;//更改Sheet的名稱將Sheet Active: Worksheet=Worksheets.OlePropertyGet("Item",1);or Worksheet=Worksheets.OlePropertyGet("Item","SheetName");//先選擇Sheet,可用數字或是Sheet名稱 Worksheet.OleProcedure("Activate");刪除sheet: Worksheet=Worksheets.OlePropertyGet("Item","SheetName"); Worksheet.OleProcedure("Delete");存檔: Excel.OlePropertySet("DisplayAlerts", false); Workbook.OleProcedure("SaveAs", file_name);加入 Excel.OlePropertySet("DisplayAlerts", false); 這一行可以讓Excel不要出現警告視窗,像是如果要存的檔已經存在的話, 本來會出現一個警告視窗問是否要取代原來的檔, 加上這一行,就可以直接存檔,不管是否檔名有重覆~ 發表人 - wivern 於 2003/10/27 18:24:45 |
qaeroman
一般會員 發表:6 回覆:6 積分:2 註冊:2003-06-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |