C open excel file
Работа с Excel с помощью C# (Microsoft.Office.Interop.Excel)
Оставляю заметку по работе с Excel с помощью C#.
Привожу фрагменты кода, которые искал когда-то сам для работы с Excel документами.
Наработки очень пригодились в работе для формирования отчетности.
Прежде всего нужно подключить библиотеку Microsoft.Office.Interop.Excel.
Visual Studio здесь довольно старой версии. Если у вас версия новая, отличаться будет только вид окна.
Далее создаем псевдоним для работы с Excel:
using Excel = Microsoft.Office.Interop.Excel;
Расстановка рамок.
Расставляем рамки со всех сторон:
Цвет рамки можно установить так:
Выравнивания в диапазоне задаются так:
Формулы
Определим задачу: получить сумму диапазона ячеек A4:A10.
Для начала снова получим диапазон ячеек:
Excel.Range formulaRange = sheet.get_Range(sheet.Cells[4, 1], sheet.Cells[9, 1]);
Далее получим диапазон вида A4:A10 по адресу ячейки ( [4,1]; [9;1] ) описанному выше:
string adder = formulaRange.get_Address(1, 1, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing);
Теперь в переменной adder у нас хранится строковое значение диапазона ( [4,1]; [9;1] ), то есть A4:A10.
Выделение ячейки или диапазона ячеек
Так же можно выделить ячейку или диапазон, как если бы мы выделили их мышкой:
Авто ширина и авто высота
Чтобы настроить авто ширину и высоту для диапазона, используем такие команды:
Получаем значения из ячеек
Чтобы получить значение из ячейки, используем такой код:
Добавляем лист в рабочую книгу
Чтобы добавить лист и дать ему заголовок, используем следующее:
Добавление разрыва страницы
Сохраняем документ
Как открыть существующий документ Excel
Комментарии
При работе с Excel с помощью C# большую помощь может оказать редактор Visual Basic, встроенный в Excel.
Для этого в настройках ленты надо добавить пункт «Разработчик». Далее начинаем запись макроса, производим действия и останавливаем запись.
Далее заходим в редактор Visual Basic и смотрим код, который туда записался:
В данном макросе записаны все действия, которые мы выполнили во время его записи. Эти методы и свойства можно использовать в C# коде.
Данный метод так же может оказать помощь в формировании относительных формул, например, выполнить сложение чисел, находящиеся слева от текущей ячейки на 4 столбца, и т.п. Пример:
Так же во время работы может возникнуть ошибка: метод завершен неверно. Это может означать, что не выбран лист, с которым идет работа.
Это видео недоступно.
Очередь просмотра
Очередь
- Удалить все
- Отключить
YouTube Premium
How to Open Excel File in C#
Хотите сохраните это видео?
- Пожаловаться
Пожаловаться на видео?
Выполните вход, чтобы сообщить о неприемлемом контенте.
Понравилось видео?
Не понравилось?
Текст видео
In this tutorial, we will show you how to open an excel file in C# application.
In this easy step by step tutorial, you will learn how to access and open an excel workbook using C#. Microsoft Excel can be managed and operated through C# code with the help of several built in libraries, which include functions to operate Excel.
Step#1: Create a new project
First of all, let’s start a new project in C#, select Console Application from the options and name the project before hitting the OK button.
Step#2: Accessing Microsoft Office Application Libraries
With that done, the code window will open up. Now we have to add some libraries first. For that, move towards the libraries portion at the top, and add the two assemblies as shown below:
«using Microsoft.Office.Interop», and
These assemblies contain the functions required for the input and output for Microsoft Office Applications, in this case Excel files in C#.
Step#3: Specifying the path of the Excel file
Next, define a new function in the code, and name it ‘openfile()’. We will be accessing an excel file in C# that already exists in the system. Hence, the function definition will start with a string variable which would contain the path for the excel file we need to open. We can define the path with the «@» sign, enclosing it in double quotes.
Now let us move to the directory where our file is kept. This is the file which has to be opened through our console application. Notice that it only contains a small string over here.
To find its path, you can open up the properties window and move to the security tab. The path is written at the top next to «Object name». Simply copy and paste it in the code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop;
using Excel = Microsoft.Office.Interop.Excel;
Step#4: Finalizing the openfile() Function
With that done, create two more objects, one with the «Excel.workbooks» class and the other with the «Excel.workbook sheet» class. After that, let’s assign the sheet variable in the «books.Open» argument over here.
The function definition is now completed and we just have to call our function. For that, just copy the function name and paste it along with a semicolon in the Main function.
Step#5: Adding References to Execute the Application
If you press F5 to execute the code, you will be notified with some build errors. This is because we haven’t added the references for Microsoft Excel Objects which we are using in our code. To add them, just open the Project menu and choose the «Add Reference» option.
In the «COM» tab, select the component «Microsoft Excel 12.0 Object Library» and press OK.
Now execute the program. A console screen will appear, and after the processing is complete, the excel file will open up.
Use Excel to open or save a worksheet in the OpenDocument Spreadsheet (.ods) format
You can open and save files in the OpenDocument Spreadsheet (.ods) file format that is used by some spreadsheet applications, such as OpenOffice.org Calc and Google Docs.
Open an OpenDocument Spreadsheet in Excel
Click File > Open > Computer > Browse.
To only see files saved in the OpenDocument format, in the file type list (next to the File name box), click OpenDocument Spreadsheet (*.ods).
Find the file you want to open, and then click Open.
Note: When you open an OpenDocument Spreadsheet file in Excel, it might not have the same formatting as it did in the original application it was created in. This is because of the differences between applications that use the OpenDocument Format.
Save an Excel worksheet in OpenDocument Spreadsheet format
Important: If you want to keep an Excel version of your file, you need to save the file as an Excel worksheet, for example in the .xlsx file format, and then save it again in the OpenDocument Spreadsheet (.ods) format.
Click File > Save As >Computer > Browse.
In the Save as type list, click OpenDocument Spreadsheet (*.ods).
Name and save your file.
Learn more about the OpenDocument Format
When you open or save worksheets in the OpenDocument Spreadsheet (.ods) format, some formatting might be lost. This is because of the different features and options, such as formatting and tables, that OpenDocument Spreadsheet applications and Excel support. For more information about the differences between the OpenDocument Spreadsheet format and the Excel format, see Differences between the OpenDocument Spreadsheet (.ods) format and the Excel (.xlsx) format.
Tip: Before sending a file to someone else, you might want to close the file and open it again to see what it looks like in the OpenDocument Spreadsheet (.ods) format. To compare the Excel format of the file with the OpenDocument Spreadsheet format of the file, first save the file in the Excel format, then open both the Excel version and the OpenDocument Spreadsheet version and visually inspect the files for differences.
Open an OpenDocument Spreadsheet in Excel
Click the Microsoft Office Button , and then click Open.
Click the file you want to open, and then click Open.
Note: When you open an OpenDocument Spreadsheet file in Excel, it might not have the same formatting as it did in the original application it was created in. This is because of the differences between applications that use the OpenDocument Format.
Save an Excel file in OpenDocument Spreadsheet format
Important: If you want to keep an Excel version of your file, you must first save the file as an Excel file, for example in the .xlsx file format, and then save it again in the OpenDocument Spreadsheet (.ods) format.
Click the Microsoft Office Button , and click Save As.
Click OpenDocument Spreadsheet.
Learn more about the OpenDocument Format
When you open or save worksheets in the OpenDocument Spreadsheet (.ods) format, some formatting might be lost. This is because of the different features and options, such as formatting and tables, that OpenDocument Spreadsheet applications and Excel support. For more information about the differences between the OpenDocument Spreadsheet format and the Excel format, see Differences between the OpenDocument Spreadsheet (.ods) format and the Excel Online (.xlsx) format.
Tip: Before sending a file to someone else, you might want to close the file and open it again to see what it looks like in the OpenDocument Spreadsheet (.ods) format. To compare the Excel format of the file with the OpenDocument Spreadsheet format of the file, first save the file in the Excel format, then open both the Excel version and the OpenDocument Spreadsheet version and visually inspect the files for differences.
Работа с Excel с помощью C# (Microsoft.Office.Interop.Excel)
Оставляю заметку по работе с Excel с помощью C#.
Привожу фрагменты кода, которые искал когда-то сам для работы с Excel документами.
Наработки очень пригодились в работе для формирования отчетности.
Прежде всего нужно подключить библиотеку Microsoft.Office.Interop.Excel.
Visual Studio здесь довольно старой версии. Если у вас версия новая, отличаться будет только вид окна.
Далее создаем псевдоним для работы с Excel:
using Excel = Microsoft.Office.Interop.Excel;
Расстановка рамок.
Расставляем рамки со всех сторон:
Цвет рамки можно установить так:
Выравнивания в диапазоне задаются так:
Формулы
Определим задачу: получить сумму диапазона ячеек A4:A10.
Для начала снова получим диапазон ячеек:
Excel.Range formulaRange = sheet.get_Range(sheet.Cells[4, 1], sheet.Cells[9, 1]);
Далее получим диапазон вида A4:A10 по адресу ячейки ( [4,1]; [9;1] ) описанному выше:
string adder = formulaRange.get_Address(1, 1, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing);
Теперь в переменной adder у нас хранится строковое значение диапазона ( [4,1]; [9;1] ), то есть A4:A10.
Выделение ячейки или диапазона ячеек
Так же можно выделить ячейку или диапазон, как если бы мы выделили их мышкой:
Авто ширина и авто высота
Чтобы настроить авто ширину и высоту для диапазона, используем такие команды:
Получаем значения из ячеек
Чтобы получить значение из ячейки, используем такой код:
Добавляем лист в рабочую книгу
Чтобы добавить лист и дать ему заголовок, используем следующее:
Добавление разрыва страницы
Сохраняем документ
Как открыть существующий документ Excel
Комментарии
При работе с Excel с помощью C# большую помощь может оказать редактор Visual Basic, встроенный в Excel.
Для этого в настройках ленты надо добавить пункт «Разработчик». Далее начинаем запись макроса, производим действия и останавливаем запись.
Далее заходим в редактор Visual Basic и смотрим код, который туда записался:
В данном макросе записаны все действия, которые мы выполнили во время его записи. Эти методы и свойства можно использовать в C# коде.
Данный метод так же может оказать помощь в формировании относительных формул, например, выполнить сложение чисел, находящиеся слева от текущей ячейки на 4 столбца, и т.п. Пример:
Так же во время работы может возникнуть ошибка: метод завершен неверно. Это может означать, что не выбран лист, с которым идет работа.
Как создать Excel (.XLS и .XLSX) файл в C# без установки Ms Office?
Как я могу создать таблицу Excel с C# без необходимости установки Excel на машине, на которой выполняется код?
25 Ответов
Вы можете использовать библиотеку под названием ExcelLibrary. Это бесплатная библиотека с открытым исходным кодом, размещенная на Google Code:
Это похоже на порт PHP ExcelWriter, который вы упомянули выше. Он еще не будет писать в новый формат .xlsx,но они работают над добавлением этой функциональности.
Он очень прост, мал и прост в использовании. Кроме того, он имеет DataSetHelper, что позволяет использовать DataSets и DataTables для легкой работы с данными Excel.
ExcelLibrary, похоже, все еще работает только для более старого формата Excel (.xls-файлы), но в будущем может быть добавлена поддержка более новых форматов 2007/2010.
Вы также можете использовать EPPlus, который работает только для файлов формата Excel 2007/2010 (.файлы xlsx). Есть также NPOI , который работает с обоими.
Есть несколько известных ошибок с каждой библиотекой, как отмечено в комментариях. В целом, EPPlus кажется лучшим выбором с течением времени. Похоже, что он также более активно обновляется и документируется.
Кроме того, как отмечено @АртёмЦарионов ниже, EPPlus имеет поддержку для Pivot таблиц, а ExcelLibrary может иметь некоторую поддержку ( проблема Pivot таблицы в ExcelLibrary )
Вот несколько примеров кода для ExcelLibrary:
Вот пример взятия данных из базы данных и создания из нее рабочей книги. Обратите внимание, что код ExcelLibrary-это единственная строка внизу:
Создать файл Excel очень просто. Вы также можете вручную создать файлы Excel, но вышеуказанная функциональность-это то, что действительно впечатлило меня.
Если вы довольны форматом xlsx, попробуйте мой проект codeplex GitHub. EPPlus . Начал он с источника из ExcelPackage, но сегодня это полная переписка. Поддерживает диапазоны, стиль ячеек, диаграммы, фигуры, картинки, namesranges, автофильтр и многое другое.
Я с успехом использовал следующие проекты с открытым исходным кодом:
ExcelPackage для форматов OOXML (Office 2007)
Формат NPOI для .XLS (Office 2003). NPOI 2.0 (бета) также поддерживает XLSX.
Взгляните на мои записи в блоге:
А как насчет использования Open XML SDK 2.0 для Microsoft Office?
- Не требует установки Office
- Сделано Microsoft = достойная документация MSDN
- Только один .Net dll для использования в проекте
- SDK поставляется со многими инструментами, такими как diff, валидатор и т. д
Вы можете использовать OLEDB для создания и управления файлами Excel. Проверьте это: чтение и запись Excel с помощью OLEDB .
EDIT — еще несколько ссылок:
Коммерческое решение, SpreadsheetGear для .NET сделает это.
Вы можете посмотреть живые образцы ASP.NET (C# и VB) здесь и загрузить ознакомительную версию здесь .
Отказ от ответственности: я владею SpreadsheetGear LLC
Несколько вариантов я уже использовал:
Если XLSX-это обязательно: ExcelPackage -хороший старт, но он умер, когда разработчик перестал работать над ним. ExML взял оттуда и добавил несколько функций. ExML -неплохой вариант, я все еще использую его в нескольких производственных веб-сайтах.
Однако для всех моих новых проектов я использую NPOI, порт .NET Apache POI . NPOI 2.0 (Альфа) также поддерживает XLSX.
Чрезвычайно легким вариантом может быть использование таблиц HTML. Просто создайте теги head, body и table в файле и сохраните его как файл с расширением .xls. Существуют определенные атрибуты Microsoft, которые можно использовать для оформления выходных данных, включая формулы.
Я понимаю, что вы, возможно, не кодируете это в веб-приложении, но вот пример композиции файла Excel через таблицу HTML. Этот метод можно использовать, если вы кодируете консольное приложение, настольное приложение или службу.