Visual studio как подключить excel
Powered by Wijmo, this extension provides custom editors and previews for CSV files and Excel spreadsheets in Visual Studio Code and Visual Studio Code for the Web.
This extension requires Visual Studio Code 1.63.0 or greater.
Version 4.2 now supports first-class custom editors that implement operations such as save, undo, redo, and hot exit. For Excel files, this is the default, and clicking the name of an Excel file in explorer view opens the custom editor directly. For CSV files, this is optional, and executing the Open With command on the context menu prompts for the built-in or custom editor to be opened. The Open Preview command is still supported for both file types.
CSV Usage
For .tsv and .tab files, a tab delimiter is assumed. For plain text files with different extensions, open the file in an editor and execute the CSV: Open Preview command from the command palette. For any text file that is open in the built-in editor, regardless of extension, you can right-click its tab and execute the Reopen Editor With command, then select the CSV Viewer option when prompted.
Please read this section, which describes common customizations to the default configuration for column separators and other settings that affect CSV files.
To sort a column in ascending order, click its column header. To reverse the sort order, click its column header again. To specify a secondary sort column, hold the Shift key while clicking its column header. To undo sorting for a column, hold the Ctrl key while clicking its column header. Alternatively, you can use the CSV: Clear Preview State command to remove all sort/filter criteria for the current file.
Excel Usage
For files with an .xlsx or .xlsm extension, just click (or double-click) the filename in explorer view. The contents of the file will be displayed in a FlexSheet control. If multiple sheets are present, use the controls at the bottom of the view for navigation.
As in earlier versions, you can use the explorer context menu or editor title menu to invoke the Open Preview command.
Theme Support
The extension adapts its display to the current Visual Studio Code theme. For best results, choose a theme with opaque selection background colors.
Persistent Data
The extension automatically stores user customizations on a per-file, per-workspace basis. For CSV files, this includes column widths, sort/filter criteria, data types, format strings, and scroll bar positions. For Excel files, this includes the selected sheet index, sort/filter criteria, and scroll bar positions associated with that sheet only. If the column structure of a CSV file changes, any persistent data is ignored for that file.
To discard persistent data for a CSV or Excel file, execute the command CSV: Clear Preview State . The preview will be refreshed automatically.
Numeric Formatting
The setting csv-preview.formatValues controls how numeric formatting is applied:
Value | Description |
---|---|
always | All numeric values are formatted according to the csv-preview.numberFormat setting. This is the default. |
never | All values are treated as strings, and no numeric formatting occurs. |
unquoted | Numeric values are formatted, but only if they are not enclosed in quotes. If a column contains a mixture of quoted and unquoted values, the value in the first data row takes precedence. |
Since data types and format strings are persisted along with other column properties, you may need to run the CSV: Clear Preview State command to see the effects of changing the csv-preview.formatValues and csv-preview.numberFormat options.
Configuration
To change the default configuration settings for the Excel Viewer extension, edit the user or workspace settings as described here. The available settings, which govern CSV files only, are as follows:
Any open CSV previews or custom editors will automatically update to reflect the modified settings, except where noted in the previous section.
Regular Expression Settings
The following configuration settings are used within regular expressions when processing CSV files. Therefore, you need to escape any special regular expression characters with a backslash in order to achieve the desired result.
For example, to override the default separator character (comma) with a dollar sign, you would enter the following in the settings editor:
However, if you are editing the settings.json file directly, an extra backslash is required:
Likewise, to use a vertical bar as the separator character:
However, if you want to use the tab character as a separator, only one backslash is needed:
You can also specify multiple separator characters by using a regular expression character set. For example, to recognize a comma OR a semicolon as a separator, enclose both characters in square brackets:
Оба языка поддерживают внедрение сведений о типах, что позволяет развертывать сборки, взаимодействующие с компонентами COM, без предварительного развертывания на компьютере основных сборок взаимодействия (PIA). Дополнительные сведения см. в разделе Пошаговое руководство: внедрению типов из управляемых сборок.
В данном пошаговом руководстве эти возможности показаны в контексте программирования для Microsoft Office, но многие из них могут оказаться полезными и в других ситуациях. В этом пошаговом руководстве вы создадите книгу Excel с помощью надстройки Excel, а затем документ Word со ссылкой на эту книгу. Наконец, вы узнаете, как включать и отключать зависимость PIA.
Предварительные требования
Для выполнения данного пошагового руководства на компьютере должны быть установлены Microsoft Office Excel и Microsoft Office Word.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Настройка надстройки Excel
Запустите Visual Studio.
В меню Файл выберите пункт Создать, а затем команду Проект.
в области шаблоны выберите Excel надстройка версии .
Если нужно, в поле Имя введите имя проекта.
В обозревателе решений появится новый проект.
Добавление ссылок
В обозревателе решений щелкните имя проекта правой кнопкой мыши и выберите пункт Добавить ссылку. Откроется диалоговое окно Добавление ссылки.
На вкладке сборки выберите Microsoft. Office. Com. Excel, версия (для получения ключа по номерам версий продуктов Office, см. статью версии Microsoft), в списке имя компонента , а затем нажмите и удерживайте клавишу CTRL и выберите Microsoft. Office. Interop. Word, . Если сборки отсутствуют, может потребоваться проверить, что они установлены и отображаются (см. раздел Практическое руководство. Установка основных сборок взаимодействия Microsoft Office).
Добавление необходимых операторов Imports или директив using
В обозревателе решений щелкните правой кнопкой мыши файл ThisAddIn.vb или ThisAddIn.cs и выберите в контекстном меню команду Просмотреть код.
В верхнюю часть файла с кодом добавьте следующие операторы Imports (Visual Basic) или директивы using , если это еще не сделано.
Создание списка банковских счетов
Замените определение класса Account следующим кодом. В определениях классов используются автоматически реализуемые свойства. Дополнительные сведения см. в разделе Автоматически реализуемые свойства.
Чтобы создать bankAccounts список, содержащий две учетные записи, добавьте следующий код ThisAddIn_Startup в метод в bankAccounts или ThisAddIn_Startup . В объявлениях списков используются инициализаторы коллекций. Дополнительные сведения см. в разделе Инициализаторы коллекций.
Экспорт данных в Excel
В том же самом файле добавьте в класс ThisAddIn следующий метод. Этот метод служит для настройки книги Excel и экспорта данных в нее.
В более ранних версиях этого языка приходилось использовать особый синтаксис.
Разработчики не могут создавать собственные индексированные свойства. Эта возможность поддерживает только использование имеющихся индексированных свойств.
Добавьте в конец метода DisplayInExcel следующий код, чтобы ширина столбца изменялась в соответствии с содержимым.
например, excelApp.Columns[1] возвращает Object , а AutoFit — метод Excel excelApp.Columns[1] . Без типа dynamic необходимо выполнять приведение объекта, возвращаемого excelApp.Columns[1] , к экземпляру Range перед вызовом метода AutoFit .
Дополнительные сведения о внедрении типов взаимодействия см. в подразделах "Поиск ссылки PIA" и "Восстановление зависимости PIA" далее в этом разделе. Дополнительные сведения о dynamic см. в разделе dynamic или Динамическое использование типа Dynamic.
Вызов метода DisplayInExcel
Добавьте следующий код в конец метода ThisAddIn_StartUp . Вызов метода DisplayInExcel содержит два аргумента. Первый аргумент представляет собой имя списка счетов, которые требуется обработать. Второй аргумент — это состоящее из нескольких строк лямбда-выражение, которое определяет, каким образом следует обрабатывать данные. Значения ID и balance для каждого из счетов отображаются в соседних ячейках, а если баланс имеет отрицательное значение, строка отображается красным. Дополнительные сведения см. в разделе Лямбда-выражения.
Чтобы запустить программу, нажмите клавишу F5. Появится книга Excel, содержащая данные о счетах.
Добавление документа Word
Добавьте в конец метода ThisAddIn_StartUp следующий код, чтобы создать документ Word, содержащий ссылку на книгу Excel.
Запуск приложения
- Нажмите клавишу F5 для запуска приложения. Будет запущено приложение Excel, в котором будет открыта таблица, содержащая сведения о двух счетах из списка bankAccounts . Затем будет открыт документ Word, содержащий ссылку на таблицу Excel.
Очистка готового проекта
- В Visual Studio в меню Построение выберите пункт Очистить решение. В противном случае надстройка будет запускаться при каждом открытии Excel на компьютере разработчика.
Поиск ссылки PIA
Запустите приложение снова, но не выбирайте пункт Очистить решение.
Выберите кнопку Пуск. перейдите на Microsoft Visual Studio версию > и откройте командную строку разработчика.
В окне командной строки разработчика для Visual Studio введите команду ildasm , а затем нажмите клавишу ВВОД. Появится окно программы IL DASM.
В меню файл в окне IL DASM выберите файл Открыть. дважды щелкните Visual Studio версия >, а затем дважды щелкните >. Откройте папку проекта и найдите в папке bin/Debug файл имя_проекта.dll. Дважды щелкните файл имя_проекта.dll. В новом окне будут показаны атрибуты проекта, а также ссылки на другие модули и сборки. Обратите внимание, что в сборку включены пространства имен Microsoft.Office.Interop.Excel и Microsoft.Office.Interop.Word . По умолчанию в Visual Studio компилятор импортирует в сборку необходимые типы из сборки PIA, на которую указывает ссылка.
Дважды щелкните значок МАНИФЕСТ. Откроется окно со списком сборок, содержащих элементы, на которые имеются ссылки в проекте. Сборки Microsoft.Office.Interop.Excel и Microsoft.Office.Interop.Word не будут указаны в этом списке. Поскольку необходимые для проекта типы были импортированы в сборку проекта, ссылки на сборки PIA не требуется. Это упрощает развертывание. Сборки PIA не обязательно должны присутствовать на компьютере пользователя, а поскольку приложение не требует развертывания конкретной версии сборки PIA, можно разрабатывать приложения, которые работают с различными версиями Office, если в этих версиях имеются все необходимые интерфейсы API.
Поскольку развертывать сборки PIA больше не требуется, можно создавать приложения для применения в сложных сценариях, чтобы эти приложения работали с несколькими версиями Office, включая и более ранние версии. Тем не менее это возможно только в том случае, если в коде не используются интерфейсы API, которые недоступны в используемой версии Office. Разработчик не всегда знает, был ли доступен тот или иной интерфейс API в более ранней версии, поэтому работать с более ранними версиями Office не рекомендуется.
До Office 2003 сборки PIA не публиковались. Поэтому единственными способом создания сборки взаимодействия в Office 2002 или более ранних версиях является импорт ссылки COM.
Закройте окно манифеста и окно сборки.
Восстановление зависимости PIA
В обозревателе решений нажмите кнопку Показать все файлы. Разверните папку Ссылки и выберите Microsoft.Office.Interop.Excel. Нажмите клавишу F4, чтобы открыть окно Свойства.
В окне Свойства измените значение свойства Внедрить типы взаимодействия с True на False.
Повторите шаги 1 и 2 этой процедуры для сборки Microsoft.Office.Interop.Word .
Нажмите клавишу F5, чтобы проверить, что проект по-прежнему выполняется правильно.
Повторите шаги 1–3 из предыдущей процедуры, чтобы открыть окно сборки. Обратите внимание, что сборки Microsoft.Office.Interop.Word и Microsoft.Office.Interop.Excel больше не входят в список внедренных сборок.
Дважды щелкните значок МАНИФЕСТ и просмотрите список сборок, на которые имеются ссылки. В списке будут указаны сборки Microsoft.Office.Interop.Word и Microsoft.Office.Interop.Excel . Поскольку приложение содержит ссылки на сборки PIA Excel и Word, а свойство Внедрить типы взаимодействия имеет значение False, на компьютере пользователя должны храниться обе сборки.
В Visual Studio в меню Построение выберите пункт Очистить решение, чтобы очистить завершенный проект.
В этом вводном пошаговом руководстве показано, как создавать надстройки уровня приложения для Microsoft Office Excel. Функции, создаваемые в подобном решении, доступны для приложения независимо от того, какие книги открыты.
Применимо к: сведения в этом разделе относятся к VSTO добавления - в проекты для Excel. дополнительные сведения см. в разделе функции, доступные по Office приложении и типу проекта.
Интересуетесь разработкой решений, расширяющих возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office имеют небольшой объем по сравнению с надстройками и решениями VSTO, и их можно создавать с помощью практически любой технологии веб-программирования, такой как HTML5, JavaScript, CSS3 и XML.
В этом пошаговом руководстве описаны следующие задачи:
Создание проекта надстройки VSTO Excel для Excel.
Написание кода с использованием объектной модели Excel, которая при сохранении книги добавляет в нее текст.
Построение и запуск проекта для тестирования.
Удаление завершенного проекта для прекращения автоматического запуска надстройки VSTO на компьютере разработчика.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Предварительные требования
Для выполнения этого пошагового руководства требуются следующие компоненты:
Выпуск Visual Studio, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в статье Настройка компьютера для разработки решений Office.
Excel 2013 или Excel 2010.
Создание проекта
Создание проекта надстройки VSTO Excel в Visual Studio
Запустите среду Visual Studio.
В меню Файл укажите Создать, затем нажмите Проект.
В развернутом узле Office/SharePoint выберите узел Надстройки Office .
В списке шаблонов проектов выберите Надстройку Excel 2010 или Надстройку Excel 2013.
В поле Имя введите FirstExcelAddIn.
Нажмите OK.
Visual Studio создает проект проект firstexceladdin и открывает файл кода ThisAddIn в редакторе.
Написание кода для добавления текста в сохраненную книгу
Затем добавьте код в файл ThisAddIn. Новый код использует объектную модель Excel для вставки стандартного текста в первую строку активного листа. Активным является лист, открытый в момент сохранения книги пользователем. По умолчанию файл кода ThisAddIn содержит следующий созданный код:
Частичное определение класса ThisAddIn . Этот класс предоставляет точку входа для кода и обеспечивает доступ к объектной модели Excel. дополнительные сведения см. в статье надстройки программы VSTO. Оставшаяся часть ThisAddIn класса определяется в скрытом файле кода, который не следует изменять.
Обработчики событий ThisAddIn_Startup и ThisAddIn_Shutdown . Эти обработчики событий вызываются, когда Excel загружает и выгружает надстройку VSTO. Их можно использовать для инициализации надстройки VSTO в процессе ее загрузки, а также для освобождения используемых надбавкой ресурсов при ее выгрузке. дополнительные сведения см. в разделе события в Office проектах.
Добавление строки текста в сохраненную книгу
В файл кода ThisAddIn добавьте в класс ThisAddIn указанный ниже код. Новый код определяет обработчик событий для события WorkbookBeforeSave , которое возникает при сохранении книги.
Когда пользователь сохраняет книгу, обработчик событий добавляет новый текст в начало активного листа.
Для изменения книги при ее сохранении в приведенных выше примерах кода используются следующие объекты:
Поле Application класса ThisAddIn . Поле Application возвращает объект Application , который представляет текущий экземпляр Excel.
Параметр Wb обработчика событий для события WorkbookBeforeSave . Параметр Wb является объектом Workbook , который представляет сохраняемую книгу. дополнительные сведения см. в статье общие сведения об объектной модели Excel.
Тестирование проекта
Тестирование проекта
Нажмите клавишу F5 для построения и запуска проекта.
При построении проекта код компилируется в сборку, которая включается в выходную папку сборки для проекта. Visual Studio также создает ряд записей реестра, которые позволяют Excel обнаружить и загрузить надстройку VSTO, и настраивает параметры безопасности на компьютере разработчика, разрешая запуск надстройки VSTO. дополнительные сведения см. в разделе Build Office solutions.
Сохраните книгу в Excel.
Убедитесь, что в книгу добавляется указанный ниже текст.
Этот текст добавляется с помощью кода.
Очистить проект
Завершив разработку проекта, удалите с компьютера сборку надстройки VSTO, записи реестра и параметры безопасности. В противном случае надстройка VSTO будет запускаться при каждом открытии программы Excel на компьютере разработчика.
Очистка завершенного проекта на компьютере разработчика
- В Visual Studio в меню Построение выберите пункт Очистить решение.
Дальнейшие действия
Теперь, когда вы создали базовую надстройку VSTO для Excel, изучите более подробную информацию о разработке надстроек VSTO в следующих разделах.
общие задачи программирования, которые можно выполнять в VSTO надстроек: программы VSTO надстройки.
задачи программирования, характерные для Excel VSTO надстройки: Excel решения.
настройка пользовательского интерфейса Excel, например, путем добавления пользовательской вкладки на ленту или создания собственной настраиваемой области задач: Office настройки пользовательского интерфейса.
Office Add-ins run inside an Office application and can interact with contents of the Office document using the rich JavaScript API.
Under the hood, an Office Add-in is just a web app that you can host anywhere. Using a manifest.xml file, you tell the Office application where your web app is located and how you want it to appear. The Office application takes care of hosting it within Office.
Create a new Office Add-in project
First follow the instructions to Create an Office Add-in using any editor to install the necessary prerequisites, and use the Yeoman generator yo office to create a new add-in project.
The following table lists the project attributes to select in the Yeoman generator.
Option | Value |
---|---|
New subfolder | (Accept the default) |
Add-in name | Outlook Add-in |
Supported Office application | (Select Outlook) |
Create new add-in | Yes, I want a new add-in |
Add TypeScript | No |
Choose framework | Jquery |
Use Visual Studio Code to develop your Office Add-in
Visual Studio Code is a great tool to help you develop your custom Office Add-ins for Outlook, Word, Excel, PowerPoint, regardless of whether the Add-ins run in web clients, Windows clients, iOS clients or on macOS!
Getting started
Open the project in Visual Studio Code by entering the following text on the command line from within the same folder where you ran the generator:
Open the manifest.xml file that was created by Yo Office and locate the SourceLocation node. Update the URL of the DefaultValue to the URL where you will host the Add-in.
Debugging your Office Add-in
VS Code does not currently support client-side debugging. To debug your client-side Add-in, you can use the Office web clients and open the browser's developer tools and debug the Add-in just like any other client-side JavaScript application.
Install the Add-in
Office Add-ins must be installed, or registered, with the Office application in order to load. This is done using the manifest.xml file you modified earlier.
Side loading Mail Add-ins
Mail Add-ins can be installed within the Outlook Web App. Browse to your Outlook Web App and login. Once logged in, select the gear icon in the top-right section and select Manage add-ins:
On the Manage add-ins page, select the + icon, and then select Add from a file.
Locate the manifest.xml file for your custom Add-in and install it, accepting all prompts when installing it.
Once that's done, select an existing email and you will see a horizontal bar below the email header that includes the Add-in:
Next try creating an email, select the Add-ins or Apps menu item to get the Task Pane to appear:
Select the Add-in and see it appear in the Task Pane:
Deploying Add-ins to the Office 365 Tenancy's App Catalog
All Office Add-ins (including Mail Add-ins) can be installed from your Office 365 tenancy's App Catalog site. Log in to your Office 365 portal. In the left-hand navigation, towards the bottom, select the Admin / SharePoint option:
From the SharePoint Admin Center, select the Apps option in the left-hand menu and then select the App Catalog. On the App Catalog page, select the Apps for Office option and upload the manifest.xml file.
Install Content & Task Pane Add-ins in Word / Excel / PowerPoint
Depending on the type of Add-in you created, you can add it to one of the Office applications. Task Pane and Content Add-ins can be installed in Word, Excel & PowerPoint. Mail Add-ins can be installed in Outlook.
To install an Add-in within an Office application, select the Insert tab and click the Office Add-ins button, as shown here using the Excel Web App:
You can select Add-ins you've uploaded to your Office 365 tenancy's App Catalog using the Office Add-ins dialog (listed under My Organization) or acquire Add-ins from the Office Store.
Next steps
Check out the other pages on the VS Code site to find out how you can use more capabilities of the editor when creating custom Office Add-ins:
-
- You can write Office Add-ins in many languages. Find out what VS Code has to offer. - Just starting out with VS Code? This is worth reviewing. - Learn about the powerful VS Code editor.
Common questions
Can I create an Office Add-in with the generator and use VS Code regardless of the language or client-side framework?
Yes, you can. You can use pure HTML, Angular, Ember, React, Aurelia. anything you like!
Привожу фрагменты кода, которые искал когда-то сам для работы с 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
Комментарии
Для этого в настройках ленты надо добавить пункт «Разработчик». Далее начинаем запись макроса, производим действия и останавливаем запись.
Далее заходим в редактор Visual Basic и смотрим код, который туда записался:
Данный метод так же может оказать помощь в формировании относительных формул, например, выполнить сложение чисел, находящиеся слева от текущей ячейки на 4 столбца, и т.п. Пример:
Так же во время работы может возникнуть ошибка: метод завершен неверно. Это может означать, что не выбран лист, с которым идет работа.
Чтобы выбрать лист, выполните sheetData.Select(Type.Missing); где sheetData это нужный лист.
Как прочитать данные из ячейки excel,и записать эти данные в sql server?
Добрый день.
Отправил на почту.
Добрый день.
А мне можно тоже самое?)
Вы можете записать макрос на изменение цвета в Visual Basic и списать получившийся код. Затем использовать его в своей программе.
Здравствуйте.
Можете подсказать, как «заставить» приложение работать с разными версиями MS Office? На машине разработчика стоит Office 2010, при запуске на машине с 2003-м — увы — ошибка.
Microsoft.Office.Interop.Excel это довольно старый способ работать с Excel документами.
Что касается версии Office 2003, то он использует совсем другой драйвер.
Соответственно версия Microsoft.Office.Interop.Excel.dll нужна старая, плюс драйвер microsoft jet 4.0, который на новых системах (Win 8, 10) работает неправильно.
Единственное, что могу посоветовать, так это скачать Microsoft Office Compatibility Pack для Office 2003, чтобы научить его открывать xslx документы.
А в своей программе использовать не Interop.Excel, а библиотеку EPPlus. Она работает с excel документами, используя технологию OpenXml и не надо париться по поводу драйверов.
Код будет очень похож на Interop.Excel-ный.
Очень полезная штука, спасибо за удобное представление информации на Вашем сайте!
Скажите пожалуйста, как прочитать данные из ячейки Excel и записать их в SQL Server?
Читайте также: