Надстройка Excel 2016 как изменить формат столбца

У меня есть надстройка Excel 2016, и я хотел бы установить формат для пары столбцов на дату (формат мм-дд-гггг) и центрировать пару столбцов. Как я могу сделать это в модели JavaScript Excel 2016?

Также я понимаю, что модель офиса на 2016 год не позволяет изменять ширину столбца. У кого-нибудь есть работа для этого?

Спасибо, Джордж


person gihuey    schedule 19.03.2016    source источник
comment
Columns(1).ColumnWidth=30 работает нормально с использованием VBA.   -  person Ron Rosenfeld    schedule 20.03.2016
comment
Верно, но насколько я вижу/понимаю, объектная модель Excel 2016 не поддерживает ColumnWidth. Мой код выглядит так: var column = recordSheet.getCell(1, 2).getEntireColumn(); столбец.ColumnWidth = 80; // ничего не делает, но ColumnWidth не определен. Если уж на то пошло, я думаю, что смогу сделать что-то вроде этого: var column = recordSheet.getEntireColumn(2); но getEntireColumn не существует для рабочих листов. Я также понимаю, что Excel 2016 поддерживает только javascript, а не VBA. Спасибо, Джордж   -  person gihuey    schedule 22.03.2016
comment
Excel 2016 поддерживает VBA. Код, который я разместил, - это VBA. Но я не могу помочь вам с JavaScript.   -  person Ron Rosenfeld    schedule 22.03.2016
comment
Я не вижу ширину столбца в документации JS/Excel. Но разве это не работает? Как управлять размером столбца Excel в Javascript   -  person Ron Rosenfeld    schedule 22.03.2016
comment
Привет, Рон, я так надеялся на последнюю ссылку, но она не работает. Синтаксис кажется совершенно другим (например, вместо Cells вам нужно сделать getRange. Но как только я получаю диапазон ячеек, где нет метода ColumnWidth. Спасибо, Джордж   -  person gihuey    schedule 22.03.2016
comment
Вам нужен кто-то, кто разбирается в JS, чтобы помочь. Я удивлен, что вы не можете заставить его работать в JS, поскольку он явно работает в VBA с Excel 2016.   -  person Ron Rosenfeld    schedule 22.03.2016


Ответы (1)


Функция, которая устанавливает ширину столбца, формат даты и центрирует значения в Typescript:

columnFormatExampleFunction(ctx: Excel.RequestContext):void {
    var sheet: Excel.Worksheet = ctx.workbook.worksheets.getActiveWorksheet();
    var range: Excel.Range = sheet.getRange("B:B");
    range.numberFormat = [["mm-dd-yyyy"]];
    range.format.columnWidth = 150;
    range.format.horizontalAlignment = "Center";
}    
person Danny122    schedule 27.05.2017