GridView 导出excel,要求excel的文件名为中文,excel中有中文标题 20

GridView中有下拉框,要把下拉框选中的文本值导出,导出的文件名为中文.xls导出的数据要求在在列名上面有中文的标题... GridView 中有下拉框,要把下拉框选中的文本值导出,导出的文件名为 中文.xls 导出的数据要求在在列名上面有中文的标题 展开
 我来答
小狼痕
2012-12-05 · TA获得超过105个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:176万
展开全部
这个可以用js导出,也可以用后台导出,后台导出程序较多,现在给你一个js导出吧
//excel导出
function printToExcel() {
//判断浏览器
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
var win;
if (Sys.ie) {
win = document.frames["PrintExcelFrame"];
} else {
win = document.getElementById("PrintExcelFrame").contentWindow;
}
//var win = document.frames["PrintExcelFrame"];
if (win) {
var oSELECTs = document.getElementById("outxls").getElementsByTagName("select");
var strs = new Array(oSELECTs.length);
for (var i = 0; i < oSELECTs.length; i++) {
strs[i] = oSELECTs[i].options[oSELECTs[i].selectedIndex].text;
}
var bodyHTML = window.document.getElementById("outxls").innerHTML;
for (var i = 0; i < oSELECTs.length; i++) {
bodyHTML = bodyHTML.replace(/<select.*?<\/select>/i, '<span>' + strs[i] + '</span>');
}
bodyHTML = bodyHTML.replace(/<table/gi, '<TABLE BORDER="1"');
bodyHTML = bodyHTML.replace(/<input.*?type=hidden.*?>/gi, '');
bodyHTML = bodyHTML.replace(/<input.*?value="?([\.\,\d]*)"?.*?>/gi, '$1');
bodyHTML = bodyHTML.replace(/<input.*?>/gi, '');
win.document.getElementById("PrintBodyHTML").value = bodyHTML;
win.document.forms[0].submit();
}
else {
window.setTimeout("printToExcel()", 600);
}
}
调用
<inputtype="button" value=" 导出 " onclick="printToExcel();" class="iptButton" />
把GridView外面放一个div 包住,div的ID=outxls就行了
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式