数据导出到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);
    }
目录
相关文章
iframe 在线预览pdf、word、excel、ppt、txt、图片、视频
iframe 在线预览pdf、word、excel、ppt、txt、图片、视频
|
5月前
|
Java
jsp页面中显示word/excel文档方法
jsp页面中显示word/excel文档方法
|
2月前
|
存储 Java Apache
Spring Boot整合OpenOffice实现Word、Excel、PPT在线预览
Spring Boot整合OpenOffice实现Word、Excel、PPT在线预览
126 0
|
1月前
|
JavaScript
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
109 0
|
1月前
|
Web App开发 JavaScript 前端开发
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
现在,随着数字化进程渗透到到各行各业,数据安全已经成为了数字化革命中的重要组成部分,而在线Office成在OA、ERP、文档系统中得到了广泛的应用,为我国的信息化事业也做出了巨大贡献。随着操作系统、浏览器及Office软件的不断升级和更新换代,加上国家对信息化、数字化系统要求的不断提升,一些厂家的WebOffice控件产品不断被淘汰出局,而现存的几个产品也存在以下几个问题:
413 1
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
|
2月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
96 0
|
6月前
|
Cloud Native Go 开发者
使用WPS自动化转换办公文档: 将Word, PowerPoint和Excel文件转换为PDF
使用WPS自动化转换办公文档: 将Word, PowerPoint和Excel文件转换为PDF
100 0
|
3月前
|
Python
Python办公自动化【Excel查询重复数据、Excel提取身份证号信息、Python操作Excel模块库文档、Python操作Word基础 】(四)-全面详解(学习总结---从入门到深化)
Python办公自动化【Excel查询重复数据、Excel提取身份证号信息、Python操作Excel模块库文档、Python操作Word基础 】(四)-全面详解(学习总结---从入门到深化)
35 0
|
3月前
|
Java 数据库连接 Apache
java实现查询某个表的数据导出excel
java实现查询某个表的数据导出excel
32 0
|
4月前
|
Windows
Windows 10 Word Excel PPT文件打开速度缓慢解决办法
Windows 10 Word Excel PPT文件打开速度缓慢解决办法