我有一个电子表格,长862行。但是,由于某种原因,以下代码仅读取该电子表格的第一行,并认为其中的全部内容。这段代码已经使用了多年,并且刚刚开始出现问题。也不是所有电子表格,因此我倾向于将其作为电子表格问题,但是这些电子表格也是通过相同的过程创建多年的(两个版本均未升级)。为什么只读取电子表格的第一行?
我正在使用以下代码段:
var threads = GmailApp.search('in:inbox in:unread subject:"Test Report"');
console.log(threads);
var message = threads[0].getMessages()[0];
var attachment = message.getattachments()[0];
var date = message.getDate();
// Is the attachment a CSV file
if (attachment.getcontentType() === "text/csv") {
//var meh = attachment.getDataAsString();
console.log("Printing new data: ",attachment.getDataAsString());
var csvData = Utilities.parseCsv(attachment.getDataAsString(),",");
//var csvData = Utilities.parseCsv(attachment.getDataAsString());
console.log(csvData);
// console.log(attachment);
var sheet = Spreadsheetapp.getactiveSpreadsheet();
var staging = sheet.getSheetByName("Staging")
//var csvData = Utilities.parseCsv(attachment.getDataAsString(),");
// Remember to clear the content of the sheet before importing new data
staging.clearContents().clearFormats();
var date = new Date();
var dateString = date.toString();
staging.appendRow(["Last Updated: ",dateString]);
console.log(csvData.length);
console.log(csvData[0].length);
staging.getRange(2,1,csvData.length,csvData[0].length).setvalues(csvData);
// staging.getRange(1,csvData[0].length).setvalues(csvData);
我在日志中得到以下结果:
D 2020-01-30T16:34:48.955Z打印新数据:用户名,显示名称,AIN,测试组名称,测试创建日期,电子邮件,职位名称,部门
D 2020-01-30T16:34:48.957Z [[用户名,显示名称,AIN,测试组名称,测试创建日期,电子邮件,职务,部门]] D 2020-01-30T16:34:49.388Z 1.0 D 2020-01-30T16:34:49.389Z 8.0
您可以看到,代码认为此电子表格只有1行8列,而实际上是862行8列。有什么想法吗?