iTextSharp - 剪切表格的最后一行

时间:2016-06-23 10:02:14

标签: .net vba itext

我用while循环生成了表格,但是最后一行iTextSharp被删除了....有任何想法如何解决它....请参阅下面的代码。

mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))

        Dim mesure_array As Double() = dgv_do_array(cislo_merania)
        Dim average_value As Double = create_average(cislo_merania)

        Dim k As Integer = 0
        While k < cislo_merania
            mesure_tale.AddCell(New PdfPCell(New Phrase(k + 1, spec_font)))
            Dim mesure_cell As New PdfPCell(New Phrase(mesure_array(k).ToString, spec_font))

            If mesure_array(k) > (average_value + (average_value * percentualna_odchylka)) Then
                mesure_cell.BackgroundColor = New BaseColor(255, 120, 120) 'Red
                mesure_tale.AddCell(mesure_cell)
            ElseIf mesure_array(k) < (average_value - (average_value * percentualna_odchylka)) Then
                mesure_cell.BackgroundColor = New BaseColor(120, 170, 255) 'Blue
                mesure_tale.AddCell(mesure_cell)
            Else
                mesure_cell.BackgroundColor = New BaseColor(175, 255, 120) ' Green
                mesure_tale.AddCell(mesure_cell)
            End If
            k += 1
        End While

        pdfDoc.Add(mesure_tale)

1 个答案:

答案 0 :(得分:2)

我认为dgv_do_array(cislo_merania)返回数组的最高边界而不是数组的实际长度。

更改

  

当k < cislo_merania

  

虽然k <= cislo_merania