Board logo

標題: 暗黑兄你提過:用 vb 寫個列印報表的程式,而excel就當成資料庫 [打印本頁]

作者: linshin1999    時間: 2010-12-31 23:00     標題: 暗黑兄你提過:用 vb 寫個列印報表的程式,而excel就當成資料庫

其實我現在用的是在VB產生原生檔案(.txt)檔,再到Excel製造報表,為什麼會這樣呢?
因為我不知道在VB中如何劃框線,對單一儲存格,設定屬性(例如:粗體字,字型種類), 於是我想問暗黑兄如何在VB中寫一個列印報表的程式?
作者: 暗黑    時間: 2011-1-5 14:20

不是很了解你的意思..
就報表來說....
報表  是依條件值  將資料  彙整成  我們要的格式(預攬),然後用印表機列印出來(列印),所以程式流程會分為
條件設定>>查詢之資料(報表格式)>>列印
vb.net  有提供的報表功能Crystal Report報表,但必須在正式版本才有提供。
我用免費版的,所以...我會用其他的方式來列印  如你之前說的  用excel  來彙整資料,但excel 是底圖的觀念(如圖),
[attach]4313[/attach]
然後  用程式將  值  塞入對應的  空格 , 這樣  要列印的資料  就可以用  excel  列印,且excel 的底圖  可一直重覆使用一直到  改底圖

大慨就這樣....有其他問題  再提出來大家討論
作者: linshin1999    時間: 2011-1-5 15:07

DataGridView, report view, Crystal report 好像都可以,非正式版的 DataGridview , report view 好像也可以,但是可能在列印之前都無法預覽,所以會選擇Excel.

因為 Excel 的語法還不孰悉,所以現在寫法是先將報表資料存進去(用VB 的.Txt檔),再用Excel讀進去分割檔案,再劃框線.就像你上傳的表格那樣,如果內容用 VB 存成 .Txt 檔, 然後讀到EXcel去劃框線,就成了,很辛苦吧!有更好的方法請提供.

作者: 暗黑    時間: 2011-1-5 16:22

你說的  DataGridView, report view, Crystal report   這些都可以  用,但  我覺的會寫一堆程式,所以 這只是 個人的習慣而已...

'連結excel
       Dim x1 As Object = CreateObject("Excel.Application")
        x1.Workbooks.Open("c:\a.xls")

資料格內容塞資料

        For r As Integer = 1 To 7
            For c As Integer = 1 To 3
                 x1.Cells(r, c).Value= data(r,c)
            Next
        Next
作者: linshin1999    時間: 2011-1-5 21:52

謝謝暗黑兄,我真的找這個答案找好久了,明天去公司試試看,有問題再問你謝謝!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)