Вроде не чего сложного в считывании значений из 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*/);
Мне помогло, надеюсь и вам полезно окажется.
Комментариев нет:
Отправить комментарий