I use v.6.0.17.
I. Workbook.Combine() method copies worksheets from one workbook to another but I found that it does not preserve worksheets' page setup so I have to manually copy it for each sheet, property by property (and using methods like .GetEvenFooter() and .SetEvenFooter()) as the PageSetup property is read-only. It's a very unconvenient approach:
targetSheet.PageSetup.BlackAndWhite = sourcePageSetup.BlackAndWhite;
targetSheet.PageSetup.BottomMargin = sourcePageSetup.BottomMargin;
s = sourcePageSetup.GetEvenFooter(0);
if (s != null)
I think that .Combine() method should do this job.
II. Another issue is with Header/Footer picture methods:
Aspose.Cells.Drawing.Picture p = sourcePageSetup.GetPicture(false, 0);
SetFooterPicture() uses only binary data and does not set the picture properties (like Height, Width etc). I have to set it manually again.
In this scenario, I set up a footer picture (Page Layout/Print Titles-> Header/Footer tab in Excel 2010) for wb2.Worksheets["S1"], then combine another workbook with this one wb1.Combine(wb2) and copy PageSetup property as I described above for each worksheet. As a result, print preview in Excel looks different for the same sheet in combined wb1 and in the original wb2 - size of the pictures are different.