Copy Theme from one Workbook to Another

Copy Theme from one Workbook to Another

The following sample code shows how to copy theme from one workbook into another workbook. The code is useful to apply built-in or custom themes. Just create your desired theme (it could be a built-in theme or you may customize it) in your template file using Microsoft Excel and then copy it to your source workbook using the following code.

Sample Code

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
//Source directory path
U16String dirPath(u"..\\Data\\TechnicalArticles\\");
//Output directory path
U16String outPath(u"..\\Data\\Output\\");
//Paths of source and output excel files
U16String damaskPath = dirPath + u"DamaskTheme.xlsx";
U16String sampleCopyThemeFromOneWorkbookToAnother = dirPath + u"sampleCopyThemeFromOneWorkbookToAnother.xlsx";
U16String outputCopyThemeFromOneWorkbookToAnother = outPath + u"outputCopyThemeFromOneWorkbookToAnother.xlsx";
//Read excel file that has Damask theme applied on it
Workbook damask(damaskPath);
//Read your sample excel file
Workbook wb(sampleCopyThemeFromOneWorkbookToAnother);
//Copy theme from source file
wb.CopyTheme(damask);
//Save the workbook in xlsx format
wb.Save(outputCopyThemeFromOneWorkbookToAnother, SaveFormat::Xlsx);
Aspose::Cells::Cleanup();