Как преобразовать файл в формате xls в xml? - Itsovet61.ru

Как преобразовать файл в формате xls в xml?

XML – популярный формат для обмена данными между приложениями. Существует возможность конвертации файлов Excel в данный формат.

Как преобразовать файл в формате xls в xml?

Конвертация форматов Microsoft Excel в XML

XML – это универсальный формат работы с данными. Его поддерживает множество программ, в том числе из сферы СУБД. Поэтому конвертация информации в XML важна именно с точки зрения взаимодействия и обмена данными между различными приложениями. Excel как раз входит в число программ, которые работают с таблицами, и даже может выполнять манипуляции с базами данных. Разберемся, как конвертировать файлы Эксель в XML.

Процедура конвертации

Конвертация данных в формат XML не такой уж простой процесс, так как в его ходе должна быть создана специальная схема (schema.xml). Впрочем, для преобразования информации в простейший файл данного формата достаточно иметь под рукой обычные инструменты сохранения в Excel, а вот для создания хорошо структурированного элемента придется основательно повозиться с составлением схемы и её подключением к документу.

Способ 1: простое сохранение

В Excel можно сохранить данные в формате XML, просто воспользовавшись меню «Сохранить как…». Правда, нет гарантии, что потом все программы будут корректно работать с файлом, который был создан таким способом. Да и не во всех случаях этот способ работает.

  1. Запускаем программу Excel. Для того, чтобы открыть элемент, подлежащий конвертации переходим во вкладку «Файл». Далее жмем по пункту «Открыть».

Запускается окно открытия файлов. Переходим в директорию, где содержится файл, который нам нужен. Он должен быть в одном из форматов Эксель – XLS или XLSX. Выбираем его и жмем на кнопку «Открыть», расположенную в нижней части окна.

Как видим, файл был открыт, а его данные отобразились на текущем листе. Опять переходим во вкладку «Файл».

Открывается окно сохранения. Переходим в ту директорию, в которой желаем, чтобы хранился конвертированный файл. Впрочем, можно оставить и директорию по умолчанию, то есть ту, что предложила сама программа. В этом же окне, если возникнет желание, можно изменить наименование файла. Но основное внимание нужно обратить на поле «Тип файла». Раскрываем перечень кликом по данному полю.

Среди вариантов сохранения ищем наименование «Таблица XML 2003» или «XML-данные». Выбираем один из этих пунктов.

  • После этого жмем на кнопку «Сохранить».
  • Таким образом, преобразование файла из формата Excel в XML будет совершено.

    Способ 2: инструменты разработчика

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

      По умолчанию вкладка инструментов разработчика отключена. Поэтому, прежде всего, нужно её активировать. Переходим во вкладку «Файл» и кликаем по пункту «Параметры».

    В открывшемся окне параметров перемещаемся в подраздел «Настройка ленты». В правой части окна устанавливаем галочку около значения «Разработчик». После этого жмем на кнопку «OK», размещенную в нижней части окна. Вкладка инструментов разработчика теперь включена.

    Далее открываем таблицу Excel в программе любым удобным способом.

    На её основе нам предстоит создать схему, которая формируется в любом текстовом редакторе. Для этих целей можно использовать и обычный Блокнот Windows, но лучше применять специализированное приложение для программирования и работы с языками разметки Notepad++. Запускаем эту программу. В ней создаем схему. На нашем примере она будет выглядеть, как показано внизу на скриншоте окна Notepad++.

    Как видим, открывающим и закрывающим тегом для документа в целом служит «data-set». В этой же роли для каждой строки выступает тег «record». Для схемы вполне будет достаточно, если мы возьмем всего две строки таблицы, а не будем переводить её всю вручную в XML. Название открывающего и закрывающего тега столбца может быть произвольным, но в данном случае для удобства мы предпочли просто перевести русскоязычные наименования колонок на английский язык. После того, как данные внесены, просто сохраняем их через функционал текстового редактора в любом месте на жестком диске в формате XML под названием «schema».
    Опять переходим к программе Excel с уже открытой таблицей. Перемещаемся во вкладку «Разработчик». На ленте в блоке инструментов «XML» кликаем по кнопке «Источник». В открывшемся поле в левой части окна жмем на кнопку «Карты XML…».

    В открывшемся окне кликаем по кнопке «Добавить…».

    Запускается окно выбора источника. Переходим в директорию расположения схемы составленной ранее, выбираем её и кликаем по кнопке «Открыть».

    После того, как элементы схемы появились в окне, перетаскиваем их с помощью курсора в соответствующие ячейки наименования столбцов таблицы.

  • Кликаем правой кнопкой мыши по полученной таблице. В контекстном меню последовательно переходим по пунктам «XML» и «Экспорт…». После этого сохраняем файл в любой директории.
  • Как видим, существуют два основных способа конвертации файлов XLS и XLSX в формат XML программой Microsoft Excel. Первый из них предельно простой и заключается в элементарной процедуре сохранения с заданным расширением через функцию «Сохранить как…». Простота и понятность данного варианта, несомненно, являются преимуществами. Но у него есть один очень серьезный недостаток. Преобразование выполняется без учета определенных стандартов, и поэтому файл, конвертируемый таким способом, сторонними приложениями может просто не распознаваться. Второй вариант предполагает составление карты XML. В отличие от первого способа, таблица, преобразованная по данной схеме, будет соответствовать всем стандартам качества XML. Но, к сожалению, не каждый пользователь сможет быстро разобраться с нюансами этой процедуры.

    Помимо этой статьи, на сайте еще 12304 инструкций.
    Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Преобразование файлов Excel в XML и обратно

    Немного об Excel и XML

    Итак, прежде чем узнать, как открыть, создать или перевести файл XML в Excel и обратно, давайте поближе познакомимся с типами этих файлов. Здесь нужно сразу отметить, что документы Excel имеют множество форматов, в то время, как XML — и есть формат файла. Поэтому не стоит путать эти два понятия.

    Microsoft Excel является мощной программой для вычислений с множеством полезных функций

    Программа Microsoft Excel является специальной утилитой, предназначенной для создания и редактирования таблиц. С ними вы уже можете делать всё что угодно: создавать базы, диаграммы, формулы и другие типы данных. Это очень мощный инструмент, поэтому все его возможности мы обсуждать не будем. Сегодня наша цель несколько другая, и мы не станем отходить от темы сегодняшней дискуссии.

    Файлы XML, для более простого понимания, предназначены для хранения, обмена различных данных между утилитами. Особенно часто пользуются этим языком разметки при передаче информации через интернет. И когда вам нужно перенести табличные данные из Экселя на сайт, например, то вам нужно будет преобразовать свой документ, чтобы он правильно отображался. Поэтому давайте не будем оттягивать момент истины и сразу приступим к выполнению операции.

    Как преобразовать Excel в XML

    Дорогие друзья, на самом деле преобразование файлов является достаточно простым занятием. Однако, у некоторых пользователей могут возникнуть проблемы при переносе данных, поэтому сегодня мы с вами рассмотрим несколько способов для осуществления нашего замысла. Поэтому набираемся терпения и приступаем к действиям:

    1. Самый простой способ, который может не сработать в некоторых случаях, это сохранение файла в нужном формате в самой программе Microsoft Excel. Для этого откройте необходимый документ в этом приложении. Затем нажмите на кнопку «Файл» (рассматривается на примере Office 2013, в других версиях процесс сохранения может несколько отличаться) в верхнем левом углу окна Экселя, затем пункт «Сохранить как», после чего выберите место сохранения документа, дайте ему имя и во вкладке типа файла укажите «XML данные». После этого проверьте, правильно ли всё у вас получилось. Если нет, то пробуем следующие способы.
    2. Итак, если возникает ошибка в предыдущем случае, то, возможно, в вашей копии программы не предусмотрена поддержка и соответствующие надстройки. Чтобы их установить перейдите на сайт компании Microsoft http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=3108, скачайте и инсталлируйте этот файл к себе на компьютер или ноутбук. Далее, запустите программу Microsoft Excel и нажмите на большую цветную кнопку в левом верхнем углу окна приложения (здесь мы уже смотрим пример на версии 2007-го года). В появившемся блоке кликните по параметрам, слева от выхода из утилиты. Теперь зайдите в пункт надстроек и нажмите на кнопку «Перейти» напротив пункта «Управление». Выскочит диалоговое окно, где нужно кликнуть по обзору и найти документ, который вы скачали с сайта Майкрософта ранее. Теперь кликаем ОК и переходим в основное окно программы, где у вас теперь есть вкладка XML Tools — с помощью него теперь вы спокойно можете создать файл XML из существующей таблицы. Сохранять его нужно аналогично предыдущему пункту.
    3. Если вам совсем не хочется загружать и себя, и свой компьютер такой информацией, то можете прибегнуть к помощи специальных утилит-конвертеров или онлайн-версий этих программ. К примеру, вы можете загрузить приложение Format Factory, которое позволит вам совершить все необходимые действия. Но стоит помнить, что сохранённые и преобразованные таким образом файлы не всегда работают в дальнейшем. То есть во время операции могут повредиться сектора или области в памяти документа, что негативно скажется на нём — он попросту может не открыться в XML-редакторе, например. Поэтому рекомендуется использовать либо профессиональные программы, либо сам Microsoft Excel.
    Читайте также  Как открыть файл XLS на Windows 10?

    Как перевести XML в Excel

    Прежде чем перевести XML в Excel, нужно его для начала открыть. Рассмотрим весь этот непродолжительный процесс ниже. Итак, приступаем:

    1. Запустите программу Microsoft Excel с помощью ярлыка на рабочем столе или через меню проводника.
    2. Нажмите на «Открыть другие книги» внизу главной страницы, если вы используете Office В других версиях процесс может несколько отличаться.
    3. Далее, нажимаем на «Компьютер» или другое место, где расположен ваш XML-файл, затем кликните «Обзор» и смените в появившемся окне тип данных на «Файлы XML».
    4. Теперь ищем необходимый файл и открываем его в нашей программе с помощью одноимённой кнопки.
    5. Далее, обсудим то, как преобразовать наш документ. Перейдите во вкладку разработчика, затем нажмите на кнопку импорта.
    6. В открывшемся окне нужно будет снова найти и выбрать наш документ, над которым вы и хотите произвести действие, затем кликаем на кнопку «Импорт».
    7. Затем настраиваете всё под себя: область для импорта, место сохранения и другие параметры. После чего вы получите таблицу, которую позже можно сохранить в нужном для вас формате. Как видите, ничего сложного нет.

    Подведём итоги

    Дорогие читатели, сегодня мы с вами узнали не только как преобразовать файлы XML в Excel и обратно, но и как создать и открыть их при несовместимости версий. Надеемся, что у вас всё получилось и больше не осталось никаких вопросов. Не забываем делиться в комментариях своим мнением и опытом: возможно, вы знаете простой способ конвертации. Расскажите другим пользователям, получилось ли у вас перевести один тип документа. Если сработало, то поделитесь тем, каким способом воспользовались вы.

    Как сделать из excel xml?

    XML – это универсальный формат работы с данными. Его поддерживает множество программ, в том числе из сферы СУБД. Поэтому конвертация информации в XML важна именно с точки зрения взаимодействия и обмена данными между различными приложениями. Excel как раз входит в число программ, которые работают с таблицами, и даже может выполнять манипуляции с базами данных. Разберемся, как конвертировать файлы Эксель в XML.

    Процедура конвертации

    Конвертация данных в формат XML не такой уж простой процесс, так как в его ходе должна быть создана специальная схема (schema.xml). Впрочем, для преобразования информации в простейший файл данного формата достаточно иметь под рукой обычные инструменты сохранения в Excel, а вот для создания хорошо структурированного элемента придется основательно повозиться с составлением схемы и её подключением к документу.

    Способ 1: простое сохранение

    В Excel можно сохранить данные в формате XML, просто воспользовавшись меню «Сохранить как…». Правда, нет гарантии, что потом все программы будут корректно работать с файлом, который был создан таким способом. Да и не во всех случаях этот способ работает.

    1. Запускаем программу Excel. Для того, чтобы открыть элемент, подлежащий конвертации переходим во вкладку «Файл». Далее жмем по пункту «Открыть».
    2. Запускается окно открытия файлов. Переходим в директорию, где содержится файл, который нам нужен. Он должен быть в одном из форматов Эксель – XLS или XLSX. Выбираем его и жмем на кнопку «Открыть», расположенную в нижней части окна.
    3. Как видим, файл был открыт, а его данные отобразились на текущем листе. Опять переходим во вкладку «Файл».
    4. После этого переходим по пункту «Сохранить как…».
    5. Открывается окно сохранения. Переходим в ту директорию, в которой желаем, чтобы хранился конвертированный файл. Впрочем, можно оставить и директорию по умолчанию, то есть ту, что предложила сама программа. В этом же окне, если возникнет желание, можно изменить наименование файла. Но основное внимание нужно обратить на поле «Тип файла». Раскрываем перечень кликом по данному полю.

    Среди вариантов сохранения ищем наименование «Таблица XML 2003» или «XML-данные». Выбираем один из этих пунктов.

  • После этого жмем на кнопку «Сохранить».
  • Таким образом, преобразование файла из формата Excel в XML будет совершено.

    Способ 2: инструменты разработчика

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

    1. По умолчанию вкладка инструментов разработчика отключена. Поэтому, прежде всего, нужно её активировать. Переходим во вкладку «Файл» и кликаем по пункту «Параметры».
    2. В открывшемся окне параметров перемещаемся в подраздел «Настройка ленты». В правой части окна устанавливаем галочку около значения «Разработчик». После этого жмем на кнопку «OK», размещенную в нижней части окна. Вкладка инструментов разработчика теперь включена.
    3. Далее открываем таблицу Excel в программе любым удобным способом.
    4. На её основе нам предстоит создать схему, которая формируется в любом текстовом редакторе. Для этих целей можно использовать и обычный Блокнот Windows, но лучше применять специализированное приложение для программирования и работы с языками разметки Notepad++. Запускаем эту программу. В ней создаем схему. На нашем примере она будет выглядеть, как показано внизу на скриншоте окна Notepad++.

    Как видим, открывающим и закрывающим тегом для документа в целом служит «data-set». В этой же роли для каждой строки выступает тег «record». Для схемы вполне будет достаточно, если мы возьмем всего две строки таблицы, а не будем переводить её всю вручную в XML. Название открывающего и закрывающего тега столбца может быть произвольным, но в данном случае для удобства мы предпочли просто перевести русскоязычные наименования колонок на английский язык. После того, как данные внесены, просто сохраняем их через функционал текстового редактора в любом месте на жестком диске в формате XML под названием «schema».

  • Опять переходим к программе Excel с уже открытой таблицей. Перемещаемся во вкладку «Разработчик». На ленте в блоке инструментов «XML» кликаем по кнопке «Источник». В открывшемся поле в левой части окна жмем на кнопку «Карты XML…».
  • В открывшемся окне кликаем по кнопке «Добавить…».
  • Запускается окно выбора источника. Переходим в директорию расположения схемы составленной ранее, выбираем её и кликаем по кнопке «Открыть».
  • После того, как элементы схемы появились в окне, перетаскиваем их с помощью курсора в соответствующие ячейки наименования столбцов таблицы.
  • Кликаем правой кнопкой мыши по полученной таблице. В контекстном меню последовательно переходим по пунктам «XML» и «Экспорт…». После этого сохраняем файл в любой директории.
  • Как видим, существуют два основных способа конвертации файлов XLS и XLSX в формат XML программой Microsoft Excel. Первый из них предельно простой и заключается в элементарной процедуре сохранения с заданным расширением через функцию «Сохранить как…». Простота и понятность данного варианта, несомненно, являются преимуществами. Но у него есть один очень серьезный недостаток. Преобразование выполняется без учета определенных стандартов, и поэтому файл, конвертируемый таким способом, сторонними приложениями может просто не распознаваться. Второй вариант предполагает составление карты XML. В отличие от первого способа, таблица, преобразованная по данной схеме, будет соответствовать всем стандартам качества XML. Но, к сожалению, не каждый пользователь сможет быстро разобраться с нюансами этой процедуры.

    Мы рады, что смогли помочь Вам в решении проблемы.

    Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

    Помогла ли вам эта статья?

    Конвертер файлов / Документы / Конвертировать в XLS / XML конвертер / XLS в XML

    Вы можете перевести XLS документ в XML и во множество других форматов с помощью бесплатного онлайн конвертера.

    Выберите файл с компьютера, Google Диска, Dropbox или перетащите его на страницу

    Выберите xml или любой другой формат, который вам нужен (более 100 поддерживаемых форматов)

    Скачайте ваш xml файл

    Подождите пока ваш файл сконвертируется и вы сразу сможете его скачать xml -файл

    Microsoft Excel Binary File Format

    XLS – представляет собой электронную таблицу, созданную популярным приложением Microsoft Excel. Включает в себя данные документа, которые расположены в ячейках, обладающих определенным адресом. Они могут содержать формулы, математические уравнения, имеющие связь с информацией в других ячейках, и фиксированные сведения. Нередко применяется для разработки графиков и схем. Формат позволяет хранить и редактировать большой круг параметров – изображения, таблицы, макросы, шрифты, диаграммы. Широко использовался до появления версии Excel 2007 года, а затем был заменен на расширение XMLSS. Сведения внутри документа XLS содержатся в серии потоков статичного размера, их месторасположение описывается с помощью нескольких таблиц распределения сегментов. Отличается обратной совместимостью и поддерживает различные форматы файлов, созданных для DOS. Нередко применяется веб-браузерами с целью исключить использование бинарных форматов. Утилита входит в офисный пакет Microsoft и кроме Excel может открываться различными приложениями вроде Apache Open Office, Libre Office, адаптированных к ОС MacOS, Windows или Linux.

    Читайте также  Как запустить exe файл на Ubuntu?

    Востребованность формата объясняется его простотой, хотя он не поддерживает отдельные функции, например, хранение макросов VBA. Вплоть до появления XMLSS приложение Excel при форматировании применяло расширение Biff, созданное на базе формата-контейнера IFF. Благодаря этому были доступны изменения шаблонов книг и их содержание. После внедрения в 2007 году нового формата программа не утратила свойств обратно совместимой, что гарантирует широкое распространение XLS и в будущем. Впоследствии на смену расширению XLS пришли форматы XLSM, XLSB и XLSX.

    XLS в XML

  • Converters
  • Document
  • XLS
  • Конвертировать XLS в XML
  • Конвертировать XLS в XML — онлайн и бесплатно

    Перетащите сюда файлы или выберите ссылку
    Максимальный размер файла 50МБ (хотите больше?)

    Или выберите новый формат

    И согласиться с нашими Условиями

    Перетащите ваши файлы, чтобы их конвертировать

    Мы сразу же ими займёмся

    File Size Warning

    You are attempting to upload a file that exceeds our 50MB free limit.

    You will need to create a paid Zamzar account to be able to download your converted file. Would you like to continue to upload your file for conversion?

    Files to Convert

    Overall conversion/upload progress:

    File Name File Size Progress

    Вы в хорошей компании:
    Zamzar конвертировал около 510 миллионов файлов начиная с 2006 года

    XLS (Document)

    Расширение файла .xls
    Категория Document File
    Описание «Microsoft Excel» является коммерческим приложением электронных таблиц, написанным и распростроняемым «Microsoft» для «Microsoft Windows» и «Mac OS X». Версии «Excel» до 2007 года для сохранения файлов используют формат XLS. В него входят вычисления, графические инструменты, сводные таблицы и макро язык программирования «Visual Basic» для приложений. Он стал широко используемой электронной таблицей на данных платмормах, особенно после 5 версии в 1993 году, а также он почти полностью заменил «Lotus 1-2-3» в качестве стадарта индустрии для электронных таблиц. «Excel» является частью «Microsoft Office». Последние версии – 2010 для «Microsoft Windows» и 2011 для «Mac OS X».
    Действия XLS в XML — Конвертировать файл сейчас
    View other document file formats
    Технические детали До 2007 года «Microsoft Excel» использовал собственный бинарный формат файлов, называемый «Binary Interchange File Format (BIFF)» в качестве главного формата. Используемый в качестве основы для XLS-файлов это постоянный формат, который поддерживает авторинг и манипулирование содержанием рабочих книг и шаблонов рабочих книг. Большинство версий «Microsoft Excel» могут читать форматы CSV, DBF, SYLK, DIF и др.
    Ассоциированные программы Microsoft Excel
    Microsoft Excel Viewer
    OpenOffice
    Разработано Microsoft
    Тип MIME application/vnd.ms-excel
    Полезные ссылки Подробнее о формате XLS
    Как отркыть файл XLS без «Microsoft Excel»
    Спецификация бинарного формата файлов «Microsoft Office»
    XLS Converter

    XML (Document)

    Расширение файла .xml
    Категория Document File
    Описание XML это тип файла, содержащий язык разметки. Он доступен для чтения как человеком-пользователем, так и приложениями. Разработанный, чтобы быть хранилищем данных, а не отображать данные, он является независимым от платформы языком и позволяет пользователям определять свои собственные тэги. Его мобильность и независимость от поставщиков сделали этот язык чрезвычайно популярным форматом файлов, особенно в сети. XML позволяет определять структуру данных, которая позволяет другим приложениям интерпретировать и обрабатывать данные внутри XML файлов. XML считается таким же важным для сети, как и HTML.
    Действия Convert XML file
    View other document file formats
    Технические детали Все файлы .XML содержат базовую структуру, в рамках которой пользователи могут определять свои собственные тэги. Каждый файл начинается с того, что называется декларацией XML. Это определяет версию и кодировку внутри самого файла. Затем файл должен определить корневой элемент, известный также как родительский элемент. Затем, корневой элемент получает дочерний элемент (ы). Все тэги в XML-файла должны иметь соответствующий закрывающий тэг. XML-файлы могут содержать комментарии, ссылки на объекты и атрибуты. Затем могут быть разработаны приложения для извлечения значений внутри файла и их представления по желанию.
    Ассоциированные программы Chrome
    Firefox
    Microsoft Internet Explorer
    Microsoft Office InfoPath
    Notepad
    Oxygen XML Editor
    Safari
    Разработано World Wide Web Consortium
    Тип MIME application/xml
    application/x-xml
    text/xml
    Полезные ссылки Подробнее о XML
    Учебник XML от «W3Schools»
    Официальная документация от «W3C»
    Convert XML file

    Преобразование файлов XLS

    Используя Zamzar можно конвертировать файлы XLS во множество других форматов

    • xls в bmp (Windows bitmap)
    • xls в csv (Comma Separated Values)
    • xls в gif (Compuserve graphics interchange)
    • xls в html (Hypertext Markup Language)
    • xls в html4 (Hypertext Markup Language)
    • xls в html5 (Hypertext Markup Language)
    • xls в jpg (JPEG compliant image)
    • xls в mdb (Microsoft Access Database)
    • xls в numbers (Apple iWork Numbers Spreadsheet)
    • xls в numbers09 (Apple iWork ’09 Numbers Spreadsheet)
    • xls в ods (OpenDocument spreadsheet)
    • xls в pdf (Portable Document Format)
    • xls в png (Portable Network Graphic)
    • xls в rtf (Rich Text Format)
    • xls в tiff (Tagged image file format)
    • xls в txt (Text Document)
    • xls в xlsx (Microsoft Excel 2007 Spreadsheet)
    • xls в xml (Extensible Markup Language)

    Конвертация xls в xlsx и xml на C#

    В этой статье я постараюсь рассказать об одном из возможных путей конвертации документов формата xls в xml.

    Непосредственно моя задача выглядела примерно так:

    Дано:

    1. 1-2 дня времени на поиск и реализацию решения
    2. Найденное решение должно быть настолько бесплатным, насколько это возможно
    3. Известна примерная структура, размер и содержание файла, которые должны быть обработаны, что снимает необходимость читать графики, диаграммы и иные медианные из документа.
    4. Использовать Interop, равно как и иные библиотеки, которые требуют установки Office нельзя, так как это создает лишнюю нагрузку на сервер и требует дополнительной установки офисного пакета.

    Должен заметить, эта задача отнюдь не из простых, и решить ее, также как это было сделано с новыми офисными форматами (docx и xlsx), не получится по следующим причинам:

    • Во-первых, Microsoft не предлагает каких-либо решений для чтения указанных форматов (Interopt в расчет не берем, так как его использование требует установки офисного пакета на сервере, а чтение данных из одного файлика будет сжирать необоснованно много оперативы).
    • Во-вторых, вся информация в документах xls (равно как и в doc) хранится в бинарном виде и недоступна для свободного чтения.
    • В-третьих, в интернете практически нет информации о библиотеках, которые бы решали задачу чтения информации из старых форматов excel и word, равно как и задачу преобразования старых форматов в новые.

    Перерыв stackoverflow, Хабр, проконсультировавшись со старшими товарищами, а также обратившись к нижегородскому сообществу .Net разработчиков стало понятно, что наиболее верным способом решения поставленной задачи является конвертация xls в xlsx, ну а как работать с xlsx я уже знал.

    Однако, нативной библиотеки от Microsoft, которая бы решала, казалось бы, столь очевидную проблему совместимости старых и новых офисных форматов, в природе не существует. Платные библиотеки требовали обоснования необходимости их покупки и, также, отдаляли момент начала их использования (на срок проведения закупочных процедур), а бесплатные решения, написанные для питона и линукса, требовали внесения существенных изменений в архитектуру проекта. И вот тут, казалось бы, самое время начинать рвать волосы из подмышек, но, как говорится, всегда найдется азиат!

    Tony Qu является автором крутой библиотеки, написанной как раз для работы с офисными файлами. Изначально либа была написана для джавы, после чего портирована под .Net, правда с некоторыми ограничениями (в версии под .Net отсутствует возможность работы с документами doc).
    Но, возможно, данная статья не появилась бы на свет, если бы не огромная ложка дегтя: пользователи библиотеки NPOI напрочь лишены какой-либо документации, описывающей алгоритмы ее использования. Разумеется, ничто не мешает получить персональную поддержку от разработчика, уже за материальное вознаграждение.

    Поэтому, думаю, представленное ниже решение, можно использовать не только для конвертации xls в xlsx, но и в качестве небольшого примера, демонстрирующего возможности либы.

    Давайте кодить

    Подготовка

    Как видите, основной метод конвертации работает со стримами. Не переживайте, для результата выполнения метода мы создадим обертки, которые позволят нам сохранять результат конвертации в файл (причем, как из файла, так и из потока).
    За работу с файлами xls в библиотеке NPOI отвечает класс HSSFWorkbook , конструктор которого может принимать как стрим, так и путь до файла.
    Наш будущий сконвертированный xlsx будет находиться в переменной типа XSSFWorkbook .
    Далее запускаем цикл, в котором будет происходить копирование данных из xls в xlsx. Как мы видим, на каждой итерации цикла создаются по два объекта. Обратите внимание, что при создании объекта xssfSheet сразу же происходит копирование имени листа из объекта класса HSSFSheet .
    В последствии, указанные объекты используются в качестве аргументов в функциях, копирующих стили листов и их содержимое.
    Результат конвертации возвращается в виде потока типа MemoryStream

    Разберем метод, отвечающий за копирование стилей

    Как вы видите, для того, чтобы сохранить аутентичное внешнее представление, нам необходимо произвести копирование шрифтов из одного файла в другой, а также применить стили старого файла к соответствующим ячейкам нового.

    За копирование шрифтов отвечает метод void CopyFont(IFont toFront, IFont fontFrom)

    Думаю, из имен свойств можно сделать вывод об их назначении, поэтому комментировать я это не буду — вроде бы итак все предельно понятно.
    Копирование и применение соответствующих стилей для каждой ячейки осуществляется в этом методе:

    Опять же, из названия свойств можно сделать вывод о том, что и куда копируется. Единственное, обратите внимание на то, что применение конкретных семейств шрифтов происходит через вызов метода SetFont , а не путем прямого присвоения значения через свойства класса.

    Копирование данных из файла xls в новый файл xlsx

    Перейдем к процессу копирования содержимого из файла xls в новый файл xlsx.

    Логика данного метода сводится к вызову метода CopyRow(source, destination, srcRow, destRow, mergedRegions) — что происходит в нем расскажу чуть ниже. Помимо вызова указанного метода, в CopySheet происходит поиск номер последней заполненной ячейки в строке. Это необходимо для того, чтобы верно скопировать ширину каждого столбца (да, конвертация xls в xlsx предусматривает даже такой нюанс).

    Разберем метод void CopyRow(HSSFSheet srcSheet, XSSFSheet destSheet, HSSFRow srcRow, XSSFRow destRow, List mergedRegions) :

    Этот метод выполняет две функции:

    • Во-первых, метод копирует данные из «простых» ячеек файла с расширением xls в «простые» ячейки файла с расширением xlsx
    • Во-вторых, метод обрабатывает случаи, когда ячейка находится внутри группы объединенных ячеек. При этом, проверяется, относится ли данная ячейка к уже существующей группе объединенных ячеек, или же является первой выявленной ячейкой новой группы.

    Метод копирования данных и стилей для каждой ячейки:

    В этом методе происходит следующее:

    • Во-первых, копируются стили:
    • Во-вторых, копируется содержание каждой ячейки:

    Как можно видеть, в указанном методе происходит не слепое копирование содержимого ячеек, а с сохранением типов данных и исходного функционала (когда, ячейка содержит функцию).

    Обработка объединенных ячеек

    Вернемся к обработке ячеек, включенных в группу объединенных.
    Как было показано выше, за это отвечают методы CellRangeAddress GetMergedRegion(HSSFSheet sheet, int rowNum, short cellNum) и bool IsNewMergedRegion(CellRangeAddress newMergedRegion, List mergedRegions) :

    Так, мы просто получаем все области объединенных ячеек для конкретного листа, после чего проверяем, входит ли наша ячейка хоть в какой-нибудь из диапазонов объединенных ячеек. Если входит, то то метод возвращает тот диапазон объединенных ячеек, к которому относится проверяемая ячейка. В противно случае, вернется null .

    Указанный метод сопоставляет текущую область объединенных ячеек с той областью, к которой относится текущая ячейка, которая входит в состав нескольких объединенных ячеек. Как можно увидеть, сравнение происходит по 4-м крайним точкам каждой из областей (первая и последняя колонка, первая и последняя строчка проверяемой области).

    На этом процесс преобразования xls в xlsx можно считать законченным.

    С моей стороны будет свинством не сказать, что данный код был нагло сплагиачен со stackoverflow, который в свою очередь представляет собой переработанное решение по конвертации xlsx в xls, которое также лежит на stackoverflow.

    Дополнительный функционал

    Предлагаю добавить возможность конвертации с записью полученного результата в файл:

    • из потока
    • из файла:

    Также, не будем забывать, что цикл статей посвящен конвертации разных текстовых файлов в xml:

    Как видите, в методе данного класса используется объект класса XlsxToXml , который реализует логику конвертации xlsx в xml, описанную в статье по этой ссылке.

    С полным кодом программы Вы можете ознакомиться здесь

    Конвертер (8.2) в XML из табличного документа (xls, dbf, txt, mxl) на основе Загрузка данных из табличного документа

    Рейтинг: 18

    Обработка встроена в типовую «Загрузка данных из табличного документа». Для этого добавлен режим загрузки Преобразование в XML.

    Обработка позволяет преобразовать табличный документ, загруженный на форму, в файл XML.

    На закладке Настройки указываются имя выгружаемого файла, настройка выгружаемых колонок и первая строка данных для выгрузки. Строка выше указанной используется для определения имен колонок.

    Скачать файлы

    Специальные предложения

    Просмотры 25511

    Загрузки 136

    Рейтинг 18

    Создание 12.03.15 14:45

    Обновление 12.03.15 14:45

    № Публикации 335669

    Конфигурация Конфигурации 1cv8

    Операционная система Windows

    Вид учета Не имеет значения

    Доступ к файлу Абонемент ($m)

    Код открыт Не указано

    См. также

    Мастер XML-обмена Промо

    Функциональный аналог конвертации данных в кармане — комплекс обработок предназначенный для быстрой и удобной разработки обмена данными между информационными базами 1С.

    5 стартмани

    02.09.2015 34545 5 Lancelot-2M 17

    Декларации по формам 7 и 8 алкогольной продукции, перенос данных из Декларант-Алко, импорт данных из файлов XML форм 11,12,7,8

    Конфигурация на управляемых формах, платформа 1С 8.3.10.2667 и выше, с помощью которой можно сформировать Декларации по формам 7 и 8 алкогольной продукции, выполнить перенос данных из ПО Декларант-Алко версии 4.31.05 и выше, импорт и загрузку из файлов XML форм 11,12,7,8. Есть возможность автоматического подписания и шифрации файла выгрузки.

    1 стартмани

    15.04.2021 7086 36 independ 35

    RabbitMQ + Конвертация данных 2.0

    Подсистема для обмена данными между любыми конфигурациями через Rabbit MQ. Позволяет использовать все преимущества Rabbit для обмена 1С. Для обмена требуются Правила обмена (КД 2).

    3 стартмани

    18.03.2021 4516 12 IT_GG 4

    Настройка обмена с любой устаревшей конфигурацией на базе 8.2 через обработку «Универсальный обмен данными в формате XML» и «Конвертацию данных 2.0»

    Разберем кейс, как настроить простенький обмен с любой устаревшей конфигурацией на базе 8.2 через обработку «Универсальный обмен данными в формате XML» и Конвертацию данных 2.0 с возможностью настройки гибких отборов по периоду, организации и списку документов.

    1 стартмани

    23.11.2020 10460 8 orfos 14

    Выгрузка данных из УТ 11.3/11.4 в БП 3.0 (перенос документов и справочной информации из «Управление торговлей» ред. 11.3/11.4 в «Бухгалтерия предприятием» ред. 3.0). Обновлен до УТ 11.3.4.х/11.4.7х и БП 3.0.7х.х Промо

    Данная обработка предназначена для выгрузки в формате XML данных из программы «Управление торговлей» ред. 11.3/11.4 по основным группам документов (документы покупки/продажи товаров и услуг, складские документы, счета-фактуры, ценообразование), а также набор основных справочников. Загрузка данных в БП ред. 3.0 через обработку «Универсальный обмен данными XML». Основная цель обработки – оптимизация работы бухгалтеров во время обмена данными между программами, а также выборочная корректировка загруженных ранее документов.

    04.03.2016 65044 18 SEOAngels 66

    Выгрузка XML-файла УПД для отправки через ЭДО СБИС, Диадок и т.п.

    С помощью этой обработки для документа «Реализация товаров и услуг» формируется XML-файл УПД, который можно отправить через ЭДО СБИС, Диадок и пр.

    1 стартмани

    17.08.2020 16294 104 vasilievil 15

    Улучшенная обработка универсального обмена данными в формате XML (УФ)

    Улучшенная обработка «Универсальный обмен данными» с полноценными возможностями СКД для выборки данных (не только для отборов).

    1 стартмани

    23.06.2020 11838 130 Lem0n 1

    Перенос документов из ЗУП 2.5 в ЗУП 3.1

    Доброго времени суток, друзья. За основу взяты правила https://infostart.ru/public/806689/, немного добавлено своего. В правилах частично реализован стандартный перенос из обработки перехода на ЗУП 3.1.

    1 стартмани

    04.06.2020 6808 118 hottion 68

    Обмен данными между УТ 10.3 и Розницей 2.2 (правила обмена данными между «Управлением торговлей» ред. 10.3. и «Розницей» ред. 2.2) Промо

    Данные правила предназначены для обмена в формате XML данных из программы «Управление торговлей» ред. 10.3. и «Розница» ред. 2.2 по основным группам документов и основных справочников. Загрузка данных осуществляется через встроенную обработку «Универсальный обмен данными XML». Основная цель обработки – корректировка типовых правил на выявленные ошибки и расширение выгрузки для корректной выгрузки данных по ЕГАИС и продажам в целом. Протестировано до УТ 10.3.47.х и Розница 2.2.11.х

    3 стартмани

    16.09.2016 56735 6 SEOAngels 65

    Загрузка из XML файла ЭДО в документ поступления для конфигураций 1С: Розница 2.2/2.3, Управление торговлей 10.3/11.4

    Внешние обработки загрузки данных из XML файлов формата ON_NSCHFDOPPRMARK ЭДО в документы поступления 1С Розница версия 2.2.10.19 и выше, Управление торговлей 10.3.52.2 и выше, Управление торговлей 11.4.5.63 и выше

    1 стартмани

    04.06.2020 26686 289 independ 130

    Выгрузка и загрузка XML для управляемых форм 8.3 (с отбором)

    В работе постоянно приходится разделять в различные базы или объединять несколько организаций в одну базу, долгое время пользовался стандартной обработкой выгрузка-загрузка из UNIREPS 8.2, в режиме обычного приложения, но, к сожалению, для управляемого приложения стандартная обработка из UNIREPS 8.3 (Диск ИТС) не позволяет нормально сделать выгрузку с отбором, поэтому ей никогда не воспользовался. Решил что напишу обработку, которая позволит делать отборы в различных вариациях, кроме того, в обработках из UNIREPS (8.2 и 8.3) существенно отличается процесс загрузки предопределенных, что не всегда удобно при больших объемах данных. Обработка написана на базе UNIREPS 8.3, но есть существенные изменения. Но интерфейс доработан так, чтобы обработка была похожа на старую добрую обработку из UNIREPS 8.2, к которой все так привыкли.

    Понравилась статья? Поделиться с друзьями:
    Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: