如何在 js 中从 excel 转换为 json 我有分割线的问题

how to convert to json from excel in js i have prublem with spilt lines

我有 excel 我上传的文件,我正在使用 XLSX 库来做出反应 这是我的 excel my orginal excel

我尝试做类似的事情

item[{
CJ Order Number:14,
Your Order Number:100101,
SKU:{
CJNSXZHL:1,
CJNSX:1},
},
{
CJ Order Number:15,
Your Order Number:100102,
SKU:{
CJNSXZN:1,// 1 is quentity
CJNS:1},
},
{
CJ Order Number:16,
Your Order Number:100103,
SKU:{
CJNSX:1,
CJNS:1},
},
{
CJ Order Number:17,
Your Order Number:100103,
SKU:{
CJNSTX:2
},
}]

但我得到了这样的东西

 [{CJ Order Number: '14',
 Your Order Number: '100101',
 SKU: 'CJNSXZHL',
 CJ Quantity: '1'}

 {SKU: 'CJNSXL',
 CJ Quantity: '1'}]

我的密码是

const [items, setItems] = useState([]);
const readExcel = (file) => {
    const promise = new Promise((resolve, reject) => {
      const fileReader = new FileReader();
      fileReader.readAsArrayBuffer(file);

      fileReader.onload = (e) => {
        const bufferArray = e.target.result;
        const wb = XLSX.read(bufferArray, { type: "buffer" });
        const wsname = wb.SheetNames[0];
        const ws = wb.Sheets[wsname];
        const data = XLSX.utils.sheet_to_json(ws);
        resolve(data);
      };
      fileReader.onerror = (error) => {
        reject(error);
      };
    });

    promise.then((d) => {
      setItems(d);
    });
}

我比较想要购买的产品 我的库存里有吗 可能是一个人订购了 2 个产品,而我只有一个订单号,所以我想知道我是如何通过 Excel 标准的 每一行都是双倍的,他会把它分配给一个人 并且不被视为另一条单独的线 这是一个错误

我用下面的代码解决了这个问题希望它能帮助到更多有困难的人 我继续上面的代码

 const [items, setItems] = useState([]); 
 setItems(d);


let i = 0
 for ( i ; i <= items.length - 1; i++) {
        try {
          if (items[i].Orders) {
                  arr.push({
                            "OrderNumber":items[i].Orders,
                            "Address":items[i].Address,
                            "SKU": [items[i].SKU],
                            "Quantity":[parseInt(items[i].Quantity)],
                            "Province":items[i].Province,
                            "Product_Name":[items[i].Product_Name],
                            "Name":items[i].Name,
                            "City":items[i].City,
                            "ZipCode":items[i].ZipCode,
                            "Phone":(items[i].Phone),
                            
                        });
            } else {
                            arr[arr.length - 1].SKU.push(items[i].SKU);
                            arr[arr.length - 1].Quantity.push(parseInt(items[i].Quantity));
                            arr[arr.length - 1].Product_Name.push(items[i].Product_Name);
        
           }
        
         } catch (err) {
           console.log("err",err);
         }
        }