printdepartmentform.vb
来自「这是一个固定资产管理系统的源代码」· VB 代码 · 共 83 行
VB
83 行
'文件名:PrintDepartmentForm.vb
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop.Excel
Imports System.Reflection
Imports Microsoft.Office.Core
Public Class PrintDepartmentForm
Public MyCompany As String
Private MyQueryTable As System.Data.DataTable
Private Sub 查询ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查询ToolStripButton.Click
Dim My使用部门 As String = Me.部门ToolStripComboBox.Text
Dim MySQLConnectionString As String = My.Settings.MyAssetsConnectionString
Dim MyConnection As New SqlConnection(MySQLConnectionString)
MyConnection.Open()
MyQueryTable = New System.Data.DataTable()
Dim MySQL As String = "SELECT 类别,资产编号,名称,型号,制造厂家,出厂日期,入帐日期,存放地点,使用状态,增加方式,数量,单位,单价,金额,资产原值,累计折旧,折旧方法,折旧月数,已提月数,月度折旧额,预计净残值,说明 FROM dbo.固定资产明细 WHERE (资产编号 NOT IN (SELECT 资产编号 FROM dbo.减少固定资产)) AND (使用部门='" + My使用部门 + "') ORDER BY dbo.固定资产明细.类别, dbo.固定资产明细.资产编号"
Dim MyAdapter As New SqlDataAdapter(MySQL, MyConnection)
MyAdapter.Fill(MyQueryTable)
Me.固定资产明细DataGridView.DataSource = MyQueryTable
If (MyConnection.State = ConnectionState.Open) Then
MyConnection.Close()
End If
End Sub
Private Sub 打印ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打印ToolStripButton.Click
If (Me.MyQueryTable.Rows.Count < 1) Then
Return
End If
'导出Excel表格数据文件
Dim MyExcel As ApplicationClass
Dim MyWorkBooks As Workbooks
Dim MyWorkBook As Workbook
Dim MyWorkSheet As Worksheet
Dim MyColumns As Char
Dim MyRange As Range
Dim MyData(500, 35) As Object
Dim i, j As Integer
MyExcel = New ApplicationClass()
MyExcel.Visible = True
If (MyExcel Is Nothing) Then
MessageBox.Show("Excel程序无法启动!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return
End If
MyWorkBooks = MyExcel.Workbooks
MyWorkBook = MyWorkBooks.Add(Missing.Value)
MyWorkSheet = MyWorkBook.Worksheets(1)
Dim MyChar As Integer = Me.MyQueryTable.Columns.Count + 64
MyColumns = Convert.ToChar(MyChar)
MyRange = MyWorkSheet.Range("A5", MyColumns.ToString() + "5")
Dim Count As Integer = 0
For Each MyNewColumn As DataColumn In Me.MyQueryTable.Columns
MyData(0, Count) = MyNewColumn.ColumnName
Count = Count + 1
Next
j = 1
'输出数据库记录
For Each MyRow As DataRow In Me.MyQueryTable.Rows
For i = 0 To Me.MyQueryTable.Columns.Count - 1 Step 1
MyData(j, i) = MyRow(i).ToString()
Next
j = j + 1
Next
MyRange = MyRange.Resize(Me.MyQueryTable.Rows.Count + 1, Me.MyQueryTable.Columns.Count)
MyRange.Value2 = MyData
MyRange.EntireColumn.AutoFit()
MyWorkSheet.Cells(2, 2) = Me.MyCompany + "部门固定资产明细表"
MyWorkSheet.Cells(4, 1) = "固定资产使用部门:" + Me.部门ToolStripComboBox.Text
End Sub
Private Sub PrintDepartmentForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'获取公司的部门信息
Dim MySQLConnectionString As String = My.Settings.MyAssetsConnectionString
Dim MyConnection As New SqlConnection(MySQLConnectionString)
MyConnection.Open()
Dim MyDepartmentTable As New System.Data.DataTable()
Dim MySQL As String = "Select 部门名称 From 公司部门"
Dim MyAdapter As New SqlDataAdapter(MySQL, MyConnection)
MyAdapter.Fill(MyDepartmentTable)
For Each MyRow As DataRow In MyDepartmentTable.Rows
Me.部门ToolStripComboBox.Items.Add(MyRow(0).ToString())
Next
If (MyConnection.State = ConnectionState.Open) Then
MyConnection.Close()
End If
End Sub
End Class
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?