Отображение таблицы Excel в WinForms, C#

Последние несколько часов я изо всех сил пытался заставить электронную таблицу / книгу Excel отображаться в форме Windows с помощью Visual Studio 2012, C#. Я могу извлечь данные из рабочей книги и отобразить их в форме, но мне нужны функциональные возможности Excel в приложении, включая такие вещи, как фильтрация, условное форматирование, формулы и т. Д.

Я прочитал довольно много, и, насколько я понимаю, в Visual Studio нет элементов управления для встраивания этих (Office) файлов из-за лицензирования, что имеет смысл. Я нашел решение для отображения файла в WebControl (я уверен, что смогу работать с этим), но когда я пытаюсь загрузить файл Excel в веб-элемент управления, он предлагает пользователю открыть или сохраните файл, и когда выбран "Открыть файл", файл открывается с помощью Microsoft Excel.

Насколько я понимаю, это происходит из-за того, что ContentType (Mime type, Excel ContentType) файла необходимо установить в браузере (мне нужно больше исследовать этот вопрос, поскольку я еще не знаком с этой концепцией).

Ресурсы, которые я использую:

  • Логика для сохранения содержимого в файл Excel: EPPlus
  • Я работал над следующим проектом, среди прочего: Пример Winforms Excel

Последнее - почти то, чего я хочу достичь, но постоянно просит сохранить или открыть файл, а не просто отображать его в WebControl.

Любая помощь по этому вопросу будет принята с благодарностью.

2 ответа

Существуют коммерческие библиотеки WinForms от DevExpress, Syncfusion и Infragistics. Я использую DevExpress. Я бы предложил их элемент управления WinForms Spreadsheet , вдохновленный Excel. У них также есть API файлов электронных таблиц для .NET и элементы управления пользовательского интерфейса электронных таблиц для ASP.NET, MVC, WPF, ASP.NET Core и Bootstrap.

Вы можете попробовать их бесплатную 30-дневную пробную версию и посмотреть, подходят ли элементы управления DevExpress UI для ваших нужд.

Используйте DataGridView и программируйте функциональность, если у него его нет! ИЛИ Используйте Excel COM для создания экземпляра Excel.

Другие вопросы по тегам