從 DBGrid/StringGrid 匯出資料到 Excel 的元件 (Demo+Source) |
|
silence
一般會員 發表:9 回覆:17 積分:10 註冊:2003-06-04 發送簡訊給我 |
// 因為工作上使用到的, 幫部門寫的小程式經常要輸出 Excel
// 所以寫個元件來簡化
//
// 功能:
// 1. DBGrid 或 StringGrid 上按下右鍵後可以選擇 [輸出到 Excel]
// 2. 自動生成 PopupMenu / MenuItem, 並整合入自訂的 PopupMenu, 不必額外煩惱操作介面
// 3. DBGrid 可使用按下 Title 後做 Sort 的功能 (但 DBGrid 的 DataSet 要是 SQL Query, 且不能太複雜)
// 4. 在執行時期若要關閉, 不允許 user 轉出資料, 只要將特定 Grid 的 OnMouseUp := nil 即可
// 要再打開, 只要重新 Initial 即可
//
// 使用:
// 0. 將元件拉放到 Form 上
// 1. 在 FormCreate 中加入
// GridExport.Initial(Self);
// 即可自動使用, 額外有預設為 False 的參數 aTitleSort: boolean
// 2. 在 FormClose 中加入
// GridExport.FreeAll;
// 確保 [自有物件] 及 Excel 正確 Free
// 3. 程式執行時, 於 DBGrid / StringGrid 上按右鍵跳出 PopupMenu,
// 其中 MenuItem 會自動跟你指定給 Grid 的 PopupMenu 結合
// 4. 執行 Export to Excel, 從 DBGrid / StringGrid 將資料匯出到 Excel
//
// 附帶函式四個
// A. 自動設定 String Grid 的第 aCol 個 column width
// B. 應用 A 來做多個 column 的自動調整
// C. "自訂 DBGrid 的文字外觀時, 放在 OnDrawColumnCell 的最後來使用"
// D. "自訂 StringGrid 的文字外觀時, 放在 OnDrawCell 的最後來使用" 總是看網站上很多人問 DB to Excel 的問題
所以也上來現個醜
其實我只用很簡單的想法和oo觀念而已
原先在另一 Delphi 討論站有發表過舊的版本(太久沒去都忘了站名)
而來到 KTop 又發現一些新東西就再加進去
(例如 DBGrid 文字外觀的 Alignment)
使用很久了, 從 D6 ~ D7 都沒問題
又很簡單
只要丟著再加兩行程式就好了
有興趣看看 Suorce 吧
有覺得不夠精簡的地方非常歡迎來信
想自行擴充也沒關係, 沒有任何限制
只希望改完也來把好主意與大家分享 另: 公司網路慢, 沒有仔細爬, 若站上已有類似的元件請勿見怪
附加檔案:62999_GridExport.rar
|
kenny236
一般會員 發表:5 回覆:6 積分:2 註冊:2005-04-01 發送簡訊給我 |
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
|
diashad
一般會員 發表:20 回覆:10 積分:6 註冊:2006-08-10 發送簡訊給我 |
|
misjason
一般會員 發表:9 回覆:17 積分:5 註冊:2007-03-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |