Gridview 使用iText将数据放入表中

Gridview 使用iText将数据放入表中,gridview,itext,export-to-pdf,Gridview,Itext,Export To Pdf,首先,我将数据放入Dummy gridview中。 数据是在数据库上运行存储过程的结果。 然后我尝试将这些数据添加到表中,并尝试将数据导出到pdf 这是我的代码: Dim GridView1 As New GridView Dim pdfDoc As New iTextSharp.text.Document(iTextSharp.text.PageSize.A1, 10.0F, 10.0F, 10.0F, 0.0F) pdfDoc.Open() Dim pdfTable

首先,我将数据放入Dummy gridview中。
数据是在数据库上运行存储过程的结果。
然后我尝试将这些数据添加到表中,并尝试将数据导出到pdf

这是我的代码:

 Dim GridView1 As New GridView
    Dim pdfDoc As New iTextSharp.text.Document(iTextSharp.text.PageSize.A1, 10.0F, 10.0F, 10.0F, 0.0F)
    pdfDoc.Open()
    Dim pdfTable As New PdfPTable(3)
    For Each row As GridViewRow In GridView1.Rows
        Dim Val1 As String = row.Cells(0).Text
        Dim Val2 As String = row.Cells(1).Text
        Dim Val3 As String = row.Cells(2).Text
    Next
    pdfDoc.Add(pdfTable)
    pdfDoc.Close()
现在我如何将这些值(val1、val2、val3)添加到表中,然后导出为pdf


有什么帮助吗?

这是一些使用表的iText代码示例

Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
PdfPTable table = new PdfPTable(8);
for(int aw = 0; aw < 16; aw++){
    table.addCell("hi");
}
document.add(table);
document.close();
Document Document=新文档();
getInstance(文档,新文件输出流(dest));
document.open();
PdfPTable=新的PdfPTable(8);
用于(int-aw=0;aw<16;aw++){
表1.addCell(“hi”);
}
文件。添加(表);
document.close();
这是错误的:

Dim pdfTable As New PdfPTable(3)
For Each row As GridViewRow In GridView1.Rows
    Dim Val1 As String = row.Cells(0).Text
    Dim Val2 As String = row.Cells(1).Text
    Dim Val3 As String = row.Cells(2).Text
Next
这是错误的,因为您只定义了三个
string
值,而没有对这些值做任何处理。为什么会这样?代码中没有发生任何事情

您需要将这些
字符串
值添加到刚刚定义的

Dim pdfTable As New PdfPTable(3)
For Each row As GridViewRow In GridView1.Rows
    pdfTable.Add(row.Cells(0).Text)
    pdfTable.Add(row.Cells(1).Text)
    pdfTable.Add(row.Cells(2).Text)
Next
或者更确切地说,正如对这个问题的回答所解释的:

您需要对将此C#代码段移植到VBA代码进行一些小的更改,但这应该不是问题


另外,在如何定义
PdfPTable
的单元格样式方面也没有太多变化。它们被记录在官方网站上。

我使用了itext7….PS:这段代码是通过谷歌搜索“iText如何创建表”获得的。我得到的第一个链接是iText7的代码示例,第二个链接是iText5的示例。请考虑今后自己努力解决这个问题。
PdfPTable pdfTable= new PdfPTable(3);
foreach(DataGridViewRow row in dataGridView1.Rows) {
    foreach (DataGridViewCell celli in row.Cells) {
        pdfTable.AddCell(celli.Value.ToString());
    }
}
doc.Add(pdfTable);