js 把表格导出到excel 对于colspan rowspan 这些怎么处理?

bei_fly135 2008-01-07 08:28:24
这是我写的代码。但是只能对没有合并的单元格有效。例如 html的 某个单元格colspan 为2 的话,这么一行的children就会少一个。但是excel里 并不是这样定义的,excel是跳过某个格的。如何处理?

这里的代码 只能对没有合并的单元格有效
function outGrid(tablename){

var t=document.getElementById(tablename);
try{var appExcel = new ActiveXObject( "Excel.Application" );}catch(e){alert("请将本站点添加到浏览器的可信任站点");return;}
appExcel.Visible = true;
var wb = appExcel.Workbooks.Add();
var ws = wb.Worksheets(1);

for(var i=0;i<t.children[0].children.length;i++){
for(var j=0;j<t.children[0].children[i].children.length;j++){
ws.Cells(i+1,j+1).value=t.children[0].children[i].children[j].innerText;
}
}
}
...全文
708 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gs6fox 2008-01-17
  • 打赏
  • 举报
回复
直接做个Excel模版,按页面的样式做不就得了
我们公司的项目就是这样做的
页面上有合并的在模版上也合并
直接找到位置填值就可以了,其它的都不用管
myvicy 2008-01-16
  • 打赏
  • 举报
回复
row=(row==null?table.rows.length:row);
cell=(cell==null?table.rows(0).cells.length:cell);
for (i=0;i<row;i++) {
for (j=0;j<cell;j++) {
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;
}
}
wilowind 2008-01-07
  • 打赏
  • 举报
回复
楼上有想法。 可惜对数据的控制不理想
ghostzitee 2008-01-07
  • 打赏
  • 举报
回复
function exportexcel(tablenid){
var elTable = document.getElementById("tb");
var oRangeRef = document.body.createTextRange();
var table = document.getElementById(tablenid);
oRangeRef.moveToElementText(table);
oRangeRef.execCommand( "Copy" )

var appExcel = new ActiveXObject( "Excel.Application" );
appExcel.Visible = true;
appExcel.Workbooks.Add().Worksheets.Item(1).Paste();
appExcel = null;
}

试试这个

87,910

社区成员

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

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