#javascript #node.js #npm #xlsx
#javascript #node.js #npm #xlsx
Вопрос:
Я использую npm i xlsx для чтения файла xlsx. итак, мои вопросы здесь… в моем листе xlsx я указал стандартную индийскую дату (ДД / ММ / ГГГГ), например, 24/09/2020, поэтому она дает то же значение … если я дам 03/09/2020, это даст номер 43898, подобный этому. установите cellDates:true это дает 2020-03-09T00:00:00.000Z, поэтому здесь дата принимается за месяц.. Я не хочу этого.я хочу ту же строку 03 /09/2020 .. мой код здесь
var sheet_name_list = workbook.SheetNames;
var wSheet = workbook.Sheets[sheet_name_list[0]];
let xlsxDate = XLSX.utils.sheet_to_json(wSheet, { "defval": null, raw: true });
xlsxDate.forEach(function (val, index) {
console.log(val)
})
Ответ №1:
Формат даты в Excel немного отличается. Когда вы вводите значение даты, например «08.09.2020», оно преобразует его в число (например, 43898). Когда вы записываете значение даты в Excel, оно вычислит, сколько дней прошло с 01.01.1900 до заданной даты.
Таким образом, полученное число (43898) — это просто количество дней, прошедших между 01.01.1900 и 09.09.2020.
Отредактируйте свой метод sheet_to_json следующим образом:
XLSX.utils.sheet_to_json(wSheet,{"defval": null, raw:true, dateNF "dd/mm/yyyy"})
В основном вам нужно добавить dateNF : "dd/mm/yyyy"
в свои параметры объект.