Hello,
I'm receiving a "Value cannot be null. Parameter name: key" error when saving an Excel workbook. I've pretty much stripped everything out of the workbook and I've narrowed it down to the attached example file.
To duplicate this, just run the following code on the attached file:
Workbook workbook = Workbook.Load(@"C:\buggedspreadsheet.xlsx");
workbook.Worksheets[1].Rows.Remove(2);
workbook.Save(@"C:\Users\Paul\Downloads\new.xlsx");
This is a critical issue for us as we've built a process around the Infragistics Excel functionality that needs to run everyday. We have multiple worksheets that this started happening in, and I'm unable to track down the underlying problem. Please provide more information on this error.
Thanks,
Paul
I recommend downloading 18.1 and testing with the same excel file to see if this has already been addressed. If it hasn't, we need an excel file that we can use to reproduce the issue so that we can look into what is happening.
Note that you should post in the Ultimate UI for Windows Forms forum rather than the Ignite UI for JavaScript forum for questions on the Windows Forms toolset.
We have similar issue with following code which we use to convert .xls to .xlsx. It fails to convert some of the files. Is this the known issue in Vol 13.1 for WinForms?
public static void ConvertXLStoXLSX(string oldFile, string newFile) { var formatt = Infragistics.Documents.Excel.Workbook.GetWorkbookFormat(oldFile); Workbook wb = Infragistics.Documents.Excel.Workbook.Load(oldFile); wb.SetCurrentFormat(WorkbookFormat.Excel2007); wb.Save(newFile); }
Here is the stack trace.
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key) at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value) at Infragistics.Documents.Excel.Serialization.WorkbookReferenceBase.GetScopeDictionary(String name) at Infragistics.Documents.Excel.Serialization.WorkbookReferenceBase.GetNamedReference(String name, Object scope, Boolean createIfNotPresent) at Infragistics.Documents.Excel.Formula.InitializeSerializationManagerVisitor.RetainNamedReference(NamedReferenceBase& namedReferenceBase) at Infragistics.Documents.Excel.Formula.InitializeSerializationManagerVisitor.VisitNameToken(NameToken token) at Infragistics.Documents.Excel.FormulaUtilities.Tokens.NameToken.Accept(FormulaTokenVisitor visitor) at Infragistics.Documents.Excel.FormulaUtilities.Tokens.FormulaTokenVisitor.VisitAll() at Infragistics.Documents.Excel.Formula.InitializeSerializationManager(WorkbookSerializationManager manager, Worksheet owningWorksheet) at Infragistics.Documents.Excel.Serialization.WorkbookSerializationManager.InitializeReferencesHelper.FormulaCallback(Worksheet owningWorksheet, Formula formula) at Infragistics.Documents.Excel.Workbook.IterateFormulas(IEnumerable`1 namedReferences, IterateFormulasCallback callback) at Infragistics.Documents.Excel.Serialization.WorkbookSerializationManager.InitializeReferences() at Infragistics.Documents.Excel.Serialization.Excel2007.Excel2007WorkbookSerializationManager.InitializeReferences() at Infragistics.Documents.Excel.Serialization.WorkbookSerializationManager.Save() at Infragistics.Documents.Excel.Workbook.SaveXLSXFile(Stream stream, IPackageFactory packageFactory) at Infragistics.Documents.Excel.Workbook.SaveHelper(Stream stream, IPackageFactory packageFactory) at Infragistics.Documents.Excel.Workbook.Save(String fileName, IPackageFactory packageFactory) at Infragistics.Documents.Excel.Workbook.Save(String fileName)
Any Suggestions?
I've already mentioned in the second post that I am using version 2015.1.2112.
The link you provided does not use the code snippet I provided, so it is useless for duplicating the problem. Please use the following (the paths can be changed, but the middle line must be run to duplicate this):
I loaded the file with our online sample Save/Load Excel files, and everything was okay. You can try it yourself from the hyperlink below:
https://ko.infragistics.com/samples/aspnet/infragistics-excel/save-load-excel-files
Could you please let me know what is the version of our product that you are using.
Yes, that is the file where the bug occurs. Please use the code I provided (Remove that exact line only) with that exact file (don't make any changes to the file). The error should occur even though there is not much in the file. This was one of the points I made in my original post. I removed most information from the file to try to determine what the issue was. The file I've provided is a bare-bones example where the issue duplicates. The error is very non-descriptive and I wish I could provide you more information, but I cannot.
Please let me know if you are able to re-create the error with the code and the file I provided.