数据导出到Excel/Word 防止出现乱码仅有一行数据导出的时候

简介:     1、页面中添加绿色字体代码 2、类文件中的方法  ///   /// 导出excel按钮   ///   ///   ///   protected void lbToExcel_Click(object sender, EventArgs e)   { //注:gvData为Gridview控件的名称     gvData.

 

   
1、页面中添加绿色字体代码
<%@ Page Language="C#" CodeFile="111.aspx.cs" Inherits="111" EnableEventValidation="false" %>
2、类文件中的方法
 /// <summary>
  /// 导出excel按钮
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  protected void lbToExcel_Click(object sender, EventArgs e)
  {
//注:gvData为Gridview控件的名称
    gvData.AllowPaging = false;
    gvData.DataBind();
//导出文件的文件名
    var fileName = string.Format("{0:yyyyMMddHHmmss}", DateTime.Now);
//导出的具体实现逻辑
    ExportControl(gvData, "Excel", fileName);
    gvData.AllowPaging = true;
    gvData.Columns[0].Visible = true;
  }
 
    /// <summary>
    /// 将Web控件或页面信息导出(带文件名参数)
    /// </summary>
    /// <param name="source">控件实例</param>        
    /// <param name="DocumentType">导出类型:Excel或Word</param>
    /// <param name="filename">保存文件名</param>
    public void ExportControl(System.Web.UI.Control source, string DocumentType, string filename)
    {
        //设置Http的头信息,编码格式
        if (DocumentType == "Excel")
        {
            //防止出现乱码,加上这行可以防止在只有一行数据时出现乱码 Gridview数据导出到Excel/Word <wbr>防止出现乱码
            HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
            //Excel            
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename + ".xls", System.Text.Encoding.UTF8));
            HttpContext.Current.Response.ContentType = "application/ms-excel";
        }
        else if (DocumentType == "Word")
        {
             //防止出现乱码,加上这行可以防止在只有一行数据时出现乱码 Gridview数据导出到Excel/Word <wbr>防止出现乱码
            HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
            //Word
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename + ".doc", System.Text.Encoding.UTF8));
            HttpContext.Current.Response.ContentType = "application/ms-word";
        }
 
        HttpContext.Current.Response.Charset = "UTF-8";
        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
 
        //关闭控件的视图状态
        source.Page.EnableViewState = false;
 
        //初始化HtmlWriter
        System.IO.StringWriter writer = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
        source.RenderControl(htmlWriter);
 
        //输出
        HttpContext.Current.Response.Write(writer.ToString());
        HttpContext.Current.Response.End();
    }
 
    //重写一个方法,必须加上次方法
    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }
目录
相关文章
|
3月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
3月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
7天前
|
文字识别 编解码 API
【发票转表格明细】PDF发票提取到表,图片发票提取到表格,扫描件发票提取到表格,全电发票PDF,全电发票扫描件识别导出EXCEL表格数电发票
本文介绍如何一键处理电子发票(PDF)和图片发票,实现自动提取信息、改名并导出Excel表格。支持区域坐标保存复用,批量识别,高效准确,告别手动录入,适合财务人员月末高效处理各类发票。
139 10
|
27天前
|
小程序
公众号如何添加附传Word、Excel、Pdf、PPT文档
公众号里添加一些文档给公众号粉丝下载,比如课件PPT、申请表Word文档、岗位需求Excel表、大赛入围/获奖名单等。公众号本身是不支持直接上传文件的,但我们可以通过附件小程序“间接”上传文件。
261 0
|
3月前
|
Python
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
本文介绍了如何在Excel中使用VBA批量重命名工作表、根据单元格内容修改颜色,以及将工作表导出为独立文件的方法。同时提供了Python实现导出工作表的代码示例,适用于自动化处理Excel文档。
|
3月前
|
缓存 文字识别 供应链
【发票识别】如何用手机批量识别发票信息并导出excel表格?扫描的图片发票识别、拍照的发票照片、电子发票如何快速提取明细并用发票号发票日期来改名,基于阿里云的完整的实现方案
本系统基于阿里云OCR技术,实现发票批量识别与高效管理,支持扫描、拍照及PDF电子发票等多种来源,自动提取关键信息并导出Excel,适用于企业报销、税务申报、费用审计等场景,大幅提升财务处理效率。
261 0
|
3月前
|
Python
将Excel特定某列数据删除
将Excel特定某列数据删除
|
5月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
177 10
|
4月前
|
Java 测试技术 数据库
spring号码归属地批量查询,批量查询号码归属地,在线工具,可按省份城市运营商号段分类分开分别导出excel表格
简介:文章探讨Spring Boot项目启动优化策略,通过自定义监听器、异步初始化及分库分表加载优化等手段,将项目启动时间从280秒缩短至159秒,提升约50%,显著提高开发效率。

热门文章

最新文章