/// <summary> /// Возвращает массив с данными для импорта /// </summary> /// <param name="fileName">путь к файлу</param> /// <returns></returns> private static object[,] GetData(string fileName) { object[,] dataArr; //TODO здесь должно быть чтение MXL //if (System.IO.Path.GetExtension(fileName).ToLower() == ".mxl") //{ // var curWb = new SpreadsheetDocument(); // curWb.Open(fileName); // var a = curWb.Area(1,1,10,10).Value; // return null; //} //else //{ var curWb = new Microsoft.Office.Interop.Excel.Application().Workbooks.Open(fileName); dynamic curSheet = curWb.Worksheets.Item[1]; var lastRow = curSheet.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell).Row; var lastCol = curSheet.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell).Column; // Считываем лист в массив var range = (Microsoft.Office.Interop.Excel.Range)curSheet.Range[curSheet.Cells[1, 1], curSheet.Cells[lastRow, lastCol]]; dataArr = (object[, ])range.Value; curWb.Close(); //} if (dataArr == null) { throw new Exception("Файл не содержит данных."); } return(dataArr); }