导出为Excel有很多种写法,对于一些复杂的格式,笔者喜欢在后台先拼成一个<table>,再使用Response输出。

如果数据中包含中文或者一些特殊字符,可很多不规范的写法都会导致页面乱码,这里就把一种(笔者认为)最标准的格式带给大家:

Page p = HttpContext.Current.Handler as Page;
p.Response.Clear();
p.Response.Buffer = true;
p.Response.Charset = "UTF-8";
p.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename, Encoding.UTF8) + ".xls");
p.Response.ContentEncoding = Encoding.UTF8;
p.Response.ContentType = "application/vnd.ms-excel";
p.EnableViewState = false;
p.Response.Write("<html><head><meta http-equiv='Content-Type' content='application/vnd.ms-excel; charset=utf-8' /></head>" + text + "</html>");
p.Response.End();

以上代码需注意两点:

1)Charset/AppendHeader/ContentEncoding都必须统一使用UTF8

2)text里面如果只有<table>,必须在前后加上<html></html>.为进一步规范,建议用以上代码格式编写

3)为防止出现“4340611210891797”变为“4.340611210e+017”,请加入不作自动转换的样式<table style='vnd.ms-excel.numberformat:@'>……</table>

好了,现在应该是无论如何你怎么导出Excel,也没有乱码字符了。

将table导出为Excel的标准无乱码写法的更多相关文章

  1. MVC 将视图页table导出成excel

    前台代码: <table class="tablelist" id="myTable">    <thead>        <t ...

  2. html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式

    先上代码   <script type="text/javascript" language="javascript">   var idTmr; ...

  3. HTML Table导出为Excel的方法

    HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type" ...

  4. 【ASP.NET】C# 将HTML中Table导出到Excel(TableToExcel)

    首先,说下应用场景 就是,把页面呈现的Table 导出到Excel中.其中使用的原理是 前台使用ajax调用aspx后台,传递过去参数值,导出.使用的组件是NPOI. 前台调用: <script ...

  5. 使用js代码将HTML Table导出为Excel

    使用js代码将HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type ...

  6. Antd将Table导出为Excel

    Antd将Table导出为Excel 在最近的项目中,需要把表格中的数据导出给财务进行统计,网上很多一键导出的按钮都没用.经过东拼西凑,最终搞定了导出,自己封装了组件. import { File } ...

  7. HTML table导出到Excel中的解决办法

    第一部分:html+js 1.需要使用的表格数据(先不考虑动态生成的table) <table class="table tableStyles" id="tabl ...

  8. .Net直接将Web页面table导出到Excel

    项目管理系统有个统计表需要导出到Excel表中.常用的方法是在后台C#代码查询数据再写入Excel表中最后保存在目标路径. 为减轻数据库服务器的压力和保持页面的样式,能否直接将页面的表格直接导出到Ex ...

  9. 将table导出为excel格式文件

    html: <table cellpadding="0" cellspacing="0" class="data_table" id= ...

随机推荐

  1. C# Web中Session的使用

    1. 关于使用之前要注意的: 在使用session之前,一定要注意继承自System.Web.UI.Page,或在使用session时加上System.Web.HttpContext.Current: ...

  2. java 多线程4(死锁)

    死锁现象: 死锁原因: 1.存在两个或两个以上的线程. 2.存在两个或两个或两个以上的共享资源. 死锁现象解决的方案: 没有方案只能尽量避免.

  3. 国内外做MySQL的公司

    MariaDB 基金会   Percona企业级服务   vividx      监控       webyog   监控和管理   springboksql   mysql 一体机      htt ...

  4. C++从键盘输入文件结束符

            当我们使用一个istream对象作为条件时,其效果是检测流的状态.如果流是有效的,即流未遇到错误,那么检测成功.当遇到文件结束符,或遇到一个无效输入时(例如需要将输入读到一个int变量 ...

  5. NKW

    JavaScript几种原生函数 - 博客频道 - CSDN.NEThttp://blog.csdn.net/h378588270/article/details/12948163 .json_百度搜 ...

  6. ma

    首页 第一项 上课 哈哈

  7. React添加事件

    定义个组件 组件首字母大写,调用: ReactDOM.render(<Hello></Hello>,document.getElementById('box'));

  8. [Java] Java 获取数据库所有表基本信息和表中的所有列基本信息代码

    废话不多说.上代码 import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import ...

  9. VMware Workstation 无法连接到虚拟机

    "This PC(我的电脑)":右键"manage(管理)": "Service and Applications(服务和应用)":&quo ...

  10. backbonejs mvc框架的增删查改实例

    一:开发环境 coffeescript和nodejs需要先安装,没装网上自己查安装步骤. 代码编写环境及esp框架下载: esp框架下载地址:https://github.com/nonocast/e ...