Не удается установить NumberFormat с API Excel JavaScript - PullRequest
2 голосов
/ 24 апреля 2020

Я использую API Excel Javascript и после поиска в документах все еще не могу найти решение для того, чего я пытаюсь достичь.

Итак, я хочу, чтобы все было в формате «Текст», чтобы ни одно из автоформатирования Excel не мешало содержимому ячеек (без удаления начальных нулей или изменения форматов даты).

В документах предлагается изменить формат с помощью:

Worksheets("Sheet1").Range("A17").NumberFormat = "General"

Но, похоже, объект листа не содержит метод Range.

Вместо этого я попытался использовать метод getRange для своей таблицы следующим образом:

constructionTable.getRange().NumberFormat = "Text"

Это не выдало никаких ошибок, но, похоже, не помогло что-нибудь.

Форматирование диапазона таблицы ранее работало для таких вещей:

constructionTable.getRange().format.autofitColumns()

Поэтому я также проверил, содержит ли constructionTable.getRange().range.format метод NumberFormat или numberFormat, но это не так :(

У кого-нибудь был такой успех?

1 Ответ

3 голосов
/ 24 апреля 2020

Добро пожаловать в офис JS, Тлютер. Да, рабочий лист не имеет numberFormat API. если вы хотите установить весь лист, вы можете использовать getUsedRange(), чтобы получить диапазон, который использовался в рабочем листе. Вы можете использовать range.numberFormat = '@', чтобы установить его в текст;

Вот пример кода:

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

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

Документ можно найти по адресу здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...