22 апреля 2011 г.

C# чтение и запись в Excel без использования COM

Недавно наткнулся на отличную библиотеку с помощь которой можно писать и читать Excel-файлы без необходимости в установленном Microsoft Excel.
Имя ей - excellibrary. Распространяется под лицензией GNU Lesser GPL, т.е. бесплатна для использования в абсолютно любых целях. В настоящее время реализована поддержка только XLS формата.Рассмотрим простой пример использования:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using ExcelLibrary.SpreadSheet;  
  6.   
  7.   
  8. namespace c_exel  
  9. {  
  10.     class Program  
  11.     {  
  12.         static void Main(string[] args)  
  13.         {  
  14.             //создание файла  
  15.             string file = "C:\\newdoc.xls";  
  16.             Workbook workbook = new Workbook();  
  17.             Worksheet worksheet = new Worksheet("Первый Лист");  
  18.             worksheet.Cells[0, 0] = new Cell("Привет!!");  
  19.             workbook.Worksheets.Add(worksheet);  
  20.             workbook.Save(file);  
  21.             //чтение файла  
  22.   
  23.             Workbook book = Workbook.Load(file);  
  24.             Worksheet sheet = book.Worksheets[0];  
  25.             System.Console.WriteLine(sheet.Cells[0, 0]);  
  26.         }  
  27.     }  
  28. }  
В результате работы программы в корне диска c:\ увидим файл "newdoc.xls", а на консоль выведется значение первой ячейки первого листа.