2011年1月31日 星期一

VB.NET 產生 Excel 圖表另存圖片

記錄一下怎麼產生 Excel 圖表並另存成圖片

1.開啟一個空白 Excel, 將要填的資料格式都準備好, 並插入想要的圖表在裡面
2.將 Excel 儲存為 Template.xls 放入專案 \bin\debug\ 下
3.撰寫 VB.NET 程式段填寫資料 (圖表會隨資料異動而改變)

'開啟 Template Excel
Dim strTemplatePath As String = Directory.GetCurrentDirectory & "\Template.xls"
Dim xlsApp As New Application()
Dim xlsWorkBook As Workbook = xlsApp.Workbooks.Open(strTemplatePath)
Dim xlsWorkSheet As Worksheet = CType(xlsWorkBook.Worksheets("Sheet1"), Worksheet)

'填入 Excel 資料
..................................

'另存為 Html (產生圖表圖片)
Dim strHtmlName As String = Directory.GetCurrentDirectory & "\Chart.htm"
xlsWorkBook.SaveAs(strHtmlName, XlFileFormat.xlHtml)

'關閉 Excel
xlsWorkBook.Saved = True
xlsApp.Quit()
xlsApp = Nothing
GC.Collect()
GC.WaitForPendingFinalizers()

這樣 \bin\debug\ 下就會多了個 Chart.htm 檔案及 Chart.files 資料夾
Chart.files 資料夾下會有個 image001.gif 圖片
這就是我們要的圖片檔了
(p.s 如果 Template.xls 裡有多張圖表, 會依序命名為 image001, image002...)

2011年1月12日 星期三

SQL Server 2005 備份

完整備份 : 備份 DB 的 .mdf 及 .ldf

差異備份 : 必須先產生完整備份
       備份完整備份至目前為止所有異動過的 .mdf 資料
       適用於 : 資料量成長較低, 但交易頻繁的 DB, 且交易歷程較不重要的 DB

交易記錄備份 : 必須先產生完整備份
          備份自完整備份/差異備份/上次交易記錄備份到目前為止所有異動過的 .ldf 資料 (見附圖)
          適用於 : 資料量急速成長的 DB

Command :
--截斷交易記錄
backup log DBName with truncate_only

--壓縮資料庫
dbcc shrinkdatabase(DBName, truncateonly)

--壓縮檔案
dbcc shrinkfile(DBName_log, Default_Size)

--完整備份
backup database DBName to disk = 'D:\Folder\xxxxxxxxxxxxx.bak'

--差異備份
backup database DBName to disk = 'D:\Folder\xxxxxxxxxxxxx.bak' with differential

--交易記錄備份
backup log DBName to disk = 'D:\Folder\xxxxxxxxxxxxx.trn'