xlsx parsing provides a convenience wrapper for writing to a buffer: https://github.com/guyonroche/exceljs/blob/3623df4522b390a84b4eda34aab56e9bbefce571/lib/xlsx/xlsx.js#L659 CSV, however, has no such wrapper, meaning the interfaces of these two objects is different: https://github.com/guyonroche/exceljs/blob/3623df4522b390a84b4eda34aab56e9bbefce571/lib/csv/csv.js#L102 We can achieve the same by constructing and passing in our own buffer, but having a consistent interface would be nice.