Импорт и экспорт Excel-какая библиотека является лучшей? [закрытый]
в одном из наших ASP.NET приложения в C#, мы берем определенный сбор данных (дозвуковой сбор) и экспортируем его в Excel. Мы также хотим импортировать файлы Excel в формате. Я ищу библиотеку, которую могу использовать для этой цели.
- файлы Excel 2007 (поддерживает ли Excel 2003 более 64k строк? Мне нужно нечто большее.)
- не требует Excel на сервере
- принимает типизированную коллекцию и, если это возможно, пытается поместить числовые поля как числовые в Excel.
- хорошо работает с большими файлами (от 100k до 10M) — достаточно быстро.
- не сбой при экспорте GUIDs!
- не стоит кучу денег (нет корпоративной библиотеки, как aspose). Бесплатно всегда здорово, но может быть и коммерческая библиотека.
какую библиотеку посоветуете? Вы использовали его для больших объемов данных? Есть ли другие решения?
прямо сейчас, я использую простой инструмент, который генерирует HTML, который загружается Excel позже, но я теряю некоторые возможности, плюс Excel жалуется, когда мы загружаем его. Мне не нужно создавать диаграммы или что-то в этом роде, просто экспортировать необработанные данные.
Я думаю о плоских CSV-файлах, но Excel является требованием клиента. Я могу работать с CSV напрямую, если у меня есть инструмент для преобразования в Excel и из Excel. Учитывая, что Excel 2007-это xml-формат (и сжатый) файл, я предполагаю, что такую библиотеку легко найти. Однако для меня важнее всего ваши комментарии и мнения.
[expert_bq id=»1570″]его whomping 29 страниц, но это потому, что другие показывают различные другие способы, а также люди, задающие вопросы, как и этот, о том, как это сделать. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq]«Сообщение 7399, уровень 16, состояние 1, строка 25
Поставщик OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)» сообщил об ошибке. Поставщик не предоставил данных об ошибке.
Сообщение 7330, уровень 16, состояние 2, строка 25
Не удалось получить строку от поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)».»
Как перенести или экспортировать данные SQL Server 2005 в Excel
конечно, я думаю, что SpreadsheetGear-Лучшая библиотека для импорта / экспорта книг Excel в ASP.NET -но я пристрастен. Вы можете увидеть, что некоторые из наших клиентов говорят о правой стороне этот страница.
Запуск мастера импорта и экспорта SQL Server
Укажите сведения о сервере, которым вы хотите управлять, и соответствующее имя пользователя и пароль, если вы не используете проверку подлинности Windows.
Нажмите Подключиться , чтобы подключиться к серверу из SSMS.
Щелкните правой кнопкой мыши имя экземпляра базы данных, который вы хотите использовать, и выберите Импорт данных в меню Задачи .
Заметка! Для комплексного изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения и рассматриваются все конструкции языка SQL и T-SQL.
Как excel перевести в sql
Представим ситуацию, что у нас есть под рукой вот такой Excel-файл с ценами на ремонт телефонов, в котором на листах расположены отдельные бренды, колонки на листе представляют конкретные модели для этого бренда, а строки представляют конкретные неисправности и сколько будет стоить ремонт для той или иной модели.
Работа с MS Excel на ASP.NET MVC. Импорт и экспорт файлов
На сегодняшний день существует достаточно много готовых решений (библиотек) для взаимодействия с файлами Excel, чтобы не работать напрямую с системными GridView и DataTable. Не будем изобретать велосипед и рассмотрим одну из популярных и удобных библиотек, которой я пользуюсь чаще других.
Данная библиотека называется ClosedXML . По этой ссылке находится официальный адрес проекта на GitHub. Библиотека позволяет легко манипулировать файлами MS Excel в удобной объектно-ориентированной манере. Она может быть использована на любом .NET языке программирования (C#, VisualBasic.NET), а также в проектах не только типа WebApplication.
Представим ситуацию, что у нас есть под рукой вот такой Excel-файл с ценами на ремонт телефонов, в котором на листах расположены отдельные бренды, колонки на листе представляют конкретные модели для этого бренда, а строки представляют конкретные неисправности и сколько будет стоить ремонт для той или иной модели.
Давайте создадим веб-приложение, которое сможет распарсить этот файл так, чтобы мы могли работать с записями в объектно-ориентированной манере, например, сохранять/обновлять бренды, модели и позиции в прайсе в базу данных. Или, например, представлять этот прайс в виде обычной html-таблицы в браузере пользователя.
Создаем в Visual Studio проект типа MVC, открываем Nuget Manager и скачиваем нужный нам пакет.
Создадим все доменные классы-модели, которые описывают предметную область.
Описанные модели максимально простые, чтобы не усложнять пример. В них нет и не отслеживается уникальных идентификаторов, все свойства типа String и т.д.
Также определим т.н. ViewModel, то есть модель для представления. В нее заключим все объекты доменной модели, которые мы хотим показать пользователю в браузере:
Далее в вашем проекте определите какое-нибудь действие в нужном контроллере, которое будет отвечать за загрузку Excel-файла из браузера на сервер. Пример кода с html-формой в соответствующем представлении:
Из примера видно, что в форме мы обращаемся к методу Import в контроллере Home. Создадим подобный метод:
В этом методе мы парсим Excel-файл и манипулируем записями в объектно-ориентированной манере. Код в методе довольно простой. Более подробно он объясняется в видео-версии этой статьи. Здесь отмечу основные моменты:
- в нескольких циклах foreach мы пробегаемся по всем записям в файле, параллельно создавая объекты классов наших доменных моделей;
- получается сформированная коллекция брендов телефонов, в каждом из которых содержится коллекция конкретных моделей, в каждой из которых содержится коллекция позиций прайса с ценами на ремонт;
- также создается ViewModel, где мы считаем количество ошибок при импорте и в которую вкладываем заполненную коллекцию брендов;
- в итоге мы можем либо сохранить полученные объекты в базу данных, либо отправить ViewModel в представление.
В качестве интерактива Вы можете в соответствующем представлении создать HTML-таблицу с прайсом и отправить ее в браузер пользователя.
Также возможна другая ситуация, когда у нас нет исходного Excel-файла, вместо этого веб-приложение должно сформировать его динамически, и пользователь сайта сможет его скачать. Например, тот же список брендов и моделей телефонов.
Вывод: В этой статье мы рассмотрели основные возможности библиотеки ClosedXML . Ее функционала вполне хватает для обработки большинства сценариев, когда данные представлены в формате MS Excel файлов.
[expert_bq id=»1570″]Обратиться к файлу Excel и импортировать данные в Microsoft SQL Server можно с помощью T-SQL инструкций OPENDATASOURCE, OPENROWSET или OPENQUERY. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Дополнительно рекомендовано закрывать файл Excel во время обращения к нему в распределенных запросах, а также указывать путь к файлу без пробелов (хотя современный SQL сервер умеет работать с пробелами).Работа с MS Excel на MVC. Импорт и экспорт файлов
Начну я с того, что импортировать данные из Excel в Microsoft SQL Server можно с помощью «Распределенных запросов» и с помощью «Связанных серверов». Это, скорей всего, Вы уже знаете, так как я уже не раз писал об этом (ссылки на соответствующие материалы указаны чуть выше).


