You would of course need some X++ wrappers, but I have learned today that these are actually already created for some Russian localizations.
Check this out:
static void OpenXML_Excel_Demo(Args _args) { Counter c; XMLExcelDocument_RU excelDocument; str templateFilename = @'F:\SomeTemplate.xlsx'; str newFilename = @'F:\OpenXML_Excel_Demo.xlsx'; // Create a new document // This implementation works with template files, so I have just created an empty spreadsheet to act // as template excelDocument = XMLExcelDocument_RU::newFromFile(templateFilename, newFilename); // Create some column headers for (c = 1; c != 10; c++) { excelDocument.insertValue( ComExcelDocument_RU::numToNameCell(c, 1), strFmt("Column %1", c)); } // Close and save the document excelDocument.closeDocument(true); }
Use the cross reference tool to see more usage of this in AX.