Как загрузить или сохранить файлы Excel (XML) в таблицы SQL Server (сохраняя все значения, форматирование, свойства, формулы и т. Д.)?

Пожалуйста, простите меня, если мой вопрос слишком элементарный, но я искал ответ, который я еще не нашел, хотя у меня были люди, которые дали мне кусочки головоломки. Я хочу загружать и хранить файлы Excel в таблицах SQL Server, заполнять некоторые ячейки с помощью хранимых процедур и экспортировать их обратно в файлы Excel, когда это необходимо.

Поскольку последние версии данных Excel хранят данные XML и SQL Server, они могут читать / обрабатывать XML, я думаю, что то, что я хочу сделать, возможно, но я не знаю, как это сделать.

Вы можете сохранить весь файл в поле BLOB, если вам не нужно работать с файлом после его загрузки в базу данных. Он сохранит все форматирование и значения, как вы предлагаете, и будет обрабатывать как текущую, так и предыдущую версии Excel (что делает формат XML без проблем).

Вот статья на MS.com, которая может помочь в этом вопросе: http://support.microsoft.com/kb/326502

Теперь, если вам нужно изменить значения после того, как вы сохранили документ в базе данных, вам нужно будет сделать что-то более похожее на то, о чем описывает выше @ross Watson.

Лучше всего запустить объект Excel, сосать файл электронной таблицы, а затем получить доступ к ячейкам один за другим, определить значение ячейки / формат и т. Д. Это имеет несколько недостатков, а именно, вам нужен Excel (не так хорошо сервер) , и это большой молот, чтобы расколоть орех.

Другой вариант – использовать драйвер базы данных Excel для чтения таблицы, как это было в таблице базы данных. Один из больших недостатков заключается в том, что, хотя он выглядит весьма полезным, он делает некоторые большие предположения о типе данных столбцов в электронной таблице. Если, например, у вас есть строки, где значения в столбце A являются датами, ваша импортированная таблица будет иметь тип данных столбца DateTime. Если, скажем, 50 строк или около того, у вас есть то, что не может быть датой, например «N / A», ваша таблица данных получит нулевые значения для этих ячеек (поскольку драйвер решил, что столбец A выглядит как даты, поэтому все, что не является датой, станет нулевым) . Вы не получаете никаких предупреждений об этом.

Другой вариант, как указано в комментарии к исходному сообщению, – это «прочитать XML в электронной таблице». Ну, это прекрасно работает, но предполагает, что a) файл Excel является XML-форматом (какие старые файлы не будут), и b) вы можете проанализировать XML, который может изменить формат. Вы можете сделать хуже, чем посмотреть на материал OpenXML для чтения файла электронной таблицы из формата XML, но если вам нужно обрабатывать файлы xls (в дополнение к файлам xlsx) , лучшим вариантом является, вероятно, запуск объекта Excel и использовать это.

  • Как установить значение по умолчанию в выпадающем меню для пользовательского управления лентой Excel
  • Используя Java для открытия excel, затем прочитайте xml, а затем сохраните как xls
  • Запись Excel 2003 с помощью C #
  • Почему эта комбинация XML / XSD не экспортируется из Excel 2007?
  • свойство excel xml window width
  • Экспорт Excel для проверки XML со значением по умолчанию
  • Принудительно сохранить файл xml в формате xls в Python
  • Open XML SDK - Excel получить комментарии
  • Преобразование сложных Excel в XML
  • Анализ данных в документе XML Document to Excel
  • показать многострочное текстовое значение в ячейках документа Excel excel, сделанного с помощью C # XmlWriter
  • Давайте будем гением компьютера.