code: function openOrCreateWorkbook(node, msg, create) {
          let workbook; let type;
          type = msg.type === undefined ? 'file' : msg.type;
          if (check.assigned(msg.location)) {
              const args = {
                  type: type,
                  cellFormula: true,
                  cellHTML: true,
                  cellStyles: true,
                  cellNF: true,
                  bookDeps: true,
                  bookFiles: true,
                  bookVBA: true,
                  sheetStubs: true,
              };
  
              if (msg.mode === 'metadata') {
                  args.bookProps = true;
                  args.bookSheets = true;
              }
  
              try {
                  workbook = xlsx.readFileSync(msg.location, args);
              } catch (ex) {
                  if (create) {
                      workbook = new Workbook();
                      let wsName = msg.sheet || 'Sheet1';
                      let contents = xlsx.utils.aoa_to_sheet([[]]);
                      workbook.SheetNames.push(wsName);
                      workbook.Sheets[wsName] = contents;
                  } else {
                      node.debug('Error opening file ' + msg.location);
                      node.debug(ex);
                  }
              }
          } else {
              node.debug('Error: Invalid location ' + msg.location);
          }
          return workbook;
      }
docs: opens a workbook from the specified location
  @function
  @param {object} node - the node object returned by createNode
  @param {object} msg - msg object passed as input to this node.
  @param {boolean} create - specifies if a new book should be created
  @return {object} workbook - returns a workbook