Excel导出及数据格式化处理


本文主要介绍GridView导出Excel常见的文本格式,以帮助开发人员做导出的Excel时避免出现文本格式不一致的问题

public void ToExcel(System.Web.UI.Control ctl, string FileName) {
    HttpContext.Current.Response.Charset = "UTF-8";
    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
    HttpContext.Current.Response.ContentType = "application/ms-excel";
    HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName + ".xls");
    ctl.Page.EnableViewState = false;
    System.IO.StringWriter tw = new System.IO.StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(tw);
    ctl.RenderControl(hw);
    HttpContext.Current.Response.Write(tw.ToString());
    HttpContext.Current.Response.End();
}
public override void VerifyRenderingInServerForm(Control control) {
    //base.VerifyRenderingInServerForm(control);
}
protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e) {
    if (e.Row.RowType == DataControlRowType.DataRow) {
        //e.Row.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@");//这里是将要导出到execl里的第一列格式化为字符类型。
        //e.Row.Cells[3].Attributes.Add("style", "vnd.ms-excel.numberformat:¥#,###.00");//这里是格式化为货币类型。
        e.Row.Cells[4].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
        //1) 文本:vnd.ms-excel.numberformat:@
        //2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
        //3) 数字:vnd.ms-excel.numberformat:#,##0.00
        //4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
        //5) 百分比:vnd.ms-excel.numberformat: #0.00%
    }
}


注:本文转载自谷泊网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。
上一篇 下一篇

分享

最新加入

最新评论