使用Google脚本将驱动器上的csv文件打印到Google Sheet时出现问题

问题描述

我想将Google驱动器上的csv文件导入到Google Sheet,但是我的Google脚本有问题。

我想得到一些帮助。

它的值很奇怪:

1

这是我需要导入Google工作表的xlsx数据:

2

我的脚本:

function ExportRange() {
    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth() + 1; //January is 0!
    if (dd < 10) {
        dd = '0' + dd
    }

    if (mm < 10) {
        mm = '0' + mm
    }

    today = mm + '/' + dd;
    Logger.log(today);
    for (var i = 0; i <= 0; i++) {

        var file = DriveApp.getFilesByName(today + '_' + i + '.csv');
        Logger.log("today file count :" + today + '_' + i + '.csv');

        var spreadsheet = SpreadsheetApp.getActive();
        var test;
        var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
        var yourNewSheet = activeSpreadsheet.getSheetByName(today + '_' + i);
        if (yourNewSheet != null) {
            activeSpreadsheet.deleteSheet(yourNewSheet);
        }
        yourNewSheet = activeSpreadsheet.insertSheet();
        yourNewSheet.setName(today + '_' + i);

        var csv = file.next().getBlob().getDataAsstring();
        var csvData = Utilities.parseCsv(csv);

        yourNewSheet.getRange(1,1,csvData.length,csvData[0].length).setValues(csvData);

    }
}

解决方法

.zip文件格式及其派生词的字符串PK..file signature。一种这样的派生形式是Excel使用的.XLSX格式,它实际上是XML数据的.zip存档(除其他外)。

您可能有一个XLSX文件,但是您试图将其读取为CSV,这会将原始数据转储到工作表中。您可以使用Excel将其转换为真实的CSV,或者查看是否可以使用脚本将其作为XLSX打开。从我阅读的内容来看,后者似乎涉及更多,因此请首先尝试简单的事情。