Does SheetJs work in netsuite serverside script

Hi All, I am trying to use sheetJs with NS? Does it work in serverside script within NS?

Rookie Asked on December 11, 2019 in SuiteScript.
Add Comment
2 Answer(s)
Best answer

I think SheetJS is not AMD-compatible by default, I had to shim ( it in with require config file corresponding to the @NAmdConfig JSDoc tag.

I have gotten it to work serverside in the past though if you just wanted some encouragement to invest time into that route ūüôā

Intermediate Answered on December 11, 2019.

Thanks. Do you have any sample code which I can use for reference?

on December 11, 2019.

It was quite a while since I looked at it. If I recall correctly, I ended up needing to use the .core version for some reason and even then I had to go in and edit some source code in order to make certain things work serverside…my understanding of requirejs was lesser at that time though, so it might be done better/easier now.
This was the config setup though if that helps:


"baseUrl": "SuiteScripts/.../Libraries/",

"paths": {

"XLSX": "xlsx.core.min"


"shim": {

"XLSX": {

"exports": "XLSX"




on December 11, 2019.

Thanks. This works too. Even I am not so great with requireJs ūüôĀ

on December 11, 2019.

I’m trying to get this to work with no¬† luck.

Here is the header of my Suitelet:


 *@NApiVersion 2.x

 *@NScriptType Suitelet

 *@NModuleScope Public

 *@NAmdConfig  ../Libraries/xlsx.json



Here is the .json file:


¬†¬†¬†¬†“baseUrl”: “SuiteScripts/xxx/Libraries/”,











Here is the code in my Suitelet:

var wb = xlsx.utils.book_new();

       wb.Props = {

        Title: fileName,

        Subject: fileName,


        CreatedDate: new Date()



       var ws = xlsx.utils.aoa_to_sheet(rows);

       wb.Sheets[fileName] = ws;



       const result = xlsx.write(wb, {



        Compression: true // turn on zip compression



        var fileObj = file.create({


            fileType: file.Type.EXCEL,

            contents: result,

            folder: netsuiteFolder


I’m getting an error on the first ine that it can’t find utils from undefined.


Thank you for the help




on December 19, 2019.
Add Comment

While I’m not specifically familiar with Sheet, any AMD-compatible module should work with server-side SuiteScript. Exceptions will be modules which depend on browser APIs like window or document etc.

Beginner Answered on December 11, 2019.

And for SS2.0, anything that requires ES6+ features

on December 12, 2019.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.
  • This site made possible by our sponsors:   Tipalti   Celigo   Limebox   Become a Sponsor   Become a Sponsor