Alex2 101 Ответов: 1

Как экспортировать данные в gridview с изображением в excel / pdf?


Я хочу экспортировать данные в сетку с изображением в excel/pdf. В таблице данных я связываю имя изображения из БД с путем к изображению(скажем, ~/Smart_PDF/FileStore/Extract_Images/28082017093350image.jpg)

Что я уже пробовал:

<pre> System.Data.DataTable dt = new System.Data.DataTable();
                    string strHead = string.Empty;
                    string FileName = string.Empty;
                    if (dsCustomerDetailsPDF.Tables[0].Rows.Count > 0)
                    {
                        dt = dsCustomerDetailsPDF.Tables[0];
                        if (dt.Rows[0]["FileType"].ToString() == "KYC")
                        {
                            strHead = "Customer KYC Template";
                            FileName = "Customer_KYC_Template";
                        }

                        string[] existingcol = { "CustomerImage", "CreatedDate", "MODE", "CurrentStatusId", "OriginalFileName", "FileType", "UploadedBy", "UploadedDate" };
                        foreach (string colName in existingcol)
                        {
                            dt.Columns.Remove(colName);
                        }
                        grdExport.DataSource = dt;
                        grdExport.DataBind();
                        Response.Clear();


                        Response.AddHeader("content-disposition", "attachment;   filename=" + FileName + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");

                        Response.Charset = "";

                        // If you want the option to open the Excel file without saving than

                        // comment out the line below

                        // Response.Cache.SetCacheability(HttpCacheability.NoCache);

                        Response.ContentType = "application/vnd.xls";

                        System.IO.StringWriter stringWrite = new System.IO.StringWriter();

                        System.Web.UI.HtmlTextWriter htmlWrite =
                        new HtmlTextWriter(stringWrite);

                        grdExport.RenderControl(htmlWrite);


                        StringBuilder strbn = new StringBuilder();
                        strbn.Append("<div style='text-align:center;font-weight:bold;background-color:White; width:100%;font-size:large'> " + strHead + "</div>");
                        strbn.Append(stringWrite.ToString());

                        string style = @"<style> td { mso-number-format:\@;} </style>";
                        Response.Write(style);
                        Response.Write(strbn.ToString());
                        Response.Flush();
                        Response.End();

1 Ответов

Рейтинг:
0