Работа с Excel в C#
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать о том, как работать с Microsoft Excel, используя язык C#. Для этого в проект необходимо добавить ссылку на библиотеку Microsoft Excel Object Library. Версия библиотеки будет зависеть от того, какая версия офиса у вас установлена. Давайте реализуем следующий пример: необходимо в ячейки первой строки записать числа от 1 до 10, на второй строке в первой ячейке посчитать их сумму, используя формулу в Excel. Также у данной ячейки необходимо выделить границы.
Также в данном примере я хочу показать, как строить круговую диаграмму в Excel на C# и заполнять её данными.
Сразу приведу код:
using Excel = Microsoft.Office.Interop.Excel;
namespace TestProjectExcel
{
class Program
{
static void Main(string[] args)
{
// Создаём экземпляр нашего приложения
Excel.Application excelApp = new Excel.Application();
// Создаём экземпляр рабочий книги Excel
Excel.Workbook workBook;
// Создаём экземпляр листа Excel
Excel.Worksheet workSheet;
workBook = excelApp.Workbooks.Add();
workSheet = (Excel.Worksheet)workBook.Worksheets.get_Item(1);
// Заполняем первую строку числами от 1 до 10
for (int j = 1; j <= 10; j++)
{
workSheet.Cells[1, j] = j;
}
// Вычисляем сумму этих чисел
Excel.Range rng = workSheet.Range["A2"];
rng.Formula = "=SUM(A1:L1)";
rng.FormulaHidden = false;
// Выделяем границы у этой ячейки
Excel.Borders border = rng.Borders;
border.LineStyle = Excel.XlLineStyle.xlContinuous;
// Строим круговую диаграмму
Excel.ChartObjects chartObjs = (Excel.ChartObjects)workSheet.ChartObjects();
Excel.ChartObject chartObj = chartObjs.Add(5, 50, 300, 300);
Excel.Chart xlChart = chartObj.Chart;
Excel.Range rng2 = workSheet.Range["A1:L1"];
// Устанавливаем тип диаграммы
xlChart.ChartType = Excel.XlChartType.xlPie;
// Устанавливаем источник данных (значения от 1 до 10)
xlChart.SetSourceData(rng2);
// Открываем созданный excel-файл
excelApp.Visible = true;
excelApp.UserControl = true;
}
}
}
В данной статье вы немного познакомились с тем, как работать с Excel, используя C#.
В статьях, посвященных вставке текста в Word, используя закладки (Bookmarks) мы познакомились с технологиями OpenXML и GemBox. С файлами Excel эти технологии также успешно работают, а OpenXML является предпочтительным вариантом работы, так как бесплатен и не требует установки Microsoft Excel. Возможно в следующих статьях рассмотрим пару примеров.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.




