Skip to main content

Метод Cell::setFormat

Метод устанавливает формат ячейки. Существуют несколько вариантов использования метода.

Варианты вызова метода​


setFormat(cellFormat)

Где cellFormat – формат ячейки типа CellFormat.


setFormat(accountingCellFormatting)

Где accountingCellFormatting – формат ячейки типа AccountingCellFormatting.


setFormat(percentageCellFormatting)

Где percentageCellFormatting – формат ячейки типа PercentageCellFormatting.


setFormat(numberCellFormatting)

Где numberCellFormatting – формат ячейки типа NumberCellFormatting.


setFormat(currencyCellFormatting)

Где currencyCellFormatting – формат ячейки типа CurrencyCellFormatting.


setFormat(dateTimeCellFormatting, typeFormat)

Где dateTimeCellFormatting – формат ячейки типа DateTimeCellFormatting, typeFormat - формат даты/времени типа CellFormat.


setFormat(fractionCellFormatting)

Где fractionCellFormatting – формат ячейки типа FractionCellFormatting.


setFormat(scientificCellFormatting)

Где scientificCellFormatting – формат ячейки типа ScientificCellFormatting.

Примеры использования​


Table firstSheet = document.getBlocks().getTable(0).get();
Cell cell = firstSheet.getCell("A1");
cell.setNumber(2.3);

// Формат : Общий
cell.setFormat(CellFormat::General);
std::printf("General format: %d", cell.getFormat()); // 0
std::printf("Value: %d", cell.getRange().extractText().c_str()); // 2,3

// Формат : Процентный
PercentageCellFormatting percentageCellFormatting = PercentageCellFormatting();
percentageCellFormatting.decimalPlaces = 1;
cell.setFormat(percentageCellFormatting);
std::printf("Percentage format: %d", cell.getFormat()); // 1
std::printf("Value: %d", cell.getRange().extractText().c_str()); // 230,0%

// Формат : Числовой
NumberCellFormatting numberCellFormatting = NumberCellFormatting();
numberCellFormatting.decimalPlaces = 2;
cell.setFormat(numberCellFormatting);
std::printf("Numeric format: %d", cell.getFormat()); // 2
std::printf("Value: %d", cell.getRange().extractText().c_str()); // 2,30

// Формат : Денежный
CurrencyCellFormatting currencyCellFormatting = CurrencyCellFormatting();
currencyCellFormatting.symbol = "$";
cell.setFormat(currencyCellFormatting);
std::printf("Currency format: %d", cell.getFormat()); // 4
std::printf("Value: %d", cell.getRange().extractText().c_str()); // 2,30$

// Формат : Финансовый
AccountingCellFormatting accountingCellFormatting = AccountingCellFormatting();
accountingCellFormatting.symbol = "₽";
cell.setFormat(accountingCellFormatting);
std::printf("Accounting format: %d", cell.getFormat()); // 5
std::printf("Value: %d", cell.getRange().extractText().c_str()); // 2,30₽

// Формат : Дата / Время
DateTimeCellFormatting dateTimeCellFormatting = DateTimeCellFormatting();
dateTimeCellFormatting.dateListID = DatePatterns::FullDate;
dateTimeCellFormatting.timeListID = TimePatterns::ShortTime;
cell.setFormat(dateTimeCellFormatting);
std::printf("Date / time format: %d", cell.getFormat()); // 8
std::printf("Value: %d", cell.getRange().extractText().c_str()); // понедельник, 1 января 1900 г. 7 : 12

// Формат : Дробный
FractionCellFormatting fractionCellFormatting = FractionCellFormatting();
fractionCellFormatting.minNumeratorDigits = 2;
cell.setFormat(fractionCellFormatting);
std::printf("Fraction format: %d", cell.getFormat()); // 9
std::printf("Value: %d", cell.getRange().extractText().c_str()); // 2 2 / 7

// Формат : Научный
ScientificCellFormatting cellFormatting = ScientificCellFormatting();
cellFormatting.decimalPlaces = 5;
cell.setFormat(cellFormatting);
std::printf("Scientific format: %d", cell.getFormat()); // 10
std::printf("Value: %d", cell.getRange().extractText().c_str()); // 2, 30000E+00