// 因為工作上使用到的, 幫部門寫的小程式經常要輸出 Excel
// 所以寫個元件來簡化
//
// 功能:
// 1. DBGrid 或 StringGrid 上按下右鍵後可以選擇 [輸出到 Excel]
// 2. 自動生成 PopupMenu / MenuItem, 並整合入自訂的 PopupMenu, 不必額外煩惱操作介面
// 3. DBGrid 可使用按下 Title 後做 Sort 的功能 (但 DBGrid 的 DataSet 要是 SQL Query, 且不能太複雜)
// 4. 在執行時期若要關閉, 不允許 user 轉出資料, 只要將特定 Grid 的 forbidden := 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 吧
有覺得不夠精簡的地方非常歡迎來信
想自行擴充也沒關係, 沒有任何限制
只希望改完也來把好主意與大家分享
另: 公司網路慢, 沒有仔細爬, 若站上已有類似的元件請勿見怪
歡迎光臨 bestlong 怕失憶論壇 (http://www.bestlong.idv.tw/) | Powered by Discuz! X1.5 |