Chart not updated in embedded Excel in Excel 2007

I have attached a presentation with embedded excel which has a chart in it. When the chart is activated and the values in the cells of the tables is changed, and then the excal is saved using Ctrl+S option, then -

In Excel 2003 - the chart gets updated with the new values.

In Excel 2007 - the chart does not get updated, until the file is closed and opened again and the chart is activated again.

I tried to create the chart in Excel directly (without embedding it in powerpoint), and checked that on changng the values in the cells, the chart gets updated automatically.

Please let me what is the issue.

Hi,

Thanks for providing us the template .ppt file containing the chart.

Well, we tried to change the values in “C22” cell (after clicking on the chart in the slide) and the chart gets changed in both MS Excel 2003 and 2007. Don’t you get the similar results? Moreover, as the major unit of the value axis is automatic, MS Excel uses a very big value as the major unit of y axis, so, when you change the values in some other cells e.g B22:B24 and C23 etc. you could not see any change at all.


Thank you.


I understand what you are saying about the values. But when the values are comparabel and we try to change the values, they reflect immediately when Excel 2003 is set as default on the system, but when Excel 2007 is set as default on a system, then the chart does not get updated.

Can you test on a system where only Excel 2007 is installed and not Excel 2003

Hi,

Thanks for further feedback.

OK, we will try to test your issue on a system where only MS Excel 2007 should be installed. We will get back to you soon.

Thank you.

Hi,

We find it was caused by the setting of your template file. The calculate mode of the workbook is not automatic which should be. You may set it in MS Excel 2007 and with the settings i.e…, “Office button”(in the upper-left corner)->“Excel options”->“Formulas”->“Workbook Calculation”-> (Selected) “Automatic”. If the file is created in MS Excel 2003,“Tools”->“Options”->“Calculations”->“Calculation”-> (Selected) "Automatic"

If the file is created by Aspose.Cells, please call Workbook.CalcMode = CalcModeType.Automatic before saving the workbook as xls file.

Presentation pres = new Presentation(@“F:\FileTemp\Live+Chart.ppt”);
//Presentation pres = new Presentation();

Slide fstSlide = pres.GetSlideByPosition(1);
Slide slide = pres.Slides[0];
Console.WriteLine(slide.Shapes.Count);
for (int i = 0; i < slide.Shapes.Count; i++)
{
Aspose.Slides.Shape shape = slide.Shapes[i];
if (shape is Aspose.Slides.OleObjectFrame)
{
OleObjectFrame chartoof = (OleObjectFrame)slide.Shapes[i];

if (chartoof != null)
{

byte[] objectData = chartoof.ObjectData;
MemoryStream ms = new MemoryStream(objectData);
Workbook workbook = new Workbook();
workbook.Open(ms);
workbook.CalcMode = CalcModeType.Automatic;
ms = workbook.SaveToStream();
chartoof.ObjectData = ms.ToArray();
}
}
}
pres.Write(@“F:\FileTemp\dest.ppt”);



Thank you.