У нас есть требование, когда нам нужно загрузить лист Excel, в котором даты указаны в качестве значений. Даты должны быть отформатированы в формате «мм/дд/гггг». В Excel есть эта опция, использующая формат ячеек и выбирающая дату из категорий. Но как его установить перед записью данных в файл xlsx? Мы пытались использовать свойство ['z'] объекта рабочего листа, но это создает настраиваемый формат, который вызывает проблемы при загрузке того же файла с изменениями.
Установка формата даты в Sheetjs при создании листа
comment
Итак, вы хотите, чтобы он был отформатирован как значение, но также хотите / в поле, это не имеет смысла. Зачем вам в качестве ценностей?
- person Daghan   schedule 02.12.2019
Ответы (1)
Вот пример написания excel с датой форматирование
data: any = [
{
eid: "e101",
ename: "ravi",
date: "02/02/2011"
},
{
eid: "e102",
ename: "ram",
date: "02/02/2014"
},
{
eid: "e103",
ename: "rajesh",
date: "02/02/2016"
}
];
constructor(private excelService: ExcelService) {
this.data[0].date = this.getDate();
}
exportAsXLSX(): void {
this.excelService.exportAsExcelFile(this.data, "sample");
}
getDate(): string {
var today = new Date();
let dd = today.getDate();
let mm = today.getMonth() + 1; //January is 0!
let nmm, ndd;
var yyyy = today.getFullYear();
if (dd < 10) {
ndd = "0" + dd;
}
if (mm < 10) {
nmm = "0" + mm;
}
return dd + "/" + mm + "/" + yyyy;
}
person
Chanaka Weerasinghe
schedule
02.12.2019
Спасибо за ответ, Чанака, но это все еще не решение. Когда выбрана ячейка с датой, она форматируется как строка, а не как дата в примере stackblitz. Мы можем установить значение как дату, изменив свойства «z», «w» и «t», прокручивая рабочий лист. Делая это, несмотря на то, что ячейка отображается в формате мм/дд/гггг (пример 27.05.2020). :10 AM в формате дд/мм/гггг чч:мм:сс вместо мм/дд/гггг.
- person Amit; 04.12.2019