Category Archives: CodePlex

Crystal Report Helper Library on CodePlex

今天發佈了我另一個Library 到CodePlex 上…
這個Library 是我在.Net上使用Crystal Report XI R2 的元件時寫的
方便自己和其他朋友在.Net Application 中 使用Crystal Report的.rpt 檔 產生/導出報告成PDF

如果大家也是用.NetCrystal Report/或者將會考慮使用Crystal Report 的話..
可以嘗試使用這個Library, 看看能不能 令你在.Net [WinForm]中更方便地使用Crystal Report component 來 產生/導出PDF數據資料

以下是小小的Sample Code
首先我們要到CodePlex download CrystalReportHelperLib.zip
http://crystalreporthelper.codeplex.com/releases
把他解壓縮到資料夾上

CrystalReportHelperLib
http://crystalreporthelper.codeplex.com/

CrystalReportHelperLib.dll 加入到Project 上的參考上
以下的Sample Code 有一個例子, 解釋怎樣使用這個CrystalReportHelperLib

[vb]
Imports CrystalReportHelperLib

Private Sub btn_GenerateReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_GenerateReport.Click
‘建立一個新的Crystal Report Helper
Dim CReport As New CrystalReportHelper
Using CReport
‘初始化報表
CReport.InitialiseCrystalReport("C:CrystalReportShareChiWaiSample.rpt")
‘設定數據庫資料
CReport.SetDataSourceConnection("SQL Server Name", "SQL Database Name", "SQLUsername", "SQLPW")
‘設定列印時的選項—這是設定雙面列印的
CReport.SetPrinterSettingsDuplexDefaultOption()
‘將會用來Print 這個Report 的 Printer 名稱
CReport.SetPrinter("Printer PathPrinter Name")
‘設定報告的 Variable
CReport.SetParameter("@Period", "Database Variable1")
CReport.SetParameter("@Period", "Database Variable1")

‘Export PDF
CReport.ExportCrystalReport("PortableDocFormat", "C:CrystalReportExportShareChiWaiSample.pdf")

‘Print Report
CReport.PrintAllDoc()
‘關閉Report
CReport.Close()
CReport = Nothing
End Using
End Sub
[/vb]

Hope you find it useful

VB.Net Get Number from String —VB.Net從String 找出數字

今天在更新ShareChiWaiLib 中的XLSXHelper 時 想到一個新的功能.. 就是令到使用者可以自定加入一些Excel Cells 只要他們知道..想加的Excel 單元格的位置便可
例如: A2, X10等等…
由於Microsoft.Office.Interop.Excel 是以Column indexRow Index 來決定 單元格中的位置… 所以便要想辦法分析開英文字母的是Column Index 而數字是Row Index..

經過一段時間的Research…終於找到了一個算是有效率的方法解決這個問題…
就是使用Regular Expression 常規表達式來找出數字出來…

解決方法:
常規表達式中 d 是指 數字
而我們會包含有小數位的數字
所以我們的Regular Expression 會是這樣的
d*[.]d*|d+
以下是我所寫的程式碼…

[vb]
Public Shared Function Get_NumberFromString(ByVal SourceString As String) As String
‘Regular Expression for Number
Dim RegExpress As New Regex("(d*[.]d*|d+)")
‘Return the first match group
Return RegExpress.Match(SourceString).Groups(0).Value
End Function
[/vb]

這個功能已經加入了ShareChiWaiLib 中的StringFunc Helper Class
歡迎大家Download 來使用 和留言給我一些建議..怎麼可以令到這個Library 更有用等等

ShareChiWaiLib
http://sharechiwailib.codeplex.com/

Download 地點
http://sharechiwailib.codeplex.com/releases/

例子:

[vb]
Dim Num as String = ShareChiWaiLib.StringFunc.Get_NumberFromString("ShareChiWai 1115.01 Blog Post")
MessageBox.Show(Num)
[/vb]

這會出現 “1115.01” 這個Popup Message

Hope you find it useful

Run SSIS Services From Client Machine How to use SSIS WCF Services Part I—在客戶端中使用SSIS Services 怎樣使用SSIS WCF Services Part I

今日想在這裡和大家分享怎樣發佈 這個SSIS WCF Services
大家可以到CodePlex Download 這個Zip 檔案

http://ssisservices.codeplex.com/releases
Download 完成後我們可以把檔案解壓縮到一個地方儲存..
以備一會兒使用

以下這個例子是用Windows 7中的IIS 7.5 來做的
使用這個SSIS WCF Services 的 系統一定要已安裝 SSIS Services
因為我們需要通過這部電腦的 來執行SSIS Package

首先我們要在設定好IIS…
1) 我們可以 以”Start” -> “Control Panel” ->”Administrative Tools” ->”Internet Information Services (IIS) Manager”  我的這個例子是使用Windows 7 中的 IIS 7.5

2) 在” Default Web Site” 中 按右鍵 -> 選擇 ->”Add Application…/加入應用程式

3) 在”Add Application” 視窗 填入適當的資料 , “Physical Path…” 中選擇之前 “SSISServices.zip” Download 完成後解壓縮到的地方, 之後按 “OK/確定

4) 之後你便可以看到剛剛建立的”Web Application“, 按一下”Content View” 分頁

5) 選擇 “SSISServices.svc” 檔案後, 用右鍵 按一下 “Browse/瀏覽

6) 之後電腦便會在”瀏覽器“中把開這個SSIS WCF web services

7) 按一下WSDL 連結後便會看到 WSDL 的內容了

之後你便可以把 這個SSIS WCF Services 加進到你的 Project上使用了

Hope you find it useful

.Net Library Export DataSet/DataTable to SpreadSheet (XLSX) II — 在 滙出 DataSet/DataTable 成 Excel XLSX 格式

最近…公司的新網頁需要一個功能..要輸出網頁上的一些資料成 Excel Spreadsheet..上星期測試了自己之前寫的 ShareChiWaiLib 的 XLSXHelper… 能夠成功在本機測試..可以打資料由DataSet/DataTable/GridView 上輸出到 XLSX… 很可惜真正的發報到 Server 時出現以下的  錯誤信息…
“Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)). “

和朋友一起想了很久也想不通怎麼解決…
其中一個原因是不想在Server 上再安裝其他軟件..E.G. Office…最後終於放棄了 用XLSXHelper

經過一段時間的努力..終於學會怎樣使用 Open XML SDK 來做到把DataSet/DataTable Export 到 Spreadsheet [XLSX format 了]

我把Source Code 發佈了CodePlex 上.. 大家有興趣的請一起研究研究..令這個Library 更好用…方便其他遇到同樣問題的朋友
http://sharechiwailib.codeplex.com/

大家可以到以下URL Download 最近Compile 有OpenXMLXLSXHelper 的 DLL

http://sharechiwailib.codeplex.com/releases/view/55256

[vb]
Imports ShareChiWaiLib
Dim tbl as DataTable = Get_DataTableForTesting() ‘ 這是你取DataTable的一個功能

Dim ds as DataSet = Get_DataSetForTesting() ‘ 這是你取DataSet的一個功能

Dim XLSXExporter As New OpenXMLXLSXHelper

XLSXExporter.ExportDatatableToXLSX(tbl, "D:DestinationFolder", "DataTable.xlsx", True, "ExampleSheet", 1)

XLSXExporter.ExportDataSetToXLSX(ds, "D:DestinationFolder", "DataSet.xlsx", True, 1)

解釋
XLSXExporter.ExportDatatableToXLSX(DataTable, 儲存位置, 儲存的, 是否使用Table Column Header 為Column 名, "Sheet Name", 第一行的Index 由1開始)

XLSXExporter.ExportDataSetToXLSX(DataSet, 儲存位置, 儲存的, 是否使用Table Header 為Column 名, 第一行的Index 由1開始)

[/vb]

Hope you find it useful
有時間的時候我會做一些範例來..令到這個Library 更加容易明白…更加容易使用
Have a good day =)

ShareChiWaiLib on CodePlex Now — 我的首個Lib 在CodePlex 了

最近比較忙…所以遲遲都沒有把之前的Source Code 原始碼發佈出來和大家一起分享
之前希望可以把Source Code 整理後…
E.G.把Comment和令這些程式碼更有效率之後才發佈…
但是因為太多事情要做…
所以到了今天..決定先打Source Code upload 到CodePlex
之後再改差程式碼和加入註解…
如果不是的話…可能還需要過多幾星期才可以發佈這些原始碼…

暫時這個ShareChiWaiLib只是收藏了我常用的Library
XLSXHelper — 用來把 DataTable/DataGridView/GridView 轉成Excel XLSX CSV
CSVHelper —用來處理CSV的..可以把csv 讀成一個DataTable/ 或把DataTable Export 成CSV
StringFunc — 一些我常用的String Function 例如生產一個Batch Number

有時間我會把更多的功能放到這個 Project 上…歡迎大家一起參與

ShareChiWaiLib URL
http://sharechiwailib.codeplex.com/
由於這是小弟第一次把Code 放進CodePlex..所以還有很多 文章要寫…或放到CodePlex 上… 所以暫時ShareChiWaiLib CodePlex 只有Source Code…和一個built… 我會盡快在CodePlex 加入User Guide 或Sample Code 敬請原諒…

請大家多多指教…