Метод 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