今天写的代码,一些要做保留,记录 Public Class ExportXlsClass ExportXls

    Public Sub Printer()Sub Printer(ByVal pid As Int16, ByVal dbhlp As DBHelper, ByVal objds As ploy)
        Dim sqlstr As String

        sqlstr = "select * from Ploy where ployID=" & pid
        dbhlp.FillDataTable(sqlstr, objds, "Ploy")
        sqlstr = "select * from PForeign where ployID=" & pid
        dbhlp.FillDataTable(sqlstr, objds, "PForeign")

 

        Dim exl As New Excel.Application
        exl.Visible = True
        exl.DisplayAlerts = True
        exl.WindowState = Excel.XlWindowState.xlMaximized
        'Dim wb As Excel.Workbook = exl.Workbooks.Open(Application.StartupPath & "\print.xls")
        'Dim ws As Excel.Worksheet = wb.Worksheets("prt")
        Dim wb As Excel.Workbook = exl.Workbooks.Add()
        Dim ws As Excel.Worksheet = wb.Worksheets.Item(1)
        Dim Rng As Excel.Range

        Rng = ws.Columns(1)
        Rng.ColumnWidth = 16
        Rng = ws.Columns(2)
        Rng.ColumnWidth = 46
        Rng = ws.Columns(3)
        Rng.ColumnWidth = 16


        Dim dr As ploy.PloyRow
        dr = objds.Ploy.Rows(0)
        Try
            Rng = ws.Range("A1:A1", "C1:C1")
            Rng.Cells.Merge()'合并单元格
            Rng.Font.Name = "黑体"
            Rng.Font.Size = "22"
            Rng.HorizontalAlignment = -4108
            Rng.VerticalAlignment = -4108
            Rng.Value = dr.PSubject

        Catch ex As Exception

        End Try

        Try
            Rng = ws.Range("A2:A2", "C2:C2")
            Rng.Cells.Merge()
            Rng.Font.Name = "黑体"
            Rng.Font.Size = "14"
            Rng.HorizontalAlignment = -4108
            Rng.VerticalAlignment = -4108
            Rng.Value = "时间:" & dr.PTime

        Catch ex As Exception

        End Try

        Try
            Rng = ws.Range("A3:A3", "C3:C3")
            Rng.Cells.Merge()
            Rng.Font.Name = "黑体"
            Rng.Font.Size = "14"
            Rng.HorizontalAlignment = -4108
            Rng.VerticalAlignment = -4108
            Rng.Value = "地点:" & dr.Place

        Catch ex As Exception

        End Try

 

        Dim drF As ploy.PForeignRow
        Dim i, rngi As Integer
        Dim rngs, cellB, cellE As String

        rngi = 5 + objds.PForeign.Rows.Count
        cellB = "A5:A5"
        cellE = "C" & rngi.ToString & ":C" & rngi.ToString

        Rng = ws.Range(cellB, cellE)
        Rng.Font.Name = "仿宋_GB2312"
        Rng.Font.Size = "16"
        Rng.Borders.LineStyle = 1
        Rng.HorizontalAlignment = -4108
        Rng.VerticalAlignment = -4108

 

        Rng = ws.Range("A5")
        Rng.Value = "领馆"

        Rng = ws.Range("B5")
        Rng.Value = "出席人员"

        Rng = ws.Range("C5")
        Rng.Value = "职衔"

        rngi = 6
        For i = 0 To objds.PForeign.Rows.Count - 1
            drF = objds.PForeign.Rows(i)

            Rng = ws.Range("A" & rngi.ToString)
            Rng.Value = drF.PConsulate

            Rng = ws.Range("B" & rngi.ToString)
            Rng.Value = drF.PName

            Rng = ws.Range("C" & rngi.ToString)
            Rng.Value = drF.PRank

            rngi = rngi + 1
        Next

        'wb.Save()

        'If Not exl Is Nothing Then
        '    exl.Workbooks.Close()
        '    exl.Quit()
        '    System.Runtime.InteropServices.Marshal.ReleaseComObject(exl)

        'End If
        'If Not ws Is Nothing Then
        '    System.Runtime.InteropServices.Marshal.ReleaseComObject(ws)
        'End If
        'ws = Nothing
        'exl = Nothing
        'GC.Collect()


    End Sub

End Class

posted on 2006-11-09 20:35  七月的火热  阅读(1401)  评论(0编辑  收藏  举报