Hi,
We do have a feature for SwiftRizzo that uses
Dynamicweb.DataIntegration.Providers.ExcelProvider.ExcelReader
After upgrading to 10.17.x, we now find that the class is internal and we cannot access the constructor anymore in our dll.
Here is our method for reference.
public static string GetJsonFromFile(string filePath) { var json = new Dictionary<string, dynamic>(); //Can't access ExcelReader after 10.17.x var excelFile = new Dynamicweb.DataIntegration.Providers.ExcelProvider.ExcelReader(filePath); if (excelFile.ExcelSet != null && excelFile.ExcelSet.Tables.Count > 0) { for (var tableIndex = 0; tableIndex < excelFile.ExcelSet.Tables.Count; tableIndex++) { var tableName = excelFile.ExcelSet.Tables[tableIndex].TableName; if (json.ContainsKey(tableName)) { continue; } var tableJson = new List<Dictionary<string, dynamic>>(); for (var rowIndex = 0; rowIndex < excelFile.ExcelSet.Tables[tableIndex].Rows.Count; rowIndex++) { var rowJson = new Dictionary<string, dynamic>(); for (var columnIndex = 0; columnIndex < excelFile.ExcelSet.Tables[tableIndex].Columns.Count; columnIndex++) { var columnName = excelFile.ExcelSet.Tables[tableIndex].Columns[columnIndex].ColumnName; if (rowJson.ContainsKey(columnName)) { continue; } rowJson.Add(columnName, excelFile.ExcelSet.Tables[tableIndex].Rows[rowIndex].ItemArray[columnIndex]); } tableJson.Add(rowJson); } json.Add(tableName, tableJson); } } return Newtonsoft.Json.JsonConvert.SerializeObject(json); }
Are there any alternatives available since the class is now internal?
Thank you