将table导出为Excel的标准无乱码写法
导出为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的标准无乱码写法的更多相关文章
- MVC 将视图页table导出成excel
		前台代码: <table class="tablelist" id="myTable"> <thead> <t ... 
- 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; ... 
- HTML Table导出为Excel的方法
		HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type" ... 
- 【ASP.NET】C# 将HTML中Table导出到Excel(TableToExcel)
		首先,说下应用场景 就是,把页面呈现的Table 导出到Excel中.其中使用的原理是 前台使用ajax调用aspx后台,传递过去参数值,导出.使用的组件是NPOI. 前台调用: <script ... 
- 使用js代码将HTML Table导出为Excel
		使用js代码将HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type ... 
- Antd将Table导出为Excel
		Antd将Table导出为Excel 在最近的项目中,需要把表格中的数据导出给财务进行统计,网上很多一键导出的按钮都没用.经过东拼西凑,最终搞定了导出,自己封装了组件. import { File } ... 
- HTML table导出到Excel中的解决办法
		第一部分:html+js 1.需要使用的表格数据(先不考虑动态生成的table) <table class="table tableStyles" id="tabl ... 
- .Net直接将Web页面table导出到Excel
		项目管理系统有个统计表需要导出到Excel表中.常用的方法是在后台C#代码查询数据再写入Excel表中最后保存在目标路径. 为减轻数据库服务器的压力和保持页面的样式,能否直接将页面的表格直接导出到Ex ... 
- 将table导出为excel格式文件
		html: <table cellpadding="0" cellspacing="0" class="data_table" id= ... 
随机推荐
- 使用JSPatch平台热修复iosApp
			IOS产品开发中常常会遇到这种情况,线上发现一个严重bug,可能是一个crash,可能是一个功能无法使用,这时能做的只是赶紧修复Bug然后提交等待漫长的审核,即使申请加急也不会快到那里去,即使审核完了 ... 
- Graph-tool简介 - wiki
			graph-tool is a Python module for manipulation and statistical analysis of graphs[disambiguation nee ... 
- for( unsigned int i=heapSize/2-1; i>=0; --i)
			unsigned int的表示 今天在写堆排序的时候遇到一个BUG void builMaxHeap( int *arr,unsigned int heapSize){ unsigned int i; ... 
- 网站后台登录aspcms 提示错误号:-2147467259,错误描述:操作必须使用一个可更新的查询。sql=update AspCms_Content set TimeStatus=0 where TimeStatus=1 and Timeing <= 解决方法。
			把data文件夹的权限改下,改成user组可以修改.写入,就好了. 还有一个问题,就是进入后台的时候提示没有访问权限的问题,解决方法看下图 
- noip2016赛后总结
			面前并不是一颗变质的心. 只是一种综合并适应一切的情怀. 这或许是最好的心态... 今年的noip貌似考得好不理想呢...彻底挂了... gjs580,hgr555. 一个初三学弟570,一个400+ ... 
- 资源 之 4.3 访问Resource(拾壹)
			4.3.1 ResourceLoader接口 ResourceLoader接口用于返回Resource对象:其实现可以看作是一个生产Resource的工厂类. public interface Re ... 
- javaScript DOM编程
			1.DOM概述 1.1. 什么是DOM? DOM= Document Object Model,文档对象模型, DOM 是 W3C(万维网联盟)的标准.DOM 定义了访问 HTM ... 
- 七天学会NodeJS (原生NodeJS 学习资料 来自淘宝技术团队)
			NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. ... 
- python常见的模块
			Python内置模块名称 功能简介 详细解释/使用示例 os 和操作系统相关 os.path — Common pathname manipulations sys 和系统相关 sys — Syste ... 
- 笔记5:QQ群聊天机器人
			之前经常在别人群里看到有自动回复消息的机器人. 功能有好多,可以玩各种游戏.觉得还蛮有意思的.. 于是就去请教别人怎么弄得,但是他们都说得好复杂,好高大上,无非就是不想让别人弄 本人是个不会轻易放弃的 ... 
