或任何其他可解析的格式,如XML。目前只有Excel,OO等電子表格格式似乎得到支持。驅動器可以將電子表格數據導出爲JSON嗎?
-1
A
回答
0
不能直接完成,但以下Apps-script將在電子表格中將工作表轉換爲JSON。然後可以導出JSON工作表,以便客戶端應用程序可以下載它。
/**
* Retrieves all the rows in the active spreadsheet that contain data and logs the
* values for each row.
* For more information on using the Spreadsheet API, see
* https://developers.google.com/apps-script/service_spreadsheet
NB Sheet 1 must be JSON and it is this sheet which is published as text to the app
Sheet 2 is the Java string version of Sheet 1
*/
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
Logger.log(row);
}
};
var jsonOutput="";
/**
* main function
*/
function createJson() {
jsonOutput = "{nEwLiNe";
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var startSheet = 2;
for (var i = startSheet; i < sheets.length; i++) { // foreach sheet (except first two)
if (i > startSheet) {
jsonOutput+=",";
}
doSheet(sheets[i]);
}
jsonOutput += "nEwLiNe}";
Logger.log("nEwLiNenEwLiNe==nEwLiNenEwLiNenEwLiNe"+jsonOutput);
// write the output to A1
SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange("A1").setValue(jsonOutput.replace(/nEwLiNe/g," "));
// write a Java string to B1
var java='jsonS = "'+jsonOutput.replace(/"/g,'\\"').replace(/nEwLiNe/g,' ')+'";';
SpreadsheetApp.getActiveSpreadsheet().getSheets()[1].getRange("A1").setValue(java);
};
/**
* for each sheet
*/
function doSheet(sheet) {
jsonOutput+="nEwLiNe";
jsonOutput+='"'+sheet.getName()+'" : '
var rows = sheet.getDataRange();
var values = rows.getValues();
var rowCount=values.length;
// look for a blank column which is the end of columns to process,ie any extra columns to the right are ignored
var colCount=values[0].length;
for (var c = 0; c < colCount; c++) {
// Logger.log(values[0][c]);
if (values[0][c] == "" || values[0][c] == null) {
colCount=c;
break;
}
}
if (rowCount > 2) {
jsonOutput+="nEwLiNe[";
}
for (var r = 1; r < rowCount; r++) { // for each data row
if (r>1) {
jsonOutput+=',';
}
jsonOutput+='nEwLiNe{nEwLiNe';
for (var c = 0; c < colCount; c++) {
if (c==0) {
jsonOutput+='nEwLiNe';
} else {
jsonOutput+=',nEwLiNe';
}
var n=values[0][c].replace(/^\s+|\s+$/g, "");
var v=(""+values[r][c]).replace(/^\s+|\s+$/g, "");
v=v.replace(/\n/g,"").replace(/\r/g,"");
// Logger.log(sheet.getName()+":"+r+" "+n+":"+v);
jsonOutput+=' "'+n+'" : "'+v+'"'
}
jsonOutput+='nEwLiNe}nEwLiNe';
}
if (rowCount > 2) {
jsonOutput+="nEwLiNe]nEwLiNe";
}
};
/**
* Adds a custom menu to the active spreadsheet, containing a single menu item
* for invoking the readRows() function specified above.
* The onOpen() function, when defined, is automatically invoked whenever the
* spreadsheet is opened.
* For more information on using the Spreadsheet API, see
* https://developers.google.com/apps-script/service_spreadsheet
*/
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Create JSON",
functionName : "createJson"
}];
sheet.addMenu("Tmph", entries);
};
0
如果是,你可以通過使用基於列表的飼料或基於細胞的飼料谷歌表API(https://developers.google.com/google-apps/spreadsheets/)出口可解析XML谷歌的工作表。
相關問題
- 1. 將驅動器文件ID導出到電子表格
- 2. 將SWT表格數據導出到Excel電子表格
- 3. 將可導出數據導出到電子表格Excel中的Excel
- 4. 使用驅動器API訪問Google驅動器電子表格
- 5. 將用戶輸出數據導出到Excel電子表格中
- 6. 將google電子表格導出爲PDF,然後將PDF保存爲具有特定名稱的驅動器
- 7. 將表單數據導出到Google電子表格
- 8. 將電子表格導出爲pdf然後將文件保存在谷歌驅動器中
- 9. Sitecore 8.1:我可以從電子郵件體驗管理器導出數據嗎?
- 10. 將數據從R導出到電子表格
- 11. 如何將數據導出到Google電子表格
- 12. 使用多個電子表格將數據導出到Excel中
- 13. 將Postgres數據庫導出到Excel電子表格
- 14. 將數據導出到Excel電子表格
- 15. 我可以將圖表從網頁導出爲PDF格式嗎?
- 16. 使用Google Apps腳本將Google電子表格導出爲JSON(或XML)格式
- 17. 以數組格式將Excel電子表格導入C#表單?
- 18. 將數據導入電子表格 - 自動刷新
- 19. 我可以將MySQL表移動到第二個驅動器嗎?
- 20. 從電子表格導出數據到Pgsql數據庫
- 21. 谷歌電子表格的JSON數據
- 22. 使用excel電子表格的nodejs驅動的數據
- 23. 在谷歌驅動器電子表格中調換圖表的數據
- 24. 從Web導出電子表格導入數據
- 25. 將Google電子表格數據導入熊貓數據框
- 26. 如何從電子表格導出爲CSV格式的驅動器或下載文件夾
- 27. Oracle:導入電子表格數據
- 28. 您可以將作業中的計數器導出爲CSV嗎?
- 29. 可以以不同的格式導出圖表或表格嗎?
- 30. 驅動器sdk插入電子表格csv格式