Netsuite SuiteScript 2.0:我使用context.response.writeFile(文件)将数据导出到excel,但它返回字符串

Netsuite SuiteScript 2.0:我使用context.response.writeFile(文件)将数据导出到excel,但它返回字符串,netsuite,suitescript2.0,Netsuite,Suitescript2.0,我添加了一个按钮。当我单击该按钮时,它将执行此功能 function onRequest(context) { log.debug('exportTest'); var stringInput = 'Hello World\nHello World'; var base64EncodedString = encode.convert({ string : stringInput, inputEncoding : encode.Encodin

我添加了一个按钮。当我单击该按钮时,它将执行此功能

function onRequest(context) {
    log.debug('exportTest');
    var stringInput = 'Hello World\nHello World';
    var base64EncodedString = encode.convert({
        string : stringInput,
        inputEncoding : encode.Encoding.UTF_8,
        outputEncoding : encode.Encoding.BASE_64
    });
    var fileUrl = file.create({
        name : 'test.txt',
        fileType : file.Type.PLAINTEXT,
        contents : base64EncodedString
    });
    log.debug('fileUrl',fileUrl);
    context.response.writeFile({
        file : fileUrl
    });
}
我想得到一个名为“test.txt”的文件,但它返回一个字符串。

它似乎返回的正是您要求的内容,即“Hello World\n Hello World”编码为base64字符串。要显示原始文本,您需要再次解码,或者在本例中,您可以跳过编码,因为它只是文本。

我现在知道怎么做了。 1.添加一个按钮

function beforeLoad(scriptContext) {
    if(scriptContext.type == scriptContext.UserEventType.VIEW){
        var form = scriptContext.form;
        form.addButton({
            id: "custpage_export_test",
            label: "Export Test",
            functionName: 'exportExcel'
        });
        form.clientScriptModulePath = './export_test.js';            
    }
}
2.export_test.js

function exportExcel(context) {
    var suiteletURL = url.resolveScript({
        scriptId:'customscript_export_excel',
        deploymentId:'customdeploy_export_excel',
        params:context
    })
    var downloadLink = document.createElement('a');
    downloadLink.href = suiteletURL;
    document.body.appendChild(downloadLink);
    downloadLink.click();
    document.body.removeChild(downloadLink);
}
3.export_excel.js

function onRequest(context) {
    var response = context.response;
    log.debug('exportTest');
    var stringInput = 'Hello World\nHello World';
    var excelFile = file.create({
        name: 'test.txt',
        fileType: file.Type.PLAINTEXT,
        contents: stringInput
    });
    response.writeFile(excelFile);
}

我跳过了编码,它返回“Hello World\n Hello World”。如何将“Hello World\n Hello World”导出到我的计算机,并使用suiteScript 2.0保存为名为“test.txt”的文件。