文档章节

asp.net(C#)中将DataTable导出Execl、Word、Xml

深圳大道
 深圳大道
发布于 2016/12/29 15:39
字数 233
阅读 34
收藏 0
    /// <summary>
    /// 将DT转换为Execl的方法
    /// </summary>
    /// <param name="dt">需要导出的DT
    /// <param name="page">页面
    /// <param name="fileName">文件名
    public void ToExecl(DataTable dt, Page page, string fileName)
    {
        HttpResponse response = page.Response;
        response.Clear();
        response.ContentType = "application/x-excel";
        response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls");
        StringBuilder sB = new StringBuilder();
        for (int j = 0; j < dt.Columns.Count; j++)
        {
            sB.Append(dt.Columns[j].Caption + "\t");
        }
        sB.Append("\n");
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int k = 0; k < dt.Columns.Count; k++)
            {
                sB.Append("=\"" + dt.Rows[i][k].ToString() + "\"\t"); //解决导出的单元格以科学计数法显示的问题
            }
            sB.Append("\n");
        }
        response.Write(sB.ToString());
        response.End();
    }

public void ToWord(DataTable dt, Page page, string filName)  
   {  
       HttpResponse response = page.Response;  
       response.Clear();  
       response.ContentType = "application/msword";  
       response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");  
       response.AddHeader("Content-Disposition","attachment:filename="+System.Web.HttpUtility.UrlEncode(filName,System.Text.Encoding.UTF8)+".doc");  
       StringBuilder sBuilder = new StringBuilder();  
       for (int i = 0; i < dt.Rows.Count; i++)  
       {  
           sBuilder.Append(dt.Rows[i][1].ToString()+"\n");  
       }  
       response.Write(sBuilder.ToString());  
       response.End();  
   }

public void ToXML(DataTable dt, Page page, string filename)  
{  
    HttpResponse response = page.Response;  
    //DataSet ds = new DataSet();  
    response.Clear();  
    response.ContentType = "application/x-excel";  
    response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");  
    response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename,System.Text.Encoding.UTF8) + ".xls");  
    System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding();  
    System.Xml.XmlTextWriter xw = new XmlTextWriter(response.OutputStream, utf8);  
    xw.Formatting = Formatting.Indented;  
    xw.Indentation = 4;  
    xw.IndentChar = ' ';  
    dt.TableName = "dd";  
    dt.WriteXml(xw);  
    dt = null;  
    GC.Collect();  
    xw.Flush();  
    xw.Close();  
    response.End();  
}

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/8182862

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
C# CheckBoxList绑定值,设置及获取

前端页面:.aspx 后台处理:.aspx.cs 首先绑定值 例如: using (DataTable dt = new Bllcccp_keywords().get

澈一
08/29
0
0
DataBind数据核心

作者:飞刀 这一节主要是要讲DataBind,这个在ASP.net中是很重要的东东,几乎所有的控件都需要它来控制数据的操作。也可以说是ASP.net的数据核心。 我们先来看一个简单的例子: <% @ Page La...

晨曦之光
2012/03/09
75
0
CacheDependency用法

系列目录: SqlDependency缓存用法 Asp.net使用SqlDependency SqlCacheDependency使用命令通知使缓存无效 CacheDependency用法 AggregateCacheDependency 用法 SqlCacheDependency使用轮流检...

吞吞吐吐的
2017/10/18
0
0
ASP.NET 2.0 AJAX中Webservice调用方法示例

ASP.NET 2.0 AJAX中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例。笔者安装的ASP.NET 2.0 AJAX 版本为AJAX November CTP。 三个示例分别为: 1 带参数的WS方法 2 不...

晨曦之光
2012/03/09
206
0
DataSet导出CSV格式(ASP.NET,C#)

DataSet导出CSV格式(ASP.NET,C#) 作者:Not MSN:notking@hotmail.com Email:nots@sohu.com 本文引用下面的 Microsoft .NET 框架类库命名空间: System.Data; System.Web.UI.WebControls; 概要......

晨曦之光
2012/03/09
221
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Sleuth 整合 feign 源码分析

org.springframework.cloud.sleuth.instrument.web.client.feign.TraceFeignClient 包括创建span一些参数

xiaomin0322
12分钟前
2
0
Less 延伸

extend 是一个 Less 伪类,它通过使用 :extend 选择器在一个选择器中扩展其他选择器样式。 扩展语法 扩展可以是附加到选择器,也可以是集中放置在规则,看上去像是带有选择器参数的可选伪类,...

凌兮洛
12分钟前
2
0
RedHat 7.0系统中安装mysql 5.7.22

在安装之前,首先要查看的是,你的系统中有没有已经安装过的情况。键入rpm -qa|grep mysql,如果无任何显示,则表示没有安装过相关组件,如果有,则根据显示出来的名字,键入rpm -e --nodeps...

最菜最菜之小菜鸟
18分钟前
2
0
RPA:企业信息孤岛的“克星”

为了降本增效,近来世界范围内掀起一股流程优化的热潮,转型升级成为众多企业时刻挂在嘴边的热词。不过在企业数字化转型的过程中,信息孤岛的出现,往往成为了企业升级的绊脚石。 信息孤岛:...

UiBot
18分钟前
2
0
我的测试

我的测试

daiison
18分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部