ASP.NET datable导出excel

本文转载:http://www.cnblogs.com/chwkai/archive/2005/10/08/250426.html

不错的文章:http://www.cnblogs.com/lzhp/archive/2012/08/02/2680763.html

不错文章:http://hcyu2012.blog.163.com/blog/static/165192580201132532526918/

 public void DataTable2Excel(DataTable dtData)
        {

            if (dtData != null)
            {

                Response.Clear();
                Response.Charset = "utf-8";
                Response.AppendHeader("Content-Disposition", "attachment;filename= " + Server.UrlEncode("导出.xls"));
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件.
                this.EnableViewState = false;
                System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
                System.IO.StringWriter stringWrite = new System.IO.StringWriter(myCItrad);
                System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

                //// 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid
                //System.Web.UI.WebControls.GridView dgExport = null;
                //dgExport = new System.Web.UI.WebControls.GridView();
                GridView dgExport = new GridView();
                dgExport.AllowPaging = false;
                dgExport.DataSource = dtData;
                dgExport.DataBind();
                for (int i = 1; i < dgExport.Rows.Count; i++)
                {
                    dgExport.Rows[i].Cells[0].Attributes.Add("style", "mso-number-format:‘0‘");
                    dgExport.Rows[i].Cells[2].Attributes.Add("style", "mso-number-format:‘\\@‘");
                }

                dgExport.RenderControl(htmlWrite);
                Response.Write(stringWrite.ToString());
               Response.Write(@"<style> .text { mso-number-format:‘\\@‘;} </script> ");
                Response.End();   

            }
        }

GridView export to excel 格式参考

mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
mso-number-format:"\0022?\0022\#\,\#\#0\.00" ?12.76
mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ " 2 decimals, negative numbers in red and signed
(1.56   -1.56)

  

ASP.NET datable导出excel

时间: 2024-07-30 08:56:55

ASP.NET datable导出excel的相关文章

关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

转载自 阿姆的博客 关于asp.net C# 导出Excel文件打开Excel文件格式与扩展名指定格式不一致的解决办法 导致“文件格式与扩展名指定格式不一致”这个问题,是因为大多数人在导出excel文件的时候,都是默认保存excel的格式, 也就是直接workbook.Save(path)或者workbook.SaveAs(path).进而忽略了SaveAs方法里面的参数.与保存excel文件格式有 关的是它第二个参数FileForMat. FileFormat 类型:System.Object

asp.net DataTable导出 excel的方法记录(第三方)

官网:http://npoi.codeplex.com/ 简单应用,主要是可以实现我们想要的简单效果,呵呵 需要引入dll,可以在官网下载,也可在下面下载 C#代码   protected void getExcel(DataTable dt) { NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); NPOI.SS.UserModel.Sheet sheet = book.CreateSh

ASP.NET简易导出Excel

使用asp.net导出Excel有多重方法.经过总结,现推荐一种简易方法,不用再记那些复杂的类名了. code: using System.Data; using System.IO; //add Microsoft.Excel refference and set operation right in server first public void exportExcel(DataTable dt, string fileName) { StringWriter sw=new StringW

Asp.net中导出Excel文档(Gridview)

主要思路,通过GridView来导出文档. 新建一个Aspx页面,页面创建GridView控件,后台绑定好数据源.然后load中直接打印即可导出 前台的GridView <asp:GridView ID="GridView1" BorderColor="Black" runat="server" AutoGenerateColumns="False" Font-Size="12px" Width=&q

ASP.net中导出Excel的简单方法介绍

下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat="server" style="width: 700px; margin-left: auto; margin-right: auto;"> <!--startprint--> <table width="100%" border=&

asp.net 输出(导出) excel 文件(实用)

废话不多说直接上代码,因为文中有中间业务处理,用到的朋友需要去整改,原理: 拼写table插入数据,输出数据流即可! /// <summary> /// 商品导出Excel /// </summary> /// <returns></returns> public ActionResult ProjectToExcel() { string subjectNo = Request.Params["SNo"] ?? ""

ASP.NET常用导出Excel方法汇总

本文转载:http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html http://geekswithblogs.net/azamsharp/archive/2005/12/21/63843.aspx 参考:http://forums.asp.net/t/1221467.aspx Export GridView to Excel using System; using System.Data; using System.

ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)

要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指定目录,然后提供下载. 效果如下: 选中了多行,会导出多个工作簿sheet,一个汇总的,其他的就是明细数据. 这里我使用了NPOI组件来进行excel导出,下面是要几个封装好的类,从网上找的,然后修改了一下. GenerateSheet.cs using NPOI.SS.UserModel; usi

C# asp.net 实现导出Excel

转自http://www.cnblogs.com/zhangjd/p/5673950.html 这段时间用到了导出Excel的功能,这个功能还是比较常用的,我常用的有两个方法,现在整理一下,方便以后查看. 一.实现DataTable数据导出到本地,需要自己传进去导出的路径. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /// <summary> /// DataTable导出到Exc