js导出Excel后如何指定文件名?

kouzhikai 2011-01-19 02:36:31
js导出没问题,但是每次导出默认的Excel文件名为“Book1.xls”,如何指定为我想要的文件名,比如指定为“数据表.xls”
我的导出js代码如下,高手帮帮忙。
                                        
<input type="button" value="导出Excel" onclick="method();" />
<script type="text/javascript">
function method() {//整个表格拷贝到EXCEL中
//检索浏览器
if(navigator.userAgent.indexOf("MSIE")<0){
alert('请用ie浏览器进行表格导出');
return ;
}

var tableid="excel";
var curTbl = document.getElementById(tableid);
var oXL = null;
try {
oXL = GetObject("", "Excel.Application");
}
catch (E) {
try {
oXL = new ActiveXObject("Excel.Application");
}
catch (E2) {
alert("请确认:\n1.Microsoft Excel已被安装.\n2.工具 => Internet 选项=> 安全 => 设置 \"启用不安全的 ActiveX\"");
return;
}
}

//创建AX对象excel
var oWB = oXL.Workbooks.Add();
//获取workbook对象
var oSheet = oWB.ActiveSheet;

//在此进行样式控制
oSheet.Rows(1+":"+35).RowHeight =25;//定义行高
oSheet.Rows(36+":"+37).RowHeight =15;
//定义列宽
oSheet.Columns('A:K').ColumnWidth = 10;

oSheet.Rows(1).HorizontalAlignment=3;

var sel = document.body.createTextRange(); //激活当前sheet
sel.moveToElementText(curTbl); //把表格中的内容移到TextRange中
sel.select(); //全选TextRange中内容
sel.execCommand("Copy"); //复制TextRange中内容
oSheet.Paste(); //粘贴到活动的EXCEL中
oXL.Visible = true; //设置excel可见属性
oXL.document.execcommand('saveas', true, "test");
oSheet.Application.Quit(); //结束当前进程

window.opener=null;
//window.close();//关闭当前窗口

}
</script>
...全文
1147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a346391887a 2012-08-22
  • 打赏
  • 举报
回复
2012年浏览
战斗生活 2011-01-20
  • 打赏
  • 举报
回复
哇 楼主js水平真高啊
kouzhikai 2011-01-19
  • 打赏
  • 举报
回复
找到答案了,导出时加个oWB.SaveAs("D:\\数据表.xls");
但还有问题是,必须预先指定保存路径。理我预想的结果还差一点。
kouzhikai 2011-01-19
  • 打赏
  • 举报
回复
不明白,楼上能否说的再清楚点,谢谢
Mr-Jee 2011-01-19
  • 打赏
  • 举报
回复
ms这个activeXObject里要有接口指定

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧