Форматировать весь столбец таблицы Excel как строку

Я работаю над надстройкой Excel, используя API-интерфейсы JavaScript для создания надстроек в Excel Office 365. Для таблиц Excel, как я могу отформатировать весь столбец, чтобы иметь строки только по умолчанию. [Мне нужно, чтобы числа отображались как 012 вместо 12 во всех ячейках для определенного столбца.]

2 ответа

Решение

Вы можете сначала установить форматирование чисел на текст (установите на @, который является форматом Excel, чтобы сказать, что что-то является текстом), а затем установите значения.

Вот пример Range (таблица будет очень похожа - просто получите диапазон столбца)

try {
    await Excel.run(async (context) => {
        const sheet = context.workbook.worksheets.getActiveWorksheet();
        const range = sheet.getRange("A1:A3");
        range.numberFormat = <any>"@";
        range.values = [
            ["012"],
            ["013"],
            ["014"]
        ];
        await context.sync();
    });
}
catch (error) {
    OfficeHelpers.Utilities.log(error);
}

Приведенный выше пример написан на языке TypeScript, но и там, при желании, преобразование в обычный ES5 JS должно быть тривиальным.

Вы можете попробовать этот фрагмент прямо в пять кликов в новой Script Lab ( https://aka.ms/getscriptlab). Просто установите надстройку Script Lab (бесплатно), затем выберите "Импорт" в меню навигации и используйте следующий URL-адрес GIST: https://gist.github.com/Zlatkovsky/741c3313825df988ac9840289c012440

sheet.getRange("A1:A3") будет форматировать только первые три ячейки.

sheet.getRange ("A: A") даст вам весь столбец A, а не только первые 3 ячейки в столбце A.

Другие вопросы по тегам