在VB.NET的itextsharp中创建单元格数组

时间:2015-03-20 15:23:34

标签: arrays vb.net itextsharp

我正在尝试创建一个带有表格的pdf,每个单元格都有许多不同的属性(即边框宽度和文本字体等),所以不必在我想要的每个单元格之前写出代码500次有一系列细胞。我有以下代码:

Imports iTextSharp.text.pdf
Imports iTextSharp.text
Imports System.IO

Public Class pdfQuote
    Dim cell() As PdfPCell
    Dim table As New PdfPTable(7)
    Dim n As Integer = 0

    Public Sub createNewQuote()
        newCell("test")
    End Sub

    Public Sub newCell(text As String)
        n += 1
        cell(n) = New PdfPCell(New Phrase(text))
        table.AddCell(cell(n))
    End Sub
End Class

我收到错误:"对象引用没有设置为对象的实例" 任何帮助将不胜感激。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您真的希望让您的生活更轻松,请从阵列切换到List。通过这样做,您不需要跟踪当前索引。

Public Class pdfQuote
    Dim cells As New List(Of PdfPCell)
    Dim table As New PdfPTable(7)

    Public Sub createNewQuote()
        newCell("test")
    End Sub

    Public Sub newCell(text As String)
        cells.Add(New PdfPCell(New Phrase(text)))
        table.AddCell(cells.Last)
    End Sub
End Class

修改

此外,我建议创建一些帮助方法,以便您可以共享尽可能多的代码。 This post有一个简单的例子。