【发布时间】:2013-04-11 07:23:02
【问题描述】:
我有一个表格数据,我需要在不使用任何外部插件或 API 的情况下将其导出到 csv。我使用 window.open 方法传递 MIME 类型,但遇到如下问题:
How to determine whether Microsoft Excel or OpenOffice is installed on the system using jQuery
代码应该独立于系统上安装的内容,即 OpenOffice 或 Microsoft Excel。我相信 CSV 是可以预期在两个编辑器中显示的格式。
代码
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/JavaScript">
$(document).ready(function(){
$("#btnExport").click(function(e) {
var msg = GetMimeTypes();
//OpenOffice
window.open('data:application/vnd.oasis.opendocument.spreadsheet,' + $('#dvData').html());
//MS-Excel
window.open('data:application/vnd.ms-excel,' + $('#dvData').html());
//CSV
window.open('data:application/csv,charset=utf-8,' + $('#dvData').html());
e.preventDefault();
});
});
function GetMimeTypes () {
var message = "";
// Internet Explorer supports the mimeTypes collection, but it is always empty
if (navigator.mimeTypes && navigator.mimeTypes.length > 0) {
var mimes = navigator.mimeTypes;
for (var i=0; i < mimes.length; i++) {
message += "<b>" + mimes[i].type + "</b> : " + mimes[i].description + "<br />";
}
}
else {
message = "Your browser does not support this ";
//sorry!
}
return ( message);
}
</script>
</head>
<body>
<div id="dvData">
<table>
<tr>
<th>Column One </th>
<th>Column Two</th>
<th>Column Three</th>
</tr>
<tr>
<td>row1 Col1</td>
<td>row1 Col2</td>
<td>row1 Col3</td>
</tr>
<tr>
<td>row2 Col1</td>
<td>row2 Col2</td>
<td>row2 Col3</td>
</tr>
<tr>
<td>row3 Col1</td>
<td>row3 Col2</td>
<td>row3 Col3</td>
</tr>
</table>
</div>
<br/>
<input type="button" id="btnExport" value=" Export Table data into Excel " />
</body>
错误
CSV:无法被浏览器识别
ODS 和 Excel: 正在运行,但是当系统安装了 excel 或 openoffice 时,我无法找到生成哪个?
IE 8 版:完全不工作,在新窗口中打开,如下图所示。
【问题讨论】:
-
您到底面临什么问题?我不明白。
-
我无法使用 jquery 和 html 将其导出到 csv...我不想使用任何插件...我使用了 mime 类型,但它似乎不起作用
-
然后显示一些代码并描述究竟是什么不起作用?您收到什么错误消息?等等。
-
@Pekka웃:请参阅编辑,如果您现在不明白,请具体询问,谢谢
-
发生了什么事@Pekka웃....你这边没有解决方案???
标签: jquery html csv export export-to-csv