【IT168技术文档】
项目中一般的导出文件都是导出到Excel中, 最新在项目中又要求将查询的报表结果导出成PDF文件。这只是一个开篇的小例子, 继续研究中...
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using iTextSharp; using iTextSharp.text; using iTextSharp.text.pdf; using System.IO; public partial class _Default : System.Web.UI.Page { static DataTable datatable = new DataTable("test01pdf"); protected void Page_Load(object sender, EventArgs e) { //判断是否是回发页面 if (!Page.IsPostBack) { DataRow dr; //建立Column例,可以指明例的类型,这里用的是默认的string datatable.Columns.Add(new DataColumn("编号")); datatable.Columns.Add(new DataColumn("用户名")); datatable.Columns.Add(new DataColumn("年龄")); datatable.Columns.Add(new DataColumn("性别")); for (int i = 1; i < 100; i++) { dr = datatable.NewRow(); dr[0] = System.Convert.ToString(i); dr[1] = "清清月儿" + System.Convert.ToString(i); dr[2] = "21"; dr[3] = "男孩"; datatable.Rows.Add(dr); } } } protected void Button1_Click(object sender, EventArgs e) { try { Document document = new Document(); PdfWriter.GetInstance(document, new FileStream(Server.MapPath("Chap0106.pdf"),FileMode.Create)); document.Open(); BaseFont bfChinese = BaseFont.CreateFont("C:\\WINNT\\Fonts\\SIMSUN.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,new Color(0, 0, 0)); document.Add(new Paragraph(this.TextBox1.Text.ToString(), fontChinese)); // document.AddTitle("测试数据PDF"); iTextSharp.text.Image jpeg = iTextSharp.text.Image.GetInstance(Server.MapPath("portal2.jpg")); document.Add(jpeg); PdfPTable table = new PdfPTable(datatable.Columns.Count); for (int i = 0; i < datatable.Rows.Count; i++) { for (int j = 0; j < datatable.Columns.Count; j++) { table.AddCell(new Phrase(datatable.Rows[i][j].ToString(), fontChinese)); } } document.Add(table); document.Close(); } catch (DocumentException de) { Response.Write(de.ToString()); } } }