簡體   English   中英

是否可以使用cordova / phonegap數據表按鈕將Excel文件保存到ios設備?

[英]Is it possible to save an Excel file to ios device using cordova/phonegap datatables buttons?

在我的應用程序中,我有一個使用數據表動態顯示的表,並啟用了“ csv”和“ excel”按鈕。 在ios模擬器上,將打開Excel文件,但是沒有保存它的選項,等等。可以將文件下載到設備上嗎? 當我通過典型的網站使用數據表按鈕時,文件將自動在瀏覽器中下載。

抱歉,我是Phonegap等的新手,如果這是一個愚蠢的問題,我深表歉意。

感謝您提供的任何建議。

在此處輸入圖片說明

通過使用插件: cordova-plugin-file ,可以將其保存到文檔目錄“ cordova.file.documentsDirectory”。 默認情況下,此目錄與iCloud共享,因此可以通過ios File文件夾打開此處保存的文件,然后用戶可以選擇文件並單擊共享圖標以使用適當的應用程序打開,例如Numbers等。

為了打開iCloud,您必須向Apple支付開發者費用,然后選擇相應的選項。 我發現文章“在iOS 11中使用Files App”對啟動此過程很有幫助。

我在使用datatables-buttons將Excel文件保存到設備時遇到了問題,但是通過更新datatables.js,我可以將其作為.csv文件來實現。

在平台的datatables.js文件中:

 //In your datatables file go to the following section: // // CSV export // DataTable.ext.buttons.csvHtml5 = { .... //comment out /* _saveAs( new Blob( [output], {type: 'text/csv'+charset} ), info.filename, true ); */ //add a call to this new function saveToDeviceDocuments(info.filename, output) .... } //add the function somewhere //<!-- Save CSV file to iOS Files --> saveToDeviceDocuments = (filename, csvText) => { document.addEventListener('deviceready', onDeviceReady, false); var logOb; function fail(e) { console.log("FileSystem Error"); console.dir(e); } function onDeviceReady() { window.resolveLocalFileSystemURL(cordova.file.documentsDirectory, function(dir) { console.log("got main dir =" + dir); dir.getFile(filename, {create:true}, function(file) { console.log("got the file", file); logOb = file; writeLog(csvText); }); }); } function writeLog(str) { if(!logOb) return; logOb.createWriter(function(fileWriter) { fileWriter.seek(fileWriter.length); var blob = new Blob([str], {type:'text/plain'}); fileWriter.write(blob); console.log("ok, in theory i worked"); $(".buttons-csv").html("Spreadsheet saved to files!") }, fail); } function justForTesting() { logOb.file(function(file) { var reader = new FileReader(); reader.onloadend = function(e) { console.log(this.result); }; reader.readAsText(file); }, fail); } setTimeout(justForTesting, 2000) } 
(感謝Raymond Camdon的文章“ Cordova示例:寫入文件” ,它對代碼有所幫助)

希望這對某人有所幫助,作為一個新的業余愛好者開發人員,我花了很長時間才將這些線索匯總在一起。 我希望我可以將其保存為Excel格式,但找不到任何方法來更新_jszip以保存到瀏覽器以外的任何位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM