We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

This spreadsheet used to work in Not anymore in 8.3.0


To reproduce in 8.3.0 run this code in a project with version 8.3.0 of your library:

private static void TestEmbeddedDocs()
Workbook workbook = new Workbook(@“C:\temp\spreadsheets\test_embedded_docs.xlsx”);
Worksheet worksheet = workbook.Worksheets[0];
IList shapes = new List();
foreach (Shape shape in worksheet.Shapes)
foreach (Shape shape in shapes.OrderBy(s => s.Name))
Console.WriteLine(“Shape {0} r: {1} c: {2}”, shape.Name, shape.UpperLeftRow, shape.UpperLeftColumn);

It bombs with:

Additional information: Item has already been added. Key in dictionary: ’ s1302’ Key being added: ’ s1302’

System.ArgumentException was unhandled
Message=Item has already been added. Key in dictionary: ’
at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)
at System.Collections.Hashtable.Add(Object key, Object value)
at . . ( , Shape )
at . . ( , Int32 )
at . . ( , Int32 , Boolean )
at . . ( , Int32 , Boolean )
at . .Read()
at . . ( , String )
at . . ( , String )
at . . ()
at . .Read()
at . . (Workbook , LoadOptions )
at Aspose.Cells.Workbook. (Stream , LoadOptions , Boolean )
at Aspose.Cells.Workbook. (String , LoadOptions )
at Aspose.Cells.Workbook…ctor(String file)
at TestAspose.Program.TestEmbeddedDocs() in c:\projects\csharp\TestAspose\Program.cs:line 126
at TestAspose.Program.Main(String[] args) in c:\projects\csharp\TestAspose\Program.cs:line 118
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Next, attach version of your library and re-run it. This time it will work and it will show all the objects.

So, something has been changed in version 8.3.0 that broke the code.

I posted a while ago another message about this, I don’t know how your software development process is, but can you please try not to break existing stuff at least between minor versions?! We are at version 8 now and this software should be extremely stable. Yet, there is always something. Upgrading to a new version becomes a nightmare instead of being an opportunity of happiness at the thought that we are going to use a better version.

I started to dread the upgrade time. I have hundreds of spreadsheets that I have to test and there is also the issue of having private data. It takes a lot of time to do it properly.

I would think that by now you should have tens of thousands of test cases.

This should not happen. If it works in Excel it should work in Aspose. Don’t you think?


Hi Costa,

Thank you for contacting Aspose support.

We have evaluated the presented scenario while using the latest version of Aspose.Cells for .NET, and we are able to replicate the said exception while loading the provided spreadsheet in an instance of Aspose.Cells.Workbook. We have logged the problem in our bug tracking system under the ticket CELLSNET-43208 for further investigation.

Regarding your concerns about the stability of the Aspose.Cells APIs, we have extensive testing mechanism to ensure that the existing functionality does not break with next releases. In reference to this issue, we first need to isolate the problem cause then we will be in a better position to comment what was changed between the versions to trigger this problem. Please spare us little time to isolate the problem cause, and to provide the fix at earliest possible. In the meanwhile, we will keep you posted with updates in this regard.

Sounds very good. I wanted to add that I meant something has changed between version and 8.3.0 not necessarily in version 8.3.0 exactly.

The spreadsheet is also weird in the sense that there are a lot of hidden duplicate objects and I think that’s what aspose chokes on.



Thanks for your using Aspose.Cells.

Please download and try the latest fix: Aspose.Cells for .NET v8.3.0.4 and let us know your feedback.

The issues you have found earlier (filed as CELLSNET-43208) have been fixed in this update.

This message was posted using Notification2Forum from Downloads module by Aspose Notifier.