Применить тип String к диапазону Excel - Javascript - PullRequest
1 голос
/ 14 июля 2020

кто-нибудь знает, как применить к двум столбцам свойство type = string вместо date?

Моя проблема в том, что когда пользователь вставляет новую дату, Excel автоматически переводит ее в формат даты (так что в числе ) я хочу заблокировать это поведение для работы с простой строкой.

1 Ответ

0 голосов
/ 15 июля 2020

Даты хранятся в виде целых чисел, представляющих количество дней с 1 января 1900 года, которое хранится как число 1, до 31 декабря 9999 года сохраняется как 2958465.

Итак, когда пользователь вводит 2020/1 / 1, он автоматически преобразуется в 43831, что означает 43831 день после 1900/1/1, причина в том, что Excel преобразует используемый тип в формат даты, поскольку он соответствует формату даты по умолчанию.

введите описание изображения здесь

Если вы хотите изменить это поведение по умолчанию, вы можете использовать range.numberFormat API для предварительной установки ячейки, которую пользователь может захотеть ввести. который преобразует numberFormat используемого диапазона в текст.

  await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Sample");

    const range = sheet.getUsedRange();
    range.numberFormat = '@';
    await context.sync();
  });
...