Skip to main content

Локализация документов

Библиотеки Document API по умолчанию работают с документами используя английскую локализацию. Поэтому, при взаимодействии с документом через API, значения могут отличаться от отображаемых в интерфейсе редактора.

Пример получения даты для стандартной локализации​


auto newDocument = application.createDocument(DocumentType::Workbook);
Table sheet = newDocument.getRange().getBegin().insertTable(10, 10, "Sheet1");
CellRange cellRange = sheet.getCellRange("A1");
cellRange.insertCurrentDateTime(DateTimeFormat::DateTime);
Cell cell = sheet.getCell("A1");
std::printf("%s", cell.getFormattedValue().c_str()); // 05/23/2025 10:53 AM

Используйте поле LocaleInfo.localeName, чтобы задать локализацию при открытии или создании документа. Это позволит работать с документами используя локализованные значения.

Пример получения даты для русской локализации​


DocumentSettings settings = DocumentSettings();
settings.documentType = DocumentType::Workbook;
settings.localeInfo = LocaleInfo();
settings.localeInfo.localeName = "ru_RU";

auto newDocument = application.createDocument(settings);
Table sheet = newDocument.getRange().getBegin().insertTable(10, 10, "Лист1");
CellRange cellRange = sheet.getCellRange("A1");
cellRange.insertCurrentDateTime(DateTimeFormat::DateTime);
Cell cell = sheet.getCell("A1");
std::printf("%s", cell.getFormattedValue().c_str()); // 23.05.2025 10:53