oracle cc安装教程 pdf,如何从oracle直接将表绑定到pdf

这个代码示例展示了如何从Oracle数据库获取数据并利用iTextSharp库创建PDF报告。首先,它建立Oracle数据库连接,填充数据集,然后创建一个表格,将数据集的列和行转换为PDF表格内容,最后将生成的PDF附加到HTTP响应以供下载。
摘要由CSDN通过智能技术生成

非常感谢您的回复。我得到了答案。下面是

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();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值