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

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

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+
以下是我所寫的程式碼…

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

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

ShareChiWaiLib
http://sharechiwailib.codeplex.com/

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

例子:

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

這會出現 “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

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開始)

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 敬請原諒…

請大家多多指教…