Asp.net 如何将表从oracle直接绑定到pdf

Asp.net 如何将表从oracle直接绑定到pdf,asp.net,oracle,Asp.net,Oracle,如何将oracle数据库中的数据绑定到asp.net 4.0中的pdf?我不知道是否可以直接进行绑定。您可以查看如何在.NET中生成PDF文件。是否尝试使用?我没有亲自使用过它,但据我所知,这是从Oracle创建/填充PDF的唯一直接方法(除非可能有一些插件)非常感谢您的回复。我得到了答案。下面是在ASP.net中将数据库表从Oracle数据库绑定到PDF的代码 using System.Web.UI.WebControls; using Oracle.DataAccess.Client; us

如何将oracle数据库中的数据绑定到asp.net 4.0中的pdf?

我不知道是否可以直接进行绑定。您可以查看如何在.NET中生成PDF文件。

是否尝试使用?我没有亲自使用过它,但据我所知,这是从Oracle创建/填充PDF的唯一直接方法(除非可能有一些插件)

非常感谢您的回复。我得到了答案。下面是在ASP.net中将数据库表从Oracle数据库绑定到PDF的代码

using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Data;

public partial class generate_pdf_from_dataset : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        OracleConnection con = new OracleConnection("User id=book;Password=book;Data Source=test");
        OracleDataAdapter da = new OracleDataAdapter("select * from category" , con);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DataTable dt = new DataTable();
        dt = ds.Tables[0];
        Document pdfDoc = new Document(PageSize.A4, 30, 30, 40, 25);
        System.IO.MemoryStream mStream = new System.IO.MemoryStream();
        PdfWriter writer = PdfWriter.GetInstance(pdfDoc, mStream);
        int cols = dt.Columns.Count;
        int rows = dt.Rows.Count;
        pdfDoc.Open();
        iTextSharp.text.Table pdfTable = new iTextSharp.text.Table(cols, rows);
        pdfTable.BorderWidth = 1;
        pdfTable.Width = 100;
        pdfTable.Padding = 1;
        pdfTable.Spacing = 1;
        //creating table headers
        for (int i = 0; i < cols; i++)
        {
            Cell cellCols = new Cell();
            Font ColFont = FontFactory.GetFont(FontFactory.HELVETICA, 12, Font.BOLD);
            Chunk chunkCols = new Chunk(dt.Columns[i].ColumnName, ColFont);
            cellCols.Add(chunkCols);
            pdfTable.AddCell(cellCols);
        }
        //creating table data (actual result)
        for (int k = 0; k < rows; k++)
        {
            for (int j = 0; j < cols; j++)
            {
                Cell cellRows = new Cell();
                Font RowFont = FontFactory.GetFont(FontFactory.HELVETICA, 12);
                Chunk chunkRows = new Chunk(dt.Rows[k][j].ToString(), RowFont);
                cellRows.Add(chunkRows);
                pdfTable.AddCell(cellRows);
            }
        }
        pdfDoc.Add(pdfTable);
        pdfDoc.Close();
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment; filename=Report.pdf");
        Response.Clear();
        Response.BinaryWrite(mStream.ToArray());
        Response.End();
    }
}
使用System.Web.UI.WebControls;
使用Oracle.DataAccess.Client;
使用Oracle.DataAccess.Types;
使用iTextSharp.text;
使用iTextSharp.text.pdf;
使用系统数据;
公共分部类从以下数据集生成pdf:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
OracleConnection con=newOracleConnection(“用户id=book;密码=book;数据源=test”);
OracleDataAdapter da=新的OracleDataAdapter(“从类别中选择*”,con);
数据集ds=新数据集();
da.填充(ds);
DataTable dt=新的DataTable();
dt=ds.表[0];
文档pdfDoc=新文档(PageSize.A4、30、30、40、25);
System.IO.MemoryStream mStream=新的System.IO.MemoryStream();
PdfWriter writer=PdfWriter.GetInstance(pdfDoc,mStream);
int cols=dt.Columns.Count;
int rows=dt.rows.Count;
pdfDoc.Open();
iTextSharp.text.Table pdfTable=新的iTextSharp.text.Table(列、行);
pdfTable.BorderWidth=1;
pdfTable.宽度=100;
pdfTable.Padding=1;
pdfTable.间距=1;
//创建表标题
for(int i=0;i
谢谢您的回复。实际上我已经使用iText将表中的数据绑定到pdf。首先,我将数据绑定到grid view,然后再绑定到pdf。它正在工作。但直接绑定很复杂,我知道。但我必须这样做。请任何人帮助。提前感谢。