●●●求js或者jquery将table导出csv文件,在线等●●●

etracer 2012-11-08 09:46:33
如下表格大概如下
<table>
<tr>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
</tr>
<table>
请问有jquery的插件能处理这样复制的表格么?或者是js
谁能提供一个,十分感谢,最后有实例,谢谢先
...全文
696 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang421755327 2013-04-10
  • 打赏
  • 举报
回复
邮箱:zhang421755327@163.com
zhang421755327 2013-04-10
  • 打赏
  • 举报
回复
能把你的解决方法发我研究下不?我目前也碰到了这个问题
etracer 2012-11-20
  • 打赏
  • 举报
回复
解决了 ,自己生成的csv
etracer 2012-11-08
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
兼容性好点就发送内容到服务器,又服务器处理,设置"Content-Disposition"响应头"attachment;filename=\"xxx.csv\"") 要不就只能IE浏览器下的document.execCommand('SaveAs', 'xxx.csv');了,兼容性不是很好,而且好像指定的文件名和后缀没效果。。 XML/HTML code12……
感谢您的回答,主要我的服务器端的数组很是复杂,好不容易生成我描述的表格了,因为,字段和行数,都不是确定的,而且还有合并单元格,所以想找个可以处理复杂表格的插件或者方法,直接从生成出来的表格来做输出,还有别的方法么?请指点,谢谢了先
Go 旅城通票 2012-11-08
  • 打赏
  • 举报
回复
if (!!document.all) { alert('非IE浏览器无法直接JS控制保存文件!'); return false; } 这句错了,多了一次取非。。
if (!document.all) { alert('非IE浏览器无法直接JS控制保存文件!'); return false; }
Go 旅城通票 2012-11-08
  • 打赏
  • 举报
回复
兼容性好点就发送内容到服务器,又服务器处理,设置"Content-Disposition"响应头"attachment;filename=\"xxx.csv\"") 要不就只能IE浏览器下的document.execCommand('SaveAs', 'xxx.csv');了,兼容性不是很好,而且好像指定的文件名和后缀没效果。。
<div id="dv">
<table>
<tr>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
</tr>
</table>
</div>
<iframe id="ifr" style="position:absolute;left:-999px;top:-999px;" src="javascript:void(0)"></iframe>
<script type="text/javascript">
    window.onload = function () {
        if (!!document.all) { alert('非IE浏览器无法直接JS控制保存文件!'); return false; }
        var doc = document.getElementById('ifr').contentWindow.document;
        doc.open();
        doc.write(document.getElementById('dv').innerHTML);
        doc.close();
        doc.execCommand('SaveAs', 'xxx.csv');
    }
</script>
chen_ya_ping 2012-11-08
  • 打赏
  • 举报
回复
有个jquery table这个插件有这个功能的,通过flash来实现
Go 旅城通票 2012-11-08
  • 打赏
  • 举报
回复
引用 4 楼 etracer 的回复:
引用 2 楼 showbo 的回复:兼容性好点就发送内容到服务器,又服务器处理,设置"Content-Disposition"响应头"attachment;filename=\"xxx.csv\"") 要不就只能IE浏览器下的document.execCommand('SaveAs', 'xxx.csv');了,兼容性不是很好,而且好像指定的文件名和后缀没效果。。 ……
客户端获取需要提交的容器的innerHTML发送给服务器端,服务器端很简单啊,主要是负责设置响应头和输出客户端提交的内容就好了。 save.asp
<%
response.contenttype="text/csv"'设置类型为csv
response.AddHeader "content-disposition","attachment;filename=""xxxxxxx.csv"""'设置以附件形式保存
response.Write request.Form("csv")'输出客户端提交的csv内容即可
 %>
test.html
<!--这个是总的容器,提交容器的innerHTML-->
<div id="dv">
<table>
<tr>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
<th>
<table><tr><th></th><th></th><th></th></tr></table>

</th>
</tr>
</table>
</div>
<!---------提交表单前设置csv控件的内容未要导出的容器的innerHTML,将表单提交到隐藏的iframe来实现无刷新下载------------------->
<form method="post" target="_blank" action="save.asp" onsubmit="this.csv.value=document.getElementById('dv').innerHTML"><input type="hidden" name="csv" /><input type="submit" value="保存" /></form>
<iframe name="ifr" style="display:none"></iframe>
客户端只能靠flash的实现保存文件的方法了,不过我没找到这种方法能将页面的内容传递给flash然后flash负责弹出保存内容对话框的,除非是flash air应用,而不是web的
etracer 2012-11-08
  • 打赏
  • 举报
回复
对了,补充问一下 jquery那么多表格插件,是那个?能告诉插件名字么?
etracer 2012-11-08
  • 打赏
  • 举报
回复
引用 5 楼 jiashu912387 的回复:
引用 1 楼 chen_ya_ping 的回复:有个jquery table这个插件有这个功能的,通过flash来实现 不是有人说用这个吗? 不管服务端返回的数组多复杂。解析的方法你得抽象出来。适当的解耦是必须的
哦,好的,我试试,哈哈哈谢谢了,
jiashu912387 2012-11-08
  • 打赏
  • 举报
回复
引用 1 楼 chen_ya_ping 的回复:
有个jquery table这个插件有这个功能的,通过flash来实现
不是有人说用这个吗? 不管服务端返回的数组多复杂。解析的方法你得抽象出来。适当的解耦是必须的

87,907

社区成员

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

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