其实,利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM等类型的文档很容易的。主要分为三步来完成。

  一、定义文档类型、字符编码

Response.Clear();
Response.Buffer= true;
Response.Charset="utf-8";

//下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开

//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc || .xls || .txt ||.htm

Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");

//Response.ContentType指定文件类型 可以为application/ms-excel || application/ms-word || application/ms-txt || application/ms-html || 或其他浏览器可直接支持文档

Response.ContentType = "application/ms-excel";
this.EnableViewState = false;

  二、定义一个输入流

System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

  三、将目标数据绑定到输入流输出

this.RenderControl(oHtmlTextWriter);

//this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件

Response.Write(oStringWriter.ToString());
Response.End();

示例:

/// <summary>
        /// 导出数据到Excel表的方法
        /// <param name="dt">DataTable数据源</param>
        /// <param name="title">生成的Excel文件名</param>
        /// </summary>
        public static void Export(System.Data.DataTable dt, string title)
        {
            StringWriter sw = new StringWriter();

foreach (System.Data.DataColumn col in dt.Columns)
            {
                sw.Write(col.Caption + "\t");
            }
            sw.WriteLine();

foreach (System.Data.DataRow row in dt.Rows)
            {
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    sw.Write(row[i].ToString() + "\t");
                }
                sw.WriteLine();
            }

sw.Close();
            string filename = System.Web.HttpUtility.UrlPathEncode(title) + DateTime.Now.ToString("yyyyMMdd") + ".xls";
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + filename);
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            HttpContext.Current.Response.Write(sw);
            HttpContext.Current.Response.End();
        }

转载于:https://www.cnblogs.com/_zjl/archive/2012/06/18/2553822.html

.NET 将数据输出到WORD、EXCEL、TXT、HTM相关推荐

  1. 把数据输出到Word (非插件形式)

    项目开发过程中,我们要把数据以各种各样的形式展现给客户.把数据以文档的形式展现给客户相信是一种比较头疼的问题,如果没有好的方法会 使得我的开发繁琐,而且满足不了客户的需求.接下来我会通过两种开发方式介 ...

  2. python输出数据到excel-如何使用python将传感器数据输出保存到excel中

    我目前正在使用raspberry pi并使用DHT11每秒读取温度和湿度值.我必须将这些值实时保存到数据库中.这是我每秒钟显示传感器数据的代码,我不知道如何在excel中保存数据/结果. import ...

  3. c#实现ppt,word,excel,txt,jpg文件转pdf功能

    安装LibreOffice 7.2插件 使用的开发工具是VS2022,.NET6.0的项目框架.要实现office文件转pdf要先安装一个好用的插件. 1.到官网下载: LibreOffice下载地址 ...

  4. C#中如何将将数据导出到word excel 中

    public void OutToWord() { if(dataGridview1.Rows.Count>1) { tempStr = ""; Stream myStrea ...

  5. matlab产生一列相同的数据,读取excel中的数据把第一列相同的所有行数据输出成一个excel...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 284 1113436773300.00 1113436773.30 44.55 284 1113436773400.00 1113436773.40 4 ...

  6. matlab 读取excel一列,读取excel中的数据把第一列相同的所有行数据输出成一个excel...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 284 1113436773300.00 1113436773.30 44.55 284 1113436773400.00 1113436773.40 4 ...

  7. matlab读取excel第一列,读取excel中的数据把第一列相同的所有行数据输出成一个excel...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 284 1113436773300.00 1113436773.30 44.55 284 1113436773400.00 1113436773.40 4 ...

  8. word表格图片自动适应表格大小_Excel应用实践20:使用Excel中的数据自动填写Word表格...

    学习Excel技术,关注微信公众号: excelperfect 我在Excel工作表中存放着数据,如下图1所示. 图1 我想将这些数据逐行自动输入到Word文档的表格中并分别自动保存,Word文档表格 ...

  9. npoi 将html导出word,使用NPOI将数据导出为word格式里的table

    开发环境:VS2013+MySQL5.5+EF6+NPOI2.0.6 格式:WinForm+CodeFirst PS:vs2013的CodeFirst很方便了啊 CodeFirst方式就不再赘述了. ...

最新文章

  1. 设计模式 之美 -- 策略模式
  2. GB0-190 考试中的知识点分布
  3. redis主键失效机制
  4. 创建Console应用程序,粘贴一下代码,创建E://MyWebServerRoot//目录,作为虚拟目录,亲自测试通过,
  5. notepad++正则表达式去掉关键字所在行
  6. 知乎回应月饼问题:忽略了麦芽糖或致部分人不耐受,召回所有月饼
  7. swift基础语法(02-基本数据类型)
  8. 【转】使用cocos2d-console工具转换脚本为字节码
  9. JavaScript之JSON详解
  10. 同花顺python_Python预测股票价格
  11. (转)量化投资发展史:野蛮、乱象、科学
  12. 压箱底的10款在线工具平台
  13. Ruijie(RGOS 11.X)忘记登录密码console口恢复密码
  14. 问题解决:error CS0234: 命名空间“System”中不存在类型或命名空间名“CodeDom”/“ComponentModel”(是否缺少程序集引用?)
  15. 昔日无痕,沧桑有迹-魔幻般的2020
  16. 最安全的邮箱大全排名,公司安全邮箱申请如何设置?
  17. php 时辰,时辰算命 - 免费在线算命 - 三藏算命
  18. 怎么把独有的qlv格式转换成mp4格式
  19. spring和servlet之间得关系
  20. Altium Designer 2020 如何修改现有原理图图纸尺寸

热门文章

  1. matlab读取/播放视频的函数(1)
  2. SVM分类的一个例子
  3. mysql数据库表格怎么建立_mysql数据库表格怎么建立
  4. stm32单片机实现多个闹钟_如何学习单片机:单片机都是相通的,一通百通
  5. Mardown(或Latex)换行
  6. 是什么_什么是模电,什么是数电
  7. 【Codeforces 986B】Petr and Permutations
  8. 20165220 第七周学习总结
  9. Binary Watch二进制时间
  10. ajax跨域请求问题总结