Vb.net 从datagridview创建不带数据库的pdf
我有下面的代码,我想用iTextSharp创建一个PDF。Vb.net 从datagridview创建不带数据库的pdf,vb.net,pdf,datagridview,Vb.net,Pdf,Datagridview,我有下面的代码,我想用iTextSharp创建一个PDF。 如何在不创建数据库的情况下做到这一点(因为datagridview中每一行的代码都不同) 选项严格打开 选项显式打开 公开课表格1 作为整数的Dim计数器 将总计设置为字符串 私有子按钮1\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮1。单击 尺寸列表=新列表(测试) 尝试 ' '用列表填充数据网格 ' ' '第一行代码 ' Dim奖金=(CDbl(组合框2.SelectedItem)*
如何在不创建数据库的情况下做到这一点(因为datagridview中每一行的代码都不同)
选项严格打开
选项显式打开
公开课表格1
作为整数的Dim计数器
将总计设置为字符串
私有子按钮1\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮1。单击
尺寸列表=新列表(测试)
尝试
'
'用列表填充数据网格
'
'
'第一行代码
'
Dim奖金=(CDbl(组合框2.SelectedItem)*CDbl(TextBox2.Text)*0.001)
Dim SUM=TextBox2.Text
Dim NormalCover=CDbl(TextBox2.Text)+奖金
Dim DAB=(CDbl(CStr(TextBox2.Text))*2)
Dim Premium=TextBox4.Text
Dim Tax=(CDbl(TextBox4.Text)*CDec(ComboBox1.SelectedItem)*0.01)
Dim净支出=CDbl(CDbl(TextBox4.Text)-税务)
Dim AccBenefit=DAB+奖金
仪表板返回仪表板从仪表板返回仪表板=CStr(0)
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
'
'第二到最后一行的代码
'
对于Me.counter=0到CInt((CDbl(TextBox3.Text)-2))
TextBox1.Text=CStr(CDbl(TextBox1.Text)+1)
正常保险=CDbl(CStr(正常保险+奖金))
AccBenefit=CDbl(CStr(AccBenefit+奖金))
Premium=TextBox4.Text
Tax=CDbl(文本框4.Text)*CDec(组合框1.SelectedItem)*0.01
净支出=CDbl(CDbl(TextBox4.Text)-税)
返回\u从\u LIC=CStr(0)
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
下一个
'
'最后一列的代码
'
TextBox1.Text=CStr(CDbl(TextBox1.Text)+1)
正常保险=CDbl(CStr(正常保险+奖金))
AccBenefit=CDbl(CStr(AccBenefit+奖金))
溢价=CStr(0)
税=CDbl(CStr(0))
净支出=CDbl(CStr(0))
Return_From_LIC=CStr(CDbl(TextBox2.Text)+Bonus*CDbl(TextBox3.Text))
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
'
'摘要栏的代码
'
TextBox1.Text=“总计”
正常覆盖=无
收益等于零
Premium=CStr(CDbl(TextBox4.Text)*CDbl(TextBox3.Text))
Tax=CDbl(TextBox4.Text)*CDec(ComboBox1.SelectedItem)*0.01*CDbl(TextBox3.Text)
净输出=CDbl(CDbl(CDbl(TextBox4.Text)-(CDbl(TextBox4.Text)*CDec(ComboBox1.SelectedItem)*0.01))*CDbl(TextBox3.Text))
返回\u从\u LIC=CStr(“-”)
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
DataGridView1.DataSource=列表
TextBox1.Text=Nothing
TextBox2.Text=Nothing
TextBox3.Text=Nothing
TextBox4.Text=Nothing
ComboBox1.SelectedItem=无
ComboBox2.SelectedItem=无
特例
MsgBox(“检查输入值”)
结束尝试
端接头
私有子表单1_Load(发送方作为System.Object,e作为System.EventArgs)处理MyBase.Load
'
'在表单加载时填写数据网格。
'
Me.DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.AllCells
端接头
末级
'''
''这个类包含七个属性。
'''
公开课考试
公共次新(ByVal年龄为字符串,ByVal正常风险为字符串_
ByVal意外险为字符串,ByVal年保费为字符串_
ByVal退税作为字符串,ByVal净支出作为字符串,ByVal退货作为字符串)
_年龄=年龄
_正常风险险=正常风险险
_意外险=意外险
_年保费=年保费
_退税=退税
_净支出=净支出
_Return\u From\u LIC=Return\u From\u LIC
端接头
Private\u年龄作为字符串
公共属性Age()作为字符串
收到
回归年龄
结束
设置(ByVal值作为字符串)
_年龄=价值
端集
端属性
私人保险(普通)(风险)(如字符串所示)
公共财产正常风险保险范围()为字符串
收到
退货(正常)(风险)(保险)
结束
设置(ByVal值作为字符串)
_正常风险保险=价值
端集
端属性
私人(意外)(风险)(如字符串所示)
公共财产意外风险保险范围()为字符串
收到
退货(意外)(风险)(保险)
结束
设置(ByVal值作为字符串)
_意外风险保险=价值
端集
端属性
私人(年费)作为字符串
公共财产年度保费()作为字符串
收到
回报(年费)
结束
设置(ByVal值作为字符串)
_年保费=价值
端集
端属性
作为字符串的私人退税
公共财产税退税()作为字符串
收到
退税
结束
设置(ByVal值作为字符串)
_退税=价值
端集
端属性
私有网络输出为字符串
公共属性Net_Outgo()作为字符串
收到
回报(净支出)
结束
设置(ByVal值作为字符串)
_净支出=价值
端集
端属性
私人返回
Option Strict On
Option Explicit On
Public Class Form1
Dim counter As Integer
Dim Total As String
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim List = New List(Of Test)
Try
'
' Fill in the data grid with a List
'
'
' code for First Row
'
Dim Bonus = (CDbl(ComboBox2.SelectedItem) * CDbl(TextBox2.Text) * 0.001)
Dim SumAssured = TextBox2.Text
Dim NormalCover = CDbl(TextBox2.Text) + Bonus
Dim DAB = (CDbl(CStr(TextBox2.Text)) * 2)
Dim Premium = TextBox4.Text
Dim Tax = (CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01)
Dim Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)
Dim AccBenefit = DAB + Bonus
Dim Return_From_LIC = CStr(0)
List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))
'
' code for Second to second Last Row
'
For Me.counter = 0 To CInt((CDbl(TextBox3.Text) - 2))
TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
NormalCover = CDbl(CStr(NormalCover + Bonus))
AccBenefit = CDbl(CStr(AccBenefit + Bonus))
Premium = TextBox4.Text
Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01
Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)
Return_From_LIC = CStr(0)
List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))
Next
'
' Code of Last column
'
TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
NormalCover = CDbl(CStr(NormalCover + Bonus))
AccBenefit = CDbl(CStr(AccBenefit + Bonus))
Premium = CStr(0)
Tax = CDbl(CStr(0))
Net_outgo = CDbl(CStr(0))
Return_From_LIC = CStr(CDbl(TextBox2.Text) + Bonus * CDbl(TextBox3.Text))
List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))
'
' Code of Summary column
'
TextBox1.Text = "Total"
NormalCover = Nothing
AccBenefit = Nothing
Premium = CStr(CDbl(TextBox4.Text) * CDbl(TextBox3.Text))
Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01 * CDbl(TextBox3.Text)
Net_outgo = CDbl(CDbl(CDbl(TextBox4.Text) - (CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01)) * CDbl(TextBox3.Text))
Return_From_LIC = CStr("-")
List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))
DataGridView1.DataSource = List
TextBox1.Text = Nothing
TextBox2.Text = Nothing
TextBox3.Text = Nothing
TextBox4.Text = Nothing
ComboBox1.SelectedItem = Nothing
ComboBox2.SelectedItem = Nothing
Catch ex As Exception
MsgBox("Check Your Input Values")
End Try
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'
' Fill in the data grid on form load.
'
Me.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
End Sub
End Class
''' <summary>
''' This class contains Seven properties.
''' </summary>
Public Class Test
Public Sub New(ByVal Age As String, ByVal Normal_Risk_Cover As String, _
ByVal Accidental_Risk_Cover As String, ByVal Annual_Premium As String, _
ByVal Tax_Rebate As String, ByVal Net_Outgo As String, ByVal Return_From_LIC As String)
_Age = Age
_Normal_Risk_Cover = Normal_Risk_Cover
_Accidental_Risk_Cover = Accidental_Risk_Cover
_Annual_Premium = Annual_Premium
_Tax_Rebate = Tax_Rebate
_Net_Outgo = Net_Outgo
_Return_From_LIC = Return_From_LIC
End Sub
Private _Age As String
Public Property Age() As String
Get
Return _Age
End Get
Set(ByVal value As String)
_Age = value
End Set
End Property
Private _Normal_Risk_Cover As String
Public Property Normal_Risk_Cover() As String
Get
Return _Normal_Risk_Cover
End Get
Set(ByVal value As String)
_Normal_Risk_Cover = value
End Set
End Property
Private _Accidental_Risk_Cover As String
Public Property Accidental_Risk_Cover() As String
Get
Return _Accidental_Risk_Cover
End Get
Set(ByVal value As String)
_Accidental_Risk_Cover = value
End Set
End Property
Private _Annual_Premium As String
Public Property Annual_Premium() As String
Get
Return _Annual_Premium
End Get
Set(ByVal value As String)
_Annual_Premium = value
End Set
End Property
Private _Tax_Rebate As String
Public Property Tax_Rebate() As String
Get
Return _Tax_Rebate
End Get
Set(ByVal value As String)
_Tax_Rebate = value
End Set
End Property
Private _Net_Outgo As String
Public Property Net_Outgo() As String
Get
Return _Net_Outgo
End Get
Set(ByVal value As String)
_Net_Outgo = value
End Set
End Property
Private _Return_From_LIC As String
Public Property Return_From_LIC() As String
Get
Return _Return_From_LIC
End Get
Set(ByVal value As String)
_Return_From_LIC = value
End Set
End Property
End Class
Option Strict On
Option Explicit On
Imports System
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO
Public Class Form1
Dim dsPeople As New DataSet("People")
Dim dt As New DataTable
Dim counter As Integer
Dim Total As String
Dim TrueTypeFont As Object
Private Sub Button1_Click(sender As System.Object, e As
System.EventArgs) Handles Button1.Click
Try
'
' code for First Row
'
Dim Bonus = (CDbl(ComboBox2.SelectedItem) * CDbl(TextBox2.Text) *
0.001)
Dim SumAssured = TextBox2.Text
Dim NormalCover = CDbl(TextBox2.Text) + Bonus
Dim DAB = (CDbl(CStr(TextBox2.Text)) * 2)
Dim Premium = TextBox4.Text
Dim Tax = (CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) *
0.01)
Dim Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)
Dim AccBenefit = DAB + Bonus
Dim Return_From_LIC = CStr(0)
dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})
'
' code for Second to second Last Row
'
For Me.counter = 0 To CInt((CDbl(TextBox3.Text) - 2))
TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
NormalCover = CDbl(CStr(NormalCover + Bonus))
AccBenefit = CDbl(CStr(AccBenefit + Bonus))
Premium = TextBox4.Text
Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01
Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)
Return_From_LIC = CStr(0)
dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})
Next
'
' Code of Last column
'
TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
NormalCover = CDbl(CStr(NormalCover + Bonus))
AccBenefit = CDbl(CStr(AccBenefit + Bonus))
Premium = CStr(0)
Tax = CDbl(CStr(0))
Net_outgo = CDbl(CStr(0))
Return_From_LIC = CStr(CDbl(TextBox2.Text) + Bonus * CDbl
(TextBox3.Text))
dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})
'
' Code of Summary column
'
TextBox1.Text = "Total"
NormalCover = Nothing
AccBenefit = Nothing
Premium = CStr(CDbl(TextBox4.Text) * CDbl(TextBox3.Text))
Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01 *
CDbl(TextBox3.Text)
Net_outgo = CDbl(CDbl(CDbl(TextBox4.Text) - (CDbl(TextBox4.Text)*
CDec(ComboBox1.SelectedItem) * 0.01)) * CDbl(TextBox3.Text))
Return_From_LIC = CStr("-")
dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})
DataGridView1.DataSource = dt
TextBox1.Text = Nothing
TextBox2.Text = Nothing
TextBox3.Text = Nothing
TextBox4.Text = Nothing
ComboBox1.SelectedItem = Nothing
ComboBox2.SelectedItem = Nothing
Catch ex As Exception
MsgBox("Check Your Input Values")
End Try
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs)
Handles MyBase.Load
'
' Fill in the data grid on form load.
'
'GetCustomers()
dt = dsPeople.Tables.Add("dtPeople")
'create table columns
dt.Columns.Add("Age", GetType(String))
dt.Columns.Add("Natural Cover", GetType(String))
dt.Columns.Add("Accidental Cover", GetType(String))
dt.Columns.Add("Premium", GetType(String))
dt.Columns.Add("Tax Rebate", GetType(String))
dt.Columns.Add("Net Outgo", GetType(String))
dt.Columns.Add("Return From LIC", GetType(String))
Me.DataGridView1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs)
Handles Button2.Click
Dim bHasErrors As Boolean = False
Dim ErrorMessage As String = ""
Dim FileName As String = System.IO.Path.Combine
(AppDomain.CurrentDomain.BaseDirectory, "Customers.pdf")
Dim Document As Document = New
Document '(iTextSharp.text.PageSize.LETTER, 50, 10, 10, 10)
Try
PdfWriter.GetInstance(Document, New System.IO.FileStream(FileName,
System.IO.FileMode.Create))
Document.Open()
Document.NewPage()
Document.Add(New Paragraph("Hello World", FontFactory.GetFont
("Arial", 20, BaseColor.BLACK)))
Dim ch As New Chunk("Your Policy Presentation ", FontFactory.GetFont
("Arial", 15, BaseColor.BLACK))
Document.Add(ch)
Dim aTable As PdfPTable
aTable = New PdfPTable(dt.Columns.Count)
For Each col As DataColumn In dt.Columns
aTable.AddCell(col.ColumnName)
Next
Document.Add(aTable)
For Each row As DataRow In dt.Rows
aTable = New PdfPTable(dt.Columns.Count)
aTable.AddCell(row.Field(Of String)("Age"))
aTable.AddCell(row.Field(Of String)("Natural Cover"))
aTable.AddCell(row.Field(Of String)("Accidental Cover"))
aTable.AddCell(row.Field(Of String)("Premium"))
aTable.AddCell(row.Field(Of String)("Tax Rebate"))
aTable.AddCell(row.Field(Of String)("Net Outgo"))
aTable.AddCell(row.Field(Of String)("Return From LIC"))
'aTable.AddCell(row.Field(Of String)("Identifier"))
Document.Add(aTable)
Next
Catch de As DocumentException
bHasErrors = True
ErrorMessage = de.Message
Catch ioe As System.IO.IOException
bHasErrors = True
ErrorMessage = ioe.Message
End Try
Document.Close()
If bHasErrors Then
MessageBox.Show("Failed to create document" & Environment.NewLine &
ErrorMessage)
Else
MessageBox.Show("The document" & Environment.NewLine & FileName &
Environment.NewLine & "has been created")
End If
Process.Start(System.IO.Path.Combine
(AppDomain.CurrentDomain.BaseDirectory, "Customers.pdf"))
End Sub
End Class