Home > Blockchain >  How to write to excel file using XLSX while keeping the same order
How to write to excel file using XLSX while keeping the same order

Time:06-29

Here is my code that writes to the sheet.

const handleClick = () => {
    var wb = XLSX.utils.book_new();
    var ws = XLSX.utils.json_to_sheet(arrayofobjects);
    XLSX.utils.book_append_sheet(wb, ws, 'Test');
    XLSX.writeFile(wb, 'file.xlsx');
};

let arrayofobjects = [
    {
        "00": 4,
        "01": 6,
        "10": 12,
        "11": 7,
    },
    {
        "00": 7,
        "01": 7,
        "10": 4,
        "11": 5,
    }
]

But I am getting output in another order in excel

first I am getting 10,11 later I am getting 00,01

This is what I am expecting

enter image description here

CodePudding user response:

What you are missing is a header array in the desired order.

for instance

// defined array of your headers
const header = ["00", "01", "10", "11"]

// create workbook as usual
const wb = XLSX.utils.book_new();

// here you pass an additional variable called header
const ws = XLSX.utils.json_to_sheet(
    arrayofobjects,
    {header:header}, //you can also use {header} but for simplicity's sake i left it as is
);

  • Related