我正在尝试将要复制的文件从电子邮件转换为共享驱动器。这些文件保存在xlsx中,如果尝试从源代码下载为.csv文件,则会丢失信息。
function convertExceltoGoogleSpreadsheet(fileName) {
try {
fileName = "JNJ Defects Last Shift.xlsx";
var excelFile = DriveApp.getFilesByName(fileName).next();
var fileId = excelFile.getId();
var folderId = "0AEZiKNnbsme8Uk9PVA";
var blob = excelFile.getBlob();
//var resource = {
//title: excelFile.getName(),
//mimeType: MimeType.GOOGLE_SHEETS,
//parents: [{id: folderId}],
//};
blob.setContentType("application/vnd.google-apps.spreadsheet").setName("JNJ Defects Last Shift 22 Jun 20");
DriveApp.createFile(blob);
//Drive.Files.insert(resource, blob);
} catch (f) {
Logger.log(f.toString());
}
}
我运行它时收到此错误消息
[20-06-23 07:06:08:638 CDT]异常:无效的参数:file.contentType。
我尝试了contentType的几种变体,但没有设法转换为工作表。
我该怎么办?
答案 0 :(得分:0)
您可以使用高级驱动器服务来完成此操作。
要进行转换,您需要特别指定要转换的文件,尽管由于它将默认为Google Sheet格式,所以不需要手动指定MimeType。
function convertExceltoGoogleSpreadsheet(fileName) {
fileName = "JNJ Defects Last Shift.xlsx";
var excelFile = DriveApp.getFilesByName(fileName).next();
var fileId = excelFile.getId();
var folderId = "0AEZiKNnbsme8Uk9PVA";
var blob = excelFile.getBlob();
var file = {
title: "JNJ Defects Last Shift 22 Jun 20",
parents: [
{
"kind": "drive#parentReference",
"id": folderId
}
]
};
file = Drive.Files.insert(file, blob, {
convert: true
});
}
我希望这对您有帮助!