asp.net匯出excel及科學計數問題

來源:互聯網
上載者:User

匯出最簡單方法:

const string style = @"<style> .text { mso-number-format:\@; } </style> ";
            Response.ClearContent();

            Response.AddHeader("content-disposition", "attachment; filename=" + Server.UrlEncode(Name) + ".xls");

            Response.ContentType = "application/excel";

            StringWriter sw = new StringWriter();

            HtmlTextWriter htw = new HtmlTextWriter(sw);
            //htw.WriteLine(Name);
            System.Web.UI.LiteralControl lt = new LiteralControl();
            lt.Text = "<div style=\"width:100%;font-bold:true;text-align:center;\">" +Name + "</div>";
            if(Name!="")lt.RenderControl(htw);
            gvdata.RenderControl(htw);
            // Style is added dynamically

            Response.Write(style);

            Response.Write(sw.ToString());

            Response.End();

 

匯出出現科學計數解決辦法一:

 

GridView gvdata = new GridView();
                gvdata.HeaderStyle.BackColor = System.Drawing.Color.Silver;
                gvdata.HeaderStyle.Font.Bold = true;
                gvdata.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                gvdata.RowDataBound += new GridViewRowEventHandler(gvdataRowDataBound);
                gvdata.DataSource = dtData;
                gvdata.DataBind();
                const string style = @"<style> .text {mso-number-format:\@; } </style> ";
                Response.ClearContent();

                Response.AddHeader("content-disposition", "attachment; filename=" + Server.UrlEncode(strFileName) + ".xls");

                Response.ContentType = "application/excel";

                StringWriter sw = new StringWriter();

                HtmlTextWriter htw = new HtmlTextWriter(sw);
                //htw.WriteLine(Name);
                System.Web.UI.LiteralControl lt = new LiteralControl();
                lt.Text = "<div style=\"width:100%;font-bold:true;text-align:center;\">" + strFileName + "</div>";
                if (strFileName != "") lt.RenderControl(htw);
                gvdata.RenderControl(htw);
                // Style is added dynamically

                Response.Write(style);

                Response.Write(sw.ToString());

                Response.End();
    public void gvdataRowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
            e.Row.Cells[2].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%

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.