Я в настоящее время работаю над проектом, где я читаю файл Excel с row By Data Data. Вот текущий код < /p>
const handleFileUpload = async (e) => {
// converting excel date value
const excelEpoch = 25568;
const millisecondsInDay = 86400000;
const jsTime = (jsonData[7][6] - excelEpoch) * millisecondsInDay;
const date = new Date(jsTime);
const file = e.target.files[0];
setFileName(file.name);
const data = await file.arrayBuffer();
const workbook = XLSX.read(data);
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
console.log(worksheet);
const jsonData = XLSX.utils.sheet_to_json(worksheet, {
header: 1,
defval: "",
});
let waterExcel = []
let elecExcel = []
let gasExcel = []
console.log(jsonData);
const waterUnits = jsonData[6][2].toLowerCase();
const gasUnits = jsonData[6][9].toLowerCase();
const elecUnits = jsonData[6][14].toLowerCase();
const demandUnits = jsonData[6][16].toLowerCase();
for (var i = 7; i < jsonData.length; i++){
let waterCost;
if (jsonData[3] != ""){waterCost=jsonData[3]}else{waterCost=0}
let wasteWater;
if (jsonData[4] != ""){wasteWater=jsonData[4]}else{wasteWater=0}
let wasteWaterCost;
if (jsonData[5] != ""){wasteWaterCost=jsonData[3]}else{wasteWaterCost=0}
//water payload
if (jsonData[1] != "" && jsonData[2] != "") {
const payload = {
site_id: site_id,
units: waterUnits,
total_water: parseFloat(jsonData[2]),
water_cost: parseFloat(waterCost),
total_wastewater: parseFloat(wasteWater),
wastewater_cost: parseFloat(wasteWaterCost),
total_bill_cost: parseFloat(jsonData[1]),
//month: parseInt(month),
//year: parseInt(year),
// start_date: "2025-04-01",
// end_date: "2025-05-02",
};
waterExcel.push(payload)
}
//gas payload
let gasCost;
if (jsonData[i][10] != ""){gasCost=jsonData[i][10]}else{gasCost=0}
if (jsonData[i][8] != "" && jsonData[i][9] != "") {
const payload = {
site_id: site_id,
gas_units:gasUnits,
total_gas: parseFloat(jsonData[i][9]),
gas_cost: parseFloat(gasCost),
total_bill_cost: parseFloat(jsonData[i][8]),
// month: parseInt(month),
// year: parseInt(year),
// start_date: "2024-04-01",
// end_date: "2024-05-02",
};
gasExcel.push(payload)
}
// electricity payload
let elecCost;
if (jsonData[i][15] != ""){elecCost=jsonData[i][15]}else{elecCost=0}
let demandCost;
if (jsonData[i][17] != ""){demandCost=jsonData[i][17]}else{demandCost=0}
let globalAdjust;
if (jsonData[i][18] != ""){globalAdjust=jsonData[i][18]}else{globalAdjust=0}
if (jsonData[i][13] != "" && jsonData[i][14] != "" && jsonData[i][16] != "") {
const payload = {
site_id: site_id,
electricity_units: elecUnits,
total_electricity: parseFloat(jsonData[i][14]),
electricity_cost: parseFloat(elecCost),
demand_units: demandUnits,
total_demand: parseFloat(jsonData[i][16]),
demand_cost: parseFloat(demandCost),
total_bill_cost: parseFloat(jsonData[i][13]),
global_adjustment: parseFloat(globalAdjust),
// month: parseInt(month),
// year: parseInt(year),
// start_date: "2024-04-01",
// end_date: "2024-05-02",
};
elecExcel.push(payload)
}
}
console.log("water payloads")
console.log(waterExcel);
console.log("gas payloads")
console.log(gasExcel);
console.log("electricity payloads")
console.log(elecExcel);
}
< /code>
И вывод выходит, как и ожидается с 3 различными полезными нагрузками. Однако я пытаюсь реструктурировать полезную нагрузку так, чтобы она была более похожа на этот
, где месяц-годовой "Mar-2024"-первая столбца из листовой состицы. Я не уверен, как это сделать, любая помощь будет оценена. Вот пример электронной таблицы Excel
Подробнее здесь: https://stackoverflow.com/questions/796 ... -a-payload
Взять строки по данным строк из Excel и поместив их в полезную нагрузку ⇐ Javascript
Форум по Javascript
1748449354
Anonymous
Я в настоящее время работаю над проектом, где я читаю файл Excel с row By Data Data. Вот текущий код < /p>
const handleFileUpload = async (e) => {
// converting excel date value
const excelEpoch = 25568;
const millisecondsInDay = 86400000;
const jsTime = (jsonData[7][6] - excelEpoch) * millisecondsInDay;
const date = new Date(jsTime);
const file = e.target.files[0];
setFileName(file.name);
const data = await file.arrayBuffer();
const workbook = XLSX.read(data);
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
console.log(worksheet);
const jsonData = XLSX.utils.sheet_to_json(worksheet, {
header: 1,
defval: "",
});
let waterExcel = []
let elecExcel = []
let gasExcel = []
console.log(jsonData);
const waterUnits = jsonData[6][2].toLowerCase();
const gasUnits = jsonData[6][9].toLowerCase();
const elecUnits = jsonData[6][14].toLowerCase();
const demandUnits = jsonData[6][16].toLowerCase();
for (var i = 7; i < jsonData.length; i++){
let waterCost;
if (jsonData[i][3] != ""){waterCost=jsonData[i][3]}else{waterCost=0}
let wasteWater;
if (jsonData[i][4] != ""){wasteWater=jsonData[i][4]}else{wasteWater=0}
let wasteWaterCost;
if (jsonData[i][5] != ""){wasteWaterCost=jsonData[i][3]}else{wasteWaterCost=0}
//water payload
if (jsonData[i][1] != "" && jsonData[i][2] != "") {
const payload = {
site_id: site_id,
units: waterUnits,
total_water: parseFloat(jsonData[i][2]),
water_cost: parseFloat(waterCost),
total_wastewater: parseFloat(wasteWater),
wastewater_cost: parseFloat(wasteWaterCost),
total_bill_cost: parseFloat(jsonData[i][1]),
//month: parseInt(month),
//year: parseInt(year),
// start_date: "2025-04-01",
// end_date: "2025-05-02",
};
waterExcel.push(payload)
}
//gas payload
let gasCost;
if (jsonData[i][10] != ""){gasCost=jsonData[i][10]}else{gasCost=0}
if (jsonData[i][8] != "" && jsonData[i][9] != "") {
const payload = {
site_id: site_id,
gas_units:gasUnits,
total_gas: parseFloat(jsonData[i][9]),
gas_cost: parseFloat(gasCost),
total_bill_cost: parseFloat(jsonData[i][8]),
// month: parseInt(month),
// year: parseInt(year),
// start_date: "2024-04-01",
// end_date: "2024-05-02",
};
gasExcel.push(payload)
}
// electricity payload
let elecCost;
if (jsonData[i][15] != ""){elecCost=jsonData[i][15]}else{elecCost=0}
let demandCost;
if (jsonData[i][17] != ""){demandCost=jsonData[i][17]}else{demandCost=0}
let globalAdjust;
if (jsonData[i][18] != ""){globalAdjust=jsonData[i][18]}else{globalAdjust=0}
if (jsonData[i][13] != "" && jsonData[i][14] != "" && jsonData[i][16] != "") {
const payload = {
site_id: site_id,
electricity_units: elecUnits,
total_electricity: parseFloat(jsonData[i][14]),
electricity_cost: parseFloat(elecCost),
demand_units: demandUnits,
total_demand: parseFloat(jsonData[i][16]),
demand_cost: parseFloat(demandCost),
total_bill_cost: parseFloat(jsonData[i][13]),
global_adjustment: parseFloat(globalAdjust),
// month: parseInt(month),
// year: parseInt(year),
// start_date: "2024-04-01",
// end_date: "2024-05-02",
};
elecExcel.push(payload)
}
}
console.log("water payloads")
console.log(waterExcel);
console.log("gas payloads")
console.log(gasExcel);
console.log("electricity payloads")
console.log(elecExcel);
}
< /code>
И вывод выходит, как и ожидается с 3 различными полезными нагрузками. Однако я пытаюсь реструктурировать полезную нагрузку так, чтобы она была более похожа на этот
, где месяц-годовой "Mar-2024"-первая столбца из листовой состицы. Я не уверен, как это сделать, любая помощь будет оценена. Вот пример электронной таблицы Excel
Подробнее здесь: [url]https://stackoverflow.com/questions/79642637/taking-row-by-row-data-from-excel-and-putting-it-in-a-payload[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия