コード例 #1
0
 protected void Print_OnClick(object sender, EventArgs e)
 {
     if (checkDate())
     {
         HPCBusinessLogic.UltilFunc _ultil = new UltilFunc();
         DataSet _ds;
         int     intChuyenMuc = 0;
         int     intUser      = 0;
         if (cbo_chuyenmuc.SelectedIndex > 0)
         {
             intChuyenMuc = Convert.ToInt32(cbo_chuyenmuc.SelectedValue.ToString());
         }
         if (drop_User.SelectedIndex > 0)
         {
             intUser = Convert.ToInt32(drop_User.SelectedValue.ToString());
         }
         _ds = _ultil.GetStoreDataSet("[CMS_SelectAll_News_ByUserID]", new string[] { "@Fromdate", "@Todate", "@cate", "@UserID" }, new object[] { txt_FromDate.Text.Trim(), txt_ToDate.Text.Trim(), intChuyenMuc, intUser });
         if (_ds.Tables[0].Rows.Count > 0 && _ds != null)
         {
             gvList.DataSource = _ds.Tables[0];
             gvList.DataBind();
             GridViewToExcel.Export("Ket_Qua_" + DateTime.Now.ToShortDateString().Replace("/", "") + ".xls", gvList, "THỐNG KÊ BÀI VIẾT THEO TÁC GIẢ", "Từ ngày " + txt_FromDate.Text.Trim() + " đến ngày " + txt_ToDate.Text.Trim(), "");
             this.gvList.AllowPaging = true;
             this.gvList.DataBind();
             _ds.Dispose();
         }
         else
         {
             gvList.DataSource = null;
             gvList.DataBind();
             System.Web.UI.ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "alert('Không có dữ liệu!');", true);
             return;
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// Replace any of the contained controls with literals
        /// </summary>
        /// <param name="control"></param>
        public static void PrepareControlForExport(Control control)
        {
            for (int i = 0; i < control.Controls.Count; i++)
            {
                Control current = control.Controls[i];
                if (current is LinkButton)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as LinkButton).Text));
                }
                else if (current is ImageButton)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as ImageButton).AlternateText));
                }
                else if (current is HyperLink)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as HyperLink).Text));
                }
                else if (current is DropDownList)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as DropDownList).SelectedItem.Text));
                }
                else if (current is CheckBox)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as CheckBox).Checked ? "Ðúng" : "Sai"));
                }

                if (current.HasControls())
                {
                    GridViewToExcel.PrepareControlForExport(current);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Export grid to excel with header text
        /// </summary>
        /// <param name="fileName">tên file</param>
        /// <param name="gv">grid view</param>
        /// <param name="headerText1">Đài truyền hình VN</param>
        /// <param name="headerText2">tiêu đề</param>
        /// <param name="headerText3">ghi chú</param>
        public static void Export(string fileName, GridView gv, string headerText1, string headerText2, string headerText3)
        {
            StringBuilder sb = new StringBuilder();

            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=" + fileName);
            #region write header
            sb.AppendLine("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"");
            sb.AppendLine("http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" >");
            sb.AppendLine("<head>");
            sb.AppendLine("<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
            sb.AppendLine("<style>");
            sb.AppendLine("table thead tr th {background-color:White;font-weight:bold;font-size:14px;text-align:left;border:none}");
            sb.AppendLine("table thead tr td {font-size:13px;text-align:center;border:1px}");
            sb.AppendLine("table tbody tr th {background-color:White;font-size:14px;text-align:center;border:none}");
            sb.AppendLine("table tbody tr td {font-size:13px;text-align:center;border:none}");
            sb.AppendLine("table tr th {background-color: #98FB98;font-size:14px;}");
            sb.AppendLine("table tr td {color:black;}");
            sb.AppendLine("td, th {border:.2pt solid windowtext;}");
            sb.AppendLine("</style>");
            sb.AppendLine("</head><body>");
            HttpContext.Current.Response.Write(sb.ToString());
            #endregion
            #region write header text
            string headerSpan = "" + gv.HeaderRow.Cells.Count;
            //if (Convert.ToInt32(headerSpan) > 0)
            //{
            if (!headerText1.Equals("") || !headerText2.Equals("") || !headerText3.Equals(""))
            {
                sb = new StringBuilder();
                sb.AppendLine("<table>");
                sb.AppendLine("<thead>");
                //sb.AppendLine("<tr><td colspan='" + headerSpan + "'></td></tr>");
                //sb.AppendLine("<tr><th colspan='" + headerSpan + "'></th></tr>");
                sb.AppendLine("<tr><th colspan='" + headerSpan + "'></th></tr>");
                if (!headerText1.Trim().Equals(""))
                {
                    sb.AppendLine("<tr><th colspan='" + headerSpan + "'>" + headerText1 + "</th></tr>");
                }
                sb.AppendLine("</thead>");
                sb.AppendLine("<tbody>");
                if (!headerText2.Trim().Equals(""))
                {
                    sb.AppendLine("<tr><th colspan='" + headerSpan + "'>" + headerText2 + "</th></tr>");
                }
                if (!headerText3.Trim().Equals(""))
                {
                    sb.AppendLine("<tr><td colspan='" + headerSpan + "'>" + headerText3 + "</td></tr>");
                }
                sb.AppendLine("<tr><td colspan='" + headerSpan + "'></td></tr>");
                sb.AppendLine("</tbody>");
                sb.AppendLine("</table>");
                HttpContext.Current.Response.Write(sb.ToString());
            }
            //}
            #endregion
            using (StringWriter sw = new StringWriter())
            {
                using (HtmlTextWriter htw = new HtmlTextWriter(sw))
                {
                    //  Create a form to contain the grid
                    Table table = new Table();

                    //  add the header row to the table
                    if (gv.HeaderRow != null)
                    {
                        GridViewToExcel.PrepareControlForExport(gv.HeaderRow);
                        table.Rows.Add(gv.HeaderRow);
                    }

                    //  add each of the data rows to the table
                    foreach (GridViewRow row in gv.Rows)
                    {
                        GridViewToExcel.PrepareControlForExport(row);
                        table.Rows.Add(row);
                    }

                    //  add the footer row to the table
                    if (gv.FooterRow != null)
                    {
                        GridViewToExcel.PrepareControlForExport(gv.FooterRow);
                        table.Rows.Add(gv.FooterRow);
                    }

                    //  render the table into the htmlwriter
                    table.RenderControl(htw);

                    //  render the htmlwriter into the response
                    HttpContext.Current.Response.Write(sw.ToString());
                    HttpContext.Current.Response.End();
                }
            }
        }
コード例 #4
0
 /// <summary>
 /// Export grid to excel
 /// </summary>
 /// <param name="fileName">tên file</param>
 /// <param name="gv">grid view</param>
 public static void Export(string fileName, GridView gv)
 {
     GridViewToExcel.Export(fileName, gv, "",
                            "", "");
 }