iT邦幫忙

0

使用 ASP.NET 都會用到 Crystal report 嗎 ?

  • 分享至 

  • xImage

聽說 Crystal report 是個蠻強的報表功能 , 不用寫什麼程式就可以拉報表
我用 asp.net for vb 但是書上都沒介紹到 Crystal report
這是為什麼呢 ?

sheng514 iT邦新手 1 級 ‧ 2011-11-08 18:19:19 檢舉
既然有朋友問到我用CR產出PDF,我就描述一下我的作法

1.專案內有Web頁
2.繪製你的CR報表,來源必定是某個 Typed DataSet(就是.xsd檔)
3.Web頁面接受查詢條件,並依照條件下SQL抓出資料餵給Typed DataSet,然後呼叫CR報表,提供Typed DataSet
4.將該CR的資料轉出成PDF檔,此時會知道實體檔名與路徑,再回傳到web iFrame物件上的URL,就會將原先的CR轉成PDF顯示給USER看囉...
5.因為檔案是實際產生存在主機的某個目錄內..所以可以自己做一個Windows 排程去執行刪除該目錄內PDF檔的批次語法
sheng514 iT邦新手 1 級 ‧ 2011-11-08 18:19:57 檢舉

'需要參照的名稱空間
Imports System.IO
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports System.Data.SqlClient
Imports System.Data

    '宣告 CrystalReports 物件
    Public ReportDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument

    '檔案名稱
    Public sTmpFileName As String

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '載入頁面判斷是否有傳遞參數
        If Request.Form("oid") <> "" Then
            Dim oid As String = Request.Form("oid")
            binddata(oid)'資料繫結+導入CR報表與轉PDF檔
            Response.Write(sTmpFileName)'頁面顯示轉出後檔名
            Response.End()
        End If
    End Sub


sheng514 iT邦新手 1 級 ‧ 2011-11-08 18:23:52 檢舉
binddata 程式碼我無法貼上...那我用圖片給各位
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
10
sheng514
iT邦新手 1 級 ‧ 2011-11-06 13:09:20
最佳解答

我除了用CR設計報表,也會用內部轉PDF的工具,在Web介面可以將報表轉成PDF檔
這樣User甚至不用安裝看CR的ActiveX元件
另外教.NET的很少說的原因...畢竟CR是人家的產品(軟體魔王M$快點把他收購)
且自家有 SQL Reporting Server

sheng514提到:
內部轉PDF的工具,在Web介面可以將報表轉成PDF檔

請問如何做

8
wiseguy
iT邦超人 1 級 ‧ 2011-11-06 00:39:54

因為報表不是每一種程式都必要,當然就不必特別在教程式語言的書裡講 Crystal report 囉。

要利用 asp.net 寫客戶管理系統或是工程部維修系統 , 是不是就要使用 crystal report 呢 ?

wiseguy iT邦超人 1 級 ‧ 2011-11-06 12:12:36 檢舉

這問題你不應該問我,而是要看需求內容吧?
就算需求有要求報表,也不見得要用 crystal report 呀。

8
外獅佬
iT邦大師 1 級 ‧ 2011-11-06 23:28:32

Visual Studio 2010 就沒有內建CR,必須自行去下載CR for VS 2010
Microsoft Report也可以做報表,一樣也能轉出PDF或Excel

6
sam0407
iT邦大師 1 級 ‧ 2011-11-07 09:36:13

Visual Studio 2008以前的版本都有內建精簡版的Crystal Report,去圖書館找一些舊書還有些書上會寫到這個精簡版的Crystal Report用法。

如果您要找專門寫Crystal Report的書,我記得恆逸也有講師寫過一本。

6
I code so I am
iT邦高手 1 級 ‧ 2011-11-07 10:30:58

Crystal Report 先被Business Object公司買走,後來又被SAP併購,相關資訊可至Business Object or SAP 網站查詢,目前.net developer 都使用 MS Reporting Services,因為它是MS的, 而且又免費.

ithomelee iT邦研究生 1 級 ‧ 2011-11-07 13:10:24 檢舉

請問MS Reporting Services與Crystal Report 相較有比較差嗎?或比較難用嗎?

我要發表回答

立即登入回答