Excel 将阵列转换为blob,将blob转换为传统XLS文件
我有一个生成2D数组的应用程序脚本。我想以legacy.XLS格式将此阵列导出到Google Drive上的文件夹中,理想情况下不需要先创建Google工作表,然后再转换该工作表 我想我可以将我的数组转换成CSV字符串,并将其转换为具有适当MimeType的blob,然后将其保存在驱动器中 但是,当我从驱动器下载文件并打开它时,这些值并没有分开(尝试使用“;”作为分隔符) 下面是我的脚本,以简化数组为例Excel 将阵列转换为blob,将blob转换为传统XLS文件,excel,google-apps-script,google-drive-api,xls,Excel,Google Apps Script,Google Drive Api,Xls,我有一个生成2D数组的应用程序脚本。我想以legacy.XLS格式将此阵列导出到Google Drive上的文件夹中,理想情况下不需要先创建Google工作表,然后再转换该工作表 我想我可以将我的数组转换成CSV字符串,并将其转换为具有适当MimeType的blob,然后将其保存在驱动器中 但是,当我从驱动器下载文件并打开它时,这些值并没有分开(尝试使用“;”作为分隔符) 下面是我的脚本,以简化数组为例 function createXls() { var data = [["a&qu
function createXls() {
var data = [["a","b","c"],["d","e","f"]];
var csvString = toCsv(data);
var xlsName = "here goes the filename";
var driveFolder = DriveApp.getFolderById("hereGoesTheFolderId");
var blob = Utilities.newBlob(csvString, MimeType.MICROSOFT_EXCEL_LEGACY);
blob.setName(xlsName + ".xls");
driveFolder.createFile(blob);
};
function toCsv(arr) {
return arr.map(row =>
row.map(val => val).join(';')
).join('\n');
};
我是否在这里遗漏了什么,或者在将数据首先放在一张表中并将该表转换为xls时没有什么需要考虑的
谢谢大家! 有关XLS数据的结构,请参见。因此,我认为使用脚本创建的文件是CSV文件,mimeType为XLS。由此,我认为该文件无法打开。但不幸的是,谷歌电子表格似乎无法直接导出为XLS格式。如果您想从Google电子表格检索XLS数据,我认为可能需要从电子表格导出的XLSX数据检索XLS数据。我为此道歉。