Tengo un archivo de Excel que cargué para reaccionar. Uso la biblioteca XLSX. Este es mi Excel. Mi Excel original.
y trato de hacer algo así
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 }, }]pero tengo algo como esto
[{CJ Order Number: '14', Your Order Number: '100101', SKU: 'CJNSXZHL', CJ Quantity: '1'} {SKU: 'CJNSXL', CJ Quantity: '1'}]mi codigo es
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); }); }comparo productos que quiero comprar los tengo en mi inventario puede ser que una persona haya pedido 2 productos y solo tengo un numero de pedido entonces quiero saber como paso el estandar de excel que cada linea que sea doble lo va a hacer asignarlo a una persona Y no ser tratado como otra línea separada Que es un error
Resolví el problema usando el siguiente código. Espero que ayude a más personas que han tenido dificultades. Continúo con el código anterior.
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); } }