This question与此类似,但不突出显示导出数据的任何可能性。思考?是否可以使用任何HTML5 fanciness将本地存储导出到Excel?
回答
我想你误会的答案给你联系,它建议你使用数据URI出口的问题。
由于文件格式本身是二进制文件(or OOXML),Excel的目标有点复杂。如果您只想要在 Excel中打开,那么您可以将更直接的CSV导出为数据URI。下面的代码是一个有点粗糙和准备,并只在Firefox中进行了测试:
function exportData() {
var data = '';
for (var i=1;i<=2;i++) {
var sep = '';
for (var j=1;j<=4;j++) {
data += sep + document.getElementById(i + '_' + j).value;
sep = ',';
}
data += '\r\n';
}
var exportLink = document.createElement('a');
exportLink.setAttribute('href', 'data:text/csv;base64,' + window.btoa(data));
exportLink.appendChild(document.createTextNode('test.csv'));
document.getElementById('results').appendChild(exportLink);
}
这里的页面标记:
<input type="number" id="1_1" value="2">,
<input type="number" id="1_2" value="1">,
<input type="number" id="1_3" value="4">,
<input type="number" id="1_4" value="3">
<br>
<input type="number" id="2_1" value="1">,
<input type="number" id="2_2" value="2">,
<input type="number" id="2_3" value="3">,
<input type="number" id="2_4" value="4">
<br>
<button onclick="exportData()">Export as CSV</button>
<div id="results"></div>
Demo here。点击你获得链接的按钮,点击链接,你会得到一个文件。更改值,再次单击该链接,您将得到不同的文件。 Firefox让我每次都选择Excel来打开它,但我不知道这是我的配置还是一般问题。
CSV in Excel 2007 http://www.boogdesign.com/images/external/data-uri-csv.png
就像我说的,只有在Firefox测试,它只会在支持Data URIs浏览器。您还需要window.btoa() function或实施您自己的base64 encoder。
我不知道任何可以制作Excel文件的Javascript库。但是,您可以简单地将它导出为HTML或CSV格式 - 请注意,JavaScript无法生成文件(但尚未),但HTML的工作草图可以满足此需求:http://www.w3.org/TR/file-writer-api/
Excel在阅读HTML表格方面非常出色,因此您可以只需做到这一点,并用Excel打开HTML文件。
您可以使用Downloadify下载文件:https://github.com/dcneiner/Downloadify
我在考虑让用户复制/粘贴。这不是一个商业产品,只是一个实用工具,所以或许可以问问一些人。我希望有一个whizbang HTML5 API ......我不知道,做了什么魔术或什么...... – 2010-07-20 02:25:22
+1请求神奇:) – technomalogical 2010-07-20 03:16:55
如果你将焦点转移到服务器端,你可以输出一个自定义的MIME类型你的选择。 CSV是将数据导出到Excel的简单方法。 – 2010-07-20 18:31:56
- 1. 是否可以计算出会话/本地存储的HTML5利用率?
- 2. 是否可以将本地存储值加载到推文中?
- 3. 是否可以在HTML5中分别覆盖本地存储和会话存储?
- 4. 使用HTML5本地存储
- 5. 本地存储使用html5
- 6. HTML5:使用本地存储
- 7. 任何HTML5本地存储包装?
- 8. 是否可以将Navision 5.0导出到Word/Excel到OpenOffice.org?
- 9. 使用存储过程将数据导出到Excel中的excel
- 10. JavaScript-HTML5使用本地存储登录,是否安全?
- 11. 您可以使用HTML5的本地存储?
- 12. 将多个文本框存储到本地存储的HTML5
- 13. 是否可以同时使用本地NuGet存储库和远程存储库
- 14. 交易是否可以在Safari中使用HTML5存储
- 15. 本地存储HTML5
- 16. html5本地存储
- 17. 我们可以存储使用HTML5本地存储卷曲请求
- 18. 是否可以将MKS Integrity存储库导入到git中?
- 19. Excel加载项中的本地存储
- 20. 将点击次数存储到本地存储html5
- 21. 使用HTML5存储的本地开发
- 22. 使用存储过程将Oracle表导出到excel文件
- 23. 是否可以直接将本地图像上传到GitHub存储库?
- 24. 是否可以将blob存储装载到本地计算机进行部署?
- 25. 是否可以将远程存储装载到iOS的本地文件系统?
- 26. 是否有一个用于HTML5本地存储的phpMyAdmin?
- 27. 是否可以使用Angular 2将表单值保存到本地文件中?
- 28. 是否可以从HTML5的本地存储中提取数据并保存到服务器数据库?
- 29. HTML5本地存储和Chrome
- 30. HTML5本地存储错误
有趣。当我在Excel中打开结果时,我得到两个单元格A1('2,1,4,3')和A2('1,2,3,4')。所以它是识别行而不是列。感谢你的开始,虽然(你对链接的问题是正确的,但它不是正确的答案出口) – 2010-07-20 18:32:34
@AlexMcp也许这取决于你使用的是什么版本的Excel?我添加了我在Excel 2007中看到的屏幕截图。 – robertc 2010-07-20 18:43:11
哇,知道这件事太好了。谢谢:-) – 2010-07-21 00:11:57