Этот пример создан для чтения файла excel в консольным приложением C#.
Используя пространство имен Excel в C#, мы можем загрузить или открыть файл Excel и прочитать листы ячеек.
Шаг 1: Мы должны ссылаться на пространство имен Excel для проекта. Для этого добавим ссылку на Com объект.
Шаг 2: Добавим пространство имен;
1 |
using Microsoft.Office.Interop.Excel; |
Шаг 3: создание ссылок на COM-объекты и проверка наличия программы Excel
1 2 3 4 5 6 7 8 9 |
//Create COM Objects. Application excelApp = new Application(); if (excelApp == null) { Console.WriteLine("Excel is not installed!!"); return; } |
Шаг 4: создание книги, страниц и переменных диапазона
1 2 3 |
Workbook excelBook = excelApp.Workbooks.Open(@"E:\readExample.xlsx"); _Worksheet excelSheet = excelBook.Sheets[1]; Range excelRange = excelSheet.UsedRange; |
Шаг 5: вычисление строк и колонок.
1 2 |
int rowCount = excelRange.Rows.Count; int colCount = excelRange.Columns.Count; |
Шаг 7: завершаем работу приложения
1 2 3 4 5 |
//after reading, relaase the excel project excelApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp); Console.ReadLine(); |
Исходный код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Office.Interop.Excel; namespace Пример_приложения_чтение_данных_из_Excel_Console { //dont forget -- using Microsoft.Office.Interop.Excel; class Program { static void Main(string[] args) { //Create COM Objects. Application excelApp = new Application(); if (excelApp == null) { Console.WriteLine("Excel is not installed!!"); return; } Workbook excelBook = excelApp.Workbooks.Open(@"D:\readExample.xlsx"); _Worksheet excelSheet = excelBook.Sheets[1]; Range excelRange = excelSheet.UsedRange; int rows = excelRange.Rows.Count; int cols = excelRange.Columns.Count; for (int i = 1; i <= rows; i++) { //create new line Console.Write("\r\n"); for (int j = 1; j <= cols; j++) { //write the console if (excelRange.Cells[i, j] != null && excelRange.Cells[i, j].Value2 != null) Console.Write(excelRange.Cells[i, j].Value2.ToString() + "\t"); } } //after reading, relaase the excel project excelApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp); Console.ReadLine(); } } } |