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