شما این محصولات را انتخاب کرده‌اید

سبد خرید

تبدیل به pdf
شناسه خبر: 474
بازدید: 403

تبدیل داده های جدول به Pdf در ASP.NET :

در این مقاله می خواهیم با استفاده از کدهای سی شارپ اطالعاتی که در جدول دیتابیس مان داریم به صورت
pdf رخوجی بگیریم بعضی وقت ها الزم میشه شما از مواردی که در دیتابیستان دارید یک بک آپ داشته باشید

یا مثال فروشگاه دارید میخواهید لیست فروش را به مدیر فروشگاه بدهید این گزینه بهترین راه استدر sql یک جدول به صورت زیر ایجاد کنید:

[php]
CREATE TABLE [dbo].[tbl_EmpDetails](
[EmpID] [int] IDENTITY(1,1) NOT NULL,
[EmpName] [varchar](100) NOT NULL,
[EmpAddress] [nvarchar](100) NOT NULL,
[Mobile] [varchar](20) NOT NULL,
[EmailID] [nvarchar](50) NOT NULL,
[DOB] [varchar](50) NOT NULL,
CONSTRAINT [PK_tbl_EmpDetails] PRIMARY KEY CLUSTERED
(
[EmpID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO [/php]

اطلاعات زیر را به جدول خود اضافه نمایید

[php]
INSERT INTO tbl_EmpDetails Values(‘Anil’,’Mumbai’,1233456789,’anil@gmail.com’,’1989-
۱۰-۱۰’)
INSERT INTO tbl_EmpDetails Values(‘Suresh’,’Mumbai’,1233456789,’suresh@gmail.com’,’
۱۹۸۹-۱۰-۱۰’)
INSERT INTO tbl_EmpDetails Values(‘Ramesh’,’Mumbai’,1233456789,’Ramesh@gmail.co
m’,’1989-10-10′) [/php]

حاال داخل visual خود باید یک پروژه به صورت زیر ایجاد کنید

 

جدول به pdf

 

ابتدای کار باید کتابخانه های زیر را اضافه نمایید

[php]
using System.Text;
using System.Data.SqlClient;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using System.Data;
using System.Configuration;
using System.IO; [/php]

یک رویداد درست می کنید و گرید خود را داخل رویداد داینامیک می کنید و بهش اطالعات جدول را می
دهید

[php]
protected void BindGrid() {
DataTable dt = new DataTable();
string queryString = "select * from tbl_EmpDetails";
string conn = ConfigurationManager.ConnectionStrings["TestConnectionString"].ToString();

var table = new DataTable();</p>
<p dir="ltr">using(SqlConnection sql = new SqlConnection(conn)) {
SqlCommand command = new SqlCommand(queryString, sql);
sql.Open();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(table);
sql.Close();
da.Dispose();
}
dt = table;
GridView1.DataSource = dt;
GridView1.DataBind();
Session["Data"] = dt;
}[/php]

حاال باید رویداد خود را در pageload صدا بزنید به صورت زیر:

 

[php]
public partial class EmployeeList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
BindGrid();
} [/php]

خروجی به صورت زیر خواهد بود :

 

جدول به pdf

 

کد مربوط به نمایش PDF به صورت زیر خواهد بود:

[php]
protected void ExportPDf_Click(object sender, EventArgs e) {
try {
string Err = string.Empty;
DataTable dt = (DataTable) Session["Data"];
Document pdfDocument = new Document();
StringBuilder sb = new StringBuilder();
//pdfDocument Content in HTml Format
if (dt.Rows.Count > 0) {
sb.Append("<html>< head ><title></title></head><body>");
string strActualRecords = string.Empty;
strActualRecords = "<table style=\"width:100%;font-size: 9pt; font-
family: verdana; \" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">";
strActualRecords += "<tr><td style=\"width: 5%;white-
space: nowrap;\">EMPID</td><td style=\"width: 5%;\">EmpName</td><td style=\"width: 5
%;\">EmpAddress</td>" + "<td style=\"width: 5%;\">Mobile</td>" + "<td style=\"width: 5
%;\">EmailID</td>" + "< td style =\"width: 5%;\">DOB</td></tr>";
for (int i = 0; i < dt.Rows.Count; i++) {
strActualRecords += "<tr>";
strActualRecords += "<td style=\"width: 5%;\">" + dt.Rows[i]["EMPID"].ToString
() + "</td>" + "<td style=\"width: 5%;\">" + dt.Rows[i]["EmpName"].ToString() + "</td>" +
"<td style=\"width: 5%;\">" + dt.Rows[i]["EmpAddress"].ToString() + "</td>" + "<td style=
\"width: 5%;\">" + dt.Rows[i]["Mobile"].ToString() + "</td>" + "<td style=\"width: 5%;\">"
+ dt.Rows[i]["EmailID"].ToString() + "</td>" + "<td style=\"width: 5%;\">" + dt.Rows[i]["
DOB"].ToString() + "</td>";
strActualRecords += "</tr>";
}
strActualRecords += "</table>";</p>
<p dir="ltr">sb.Append(strActualRecords);
sb.Append("</body></html>");
}
string pdffilename = DateTime.Now.Ticks.ToString() + ".pdf";
PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Resp
onse.OutputStream);
pdfDocument.Open();
String htmlText = sb.ToString();
StringReader str = new StringReader(htmlText);
HTMLWorker htmlworker = new HTMLWorker(pdfDocument);
htmlworker.Parse(str);
pdfWriter.CloseStream = false;
pdfDocument.Close();
//Download Pdf
Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-
Disposition", "attachment; filename=" + pdffilename);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(pdfDocument);
Response.Flush();
Response.End();
} catch (Exception ex) {
throw ex;</p>
<p dir="ltr">}
}</p>
<p dir="ltr">[/php]

باید datatable مربوطه را در یک session نگه داریم و با استفاده از یک stringbuilder آن را به صورت رشته در بیاوریم و بعد فایل pdf را بخواند

 

 

جدول به pdf

 

در نهایت خروجی به صورت زیر خواهد بود:

جدول به pdf

تبدیل داده های جدول به pdf در ASP.NET

 

سوال یا مشکل داشتید در بخش دیدگاه بنویسید تا پاسخ دهیم.

نویسنده

کد نویسان جوان
رسالت ما کمک به موفقیت هرچه تمام تر شماست ، کد نویسان جوان

سه × سه =