public void ReadFromXlsx(string path) { Excel.Application xlApp = new Excel.Application(); var xlWorkBook = xlApp.Workbooks.Open(path, Editable: true); var sheet = (Excel.Worksheet)xlWorkBook.Sheets.Item[1]; var range = sheet.UsedRange; var rowCount = range.Rows.Count; var colCount = range.Columns.Count; int dataCount = rowCount - 1; if (rowCount < 1) { ShowTips(USAGE); return; } Data = new DataMatrix(colCount); AttributesNames = new string[colCount]; for (int i = 1; i <= colCount; i++) { AttributesNames[i - 1] = (range.Cells[1, i] as Excel.Range).Value2; } for (int i = 2; i <= rowCount; i++) { object[] data = new object[colCount]; for (int j = 1; j <= colCount; j++) { data[j - 1] = (range.Cells[i, j] as Excel.Range).Value2;; } Data.AddData(data); } xlWorkBook.Close(); xlApp.Quit(); }