Вроде не чего сложного в считывании значений из Excel документа нет, делаю я это так.
1: 2: excelappworkbooks = excelapp.Workbooks;3: excelappworkbook = excelappworkbooks["file.xlsx"];
4: 5: try
6: {7: excelappworkbook.SaveAs(@"D:\new_file.xlsx",
8: Excel.XlFileFormat.xlOpenXMLWorkbook, 9: Type.Missing, Type.Missing, Type.Missing, Type.Missing, 10: Excel.XlSaveAsAccessMode.xlNoChange, 11: Type.Missing, Type.Missing, Type.Missing, Type.Missing, 12: Type.Missing); 13: }14: catch (Exception ex)
15: { 16: listBox1.Items.Add(ex.Message); 17: }Открыли документ. Тепер читаем.
1: 2: excelsheets = excelappworkbook.Worksheets;3: excelworksheet = (Excel.Worksheet)excelsheets.get_Item("Лист1");
4: excelcells = excelworksheet.get_Range("A1", "A1");
5: new_var = excelworksheet.get_Range("B1", "B1");
6: dataGridView1.Rows.Add(Convert.ToString(excelcells­.Value2),Convert.ToString(new_var.Value2));А вот с чтением даты у меня возникли заморочки, ексель возвращает дату как double.
Потом умные люди подсказали что из double можно получить DateTime используя вот такое преобразование:
var dt = DateTime.FromOADate(/*Дата как double*/);
Мне помогло, надеюсь и вам полезно окажется.