Экспорт данных из эксель в эксель

Экспорт данных в Excel

С помощью мастера экспорта можно экспортировать данные из базы данных Access в файл формата, распознаваемого приложением Excel. В этой статье описаны процедуры подготовки и экспорта данных в Excel, а также приведены рекомендации по поиску и устранению типичных неполадок, которые могут при этом возникнуть.

В этой статье

Экспорт данных в Excel: основы

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

Стандартные сценарии экспорта данных в Excel

В отделе или рабочей группе для работы с данными используется как Access, так и Excel. Данные хранятся в базах данных Access, но для анализа и распространения его результатов используется Excel. Группа выполняет экспорт данных в Excel по мере необходимости, но этот процесс требуется сделать более эффективным.

Вы используете Access, но ваш руководитель предпочитает работать с данными в Excel. Вам приходится регулярно копировать данные в Excel, но вам хотелось бы автоматизировать этот процесс ради экономии времени.

Об экспорте данных в Excel

В приложении Access нет команды “Сохранить как” с возможностью сохранения данных в формате Excel. Чтобы скопировать данные в Excel, необходимо воспользоваться функций экспорта, описанной в этой статье, либо скопировать данные Access в буфер обмена, а затем вставить их в таблицу Excel.

Можно экспортировать таблицу, запрос, форму или отчет, а также отдельные записи в представлении.

В приложении Microsoft Excel есть команда импорта данных из базы данных Access. Ее можно использовать вместо команды экспорта Access, однако с помощью команды импорта в Excel можно импортировать только таблицы и запросы. Дополнительные сведения см. в разделе справки Excel Подключение к внешним данных и их импорт.

Экспортировать макросы и модули нельзя. При экспорте формы, отчета или таблицы с подчиненными формами, отчетами или таблицами экспортируется только главная форма, отчет или таблица. Все подчиненные формы, отчеты и таблицы следует экспортировать в Excel отдельно.

В ходе операции экспорта можно экспортировать лишь один объект базы данных. Однако после нескольких операций экспорта можно выполнить в Excel слияние нескольких листов.

Подготовка к экспорту

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

Если исходным объектом является таблица или запрос, определите, как требуется экспортировать данные: с сохранением форматирования или без него. Выбранный способ экспорта влияет на два аспекта целевого файла: объем экспортируемых данных и формат их отображения. В приведенной ниже таблице представлены результаты экспорта форматированных и неформатированных данных.

Источник: support.office.com

Экспорт данных из Excel 2007

Автор: Индык Игорь Викторович
e-mail: exelentc@yandex.ru

Как файл Excel преобразовать csv-файл?

Для экспорта таблицы Excel в csv-файл нажмите кнопку Microsoft Office (в левом верхнем углу) и выберите команду Сохранить как. В поле Тип файла укажите нужный вам тип файла csv.

Excel проведит конвертацию (экспорт) только текущего листа.

Как экспортировать таблицу из Excel в Access с сохранением связей между ними?

Экспорт из Excel’a в Access осуществляется путем импорта в Access. Для этого необходимо открыть базу данных Access и на вкладке Внешние данные группы Ипорт нажать на кнопку Excel.

В диалоговом окне Внешние данные – Электронная таблица Excel нажмите на кнопку Обзор… и укажите путь к нужному вам файлу.

Отметьте пункт Создать связанную таблицу для связи с источником данных. Благодаря этому пункту обе таблицы будут связаны, так что изменения в исходной таблице будут автоматически отображаться в Access. Внесение изменений в таблицу Access не будут влиять на данные исходной таблице.

Нажмите ОК. И у вас откроется второе диалоговое окно – Связь с электронной таблицей.

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

Здесь необходимо указать, содержит ли первая строчка названия столбцов.

На последнем шаге вам предложат указать Имя связанной таблицы. Нажимаем Готово.

После этого Access предупредит о завершении связывания таблиц – экспорт из Excel’a/импорт в Access завершен.

В начало страницы

В начало страницы

Источник: on-line-teaching.com

XI Международная студенческая научная конференция Студенческий научный форум – 2019

Импорт/экспорт данных из Excel в R

Rstudio – это удобная программа, среда разработки программного обеспечения с открытым исходным кодом, для программирования R . Она предназначена для обработки и работы с графикой. А Microsoft Excel в свою очередь программа, созданная корпорацией Microsoft , предоставляющая возможности экономико-статистических расчётов, графические инструменты. И важной функцией, связывающей данные программы, является импорт и экспорт данных из Microsoft Excel в Rstudio . Универсальным средством обмена данными между этими двумя программами может являться буфер обмена.

Читайте также:  Полоса прокрутки в excel

Одним из возможных вариантов импорта/экспорта данных из Excel в R является команда read . table и write . table

Начнём с команды read . table :

Data h , отвечает на вопрос, нужно ли считать первую строку таблицы именами столбцов или нет.

Обратная команда – write table :

write.table(Data,”clipboard”, quote=FALSE, col.names = TRUE, row.names = FALSE, sep = “t”, dec=”,”) # Запись в буфер обмена данных в Excel-формате.

Записывает данные таблицы Data из R в буфер обмена Excel -формат.

Следует помнить, что вместо буфера “clipboard” может стоять и полный адрес к файлу, записанный прямым слешом (/), например: “C:/Users/User/Desktop/data.txt”.

Следующим вариантом импорта/экспорта данных является программа read . csv и read . csv 2. Действие команды read . csv аналогично процедуре read . table , но применяется для чтения данных, хранящихся в файле с расширением . csv (“Comma Separated Values” — “данные, разделенные запятыми”.). В России запятая является десятичным разделителем, а не разделителем данных, поэтому с такими файлами практически не работают. Тем не менее, эти команды необходимо знать для чтения аутентичных csv – файлов из европейских или американских источников.

Вот как эти команды выглядят в действии (без разницы read.csv или read.csv2) (См. рис.1):

Существует разница между операторами read.csv и read.csv2:

read.csv – оперирует с разделителями данных в виде запятых, а read.csv2 – с разделителями данных в виде точки с запятой, однако, десятичным разделителем у них всегда используется точка.

Ещё одна процедура импорта/экспорта данных – read . xlsx

В системе R существует множество различных библиотек для разного типа задач, но прежде чем приступить к рассмотрению команд чтения и записи таких файлов, необходимо установить мощную библиотеку ” xlsx “, которая в свою очередь не будет корректно работать без предварительной установки на компьютер объектно-ориентированного языка программирования Java, поскольку данная библиотека использует объекты Java . Также для данной работы на необходима библиотека ” dplyr “, для таких команд, как str и select.

Для начала устанавливаем библиотеку ” xlsx “, сделать это можно двумя способами: из меню tools ( install packages ), или командой library(“xlsx”)(См. рис.2).

Использование процедуры read . xlsx . Рассмотрим её на примере.

Создадим для начала excel файл, содержащий на первом листе таблицу (Рис.3):

Следующим действием прописывать путь к файлу. Самый техничный способ – это указать мышью на файл data.xlsx и, удерживая нажатыми клавиши Ctrl и Shift, нажать правую кнопку мыши, после чего выбрать пункт «Копировать как путь».

В итоге в буфере обмена содержится путь к нашему файлу. Однако вставить его в соответствующую команду R нужно с некоторыми изменениями. Образуем в R текстовую переменную PATH, в которую скопируем из буфера обмена наш путь (Ctrl+v):

Как можно заметить, был добавлен один слеш (/), это форма записи пути и является корректной в R .

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

Если бы имя нашего листа было написано латиницей: не “Лист1”, а скажем, “List1”, то можно было бы обратиться к нему не по номеру (индексу), а по имени:

Просмотреть полученный результат можно завершающими командами (См. рис. 4):

Data # Смотрим саму таблицу данных Data

Таким образом, был проведён импорт данных из Microsoft Excel в R . Также можно заметить, что десятичные разделители были преобразованы из запятых в точки, а даты автоматически распознаны в R, и их формат изменен на европейский.

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

Источник: scienceforum.ru

Реальное программирование: экспорт и импорт данных из/в Excel

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

В рамках этой серии я буду затрагивать в основном вопросы программирования на C#, PHP, JS (jQuery), AS, работы с БД MySQL и всевозможных сопутствующих технологий. В общем, веб и базы данных.


Экспорт данных в Excel

Довольно часто программистам ставят задания по написанию программ автоматического обновления баз данных с возможностями импорта/экспорта Excel-файлов. Нужно сказать, что несмотря на множество предлагаемых в интернете решений, подводных камней на этапе реализации именно импорта/экспорта можно встретить довольно много. Также стоит отметить, что некоторые из вариантов хоть и дают ожидаемый результат, но имеют некоторые ограничения, например, по тем же версиям Microsoft Office и форматам (только xls и т.п.), а экспорт в Excel-файл при большом объеме данных может занять довольно продолжительное время. Например, та же многими любимая библиотека + подключаемый программный блок ExcelXMLWriter при создании xls-файла с большим объемом данных требует длительное время на произведение расчетов (десятки минут и более).

Читайте также:  Как посчитать количество дней между датами в excel

Я прошел довольно интересный путь с использованием различных реализаций импорта/экспорта в Excel и, в конце концов, остановился на наиболее приемлемом для меня варианте, а именно, сохранение результатов работы своих программ в текстовый формат TSV. Это специальный формат для хранения баз данных, который довольно часто используется в различного рода ПО, именно там я его и подсмотрел. В качестве символьного разделителя в TSV используется символ табуляции, записи в полях могут заключаться в двойные или одинарные кавычки (хотя это может и не использоваться), а одна строка текстового файла соответствует одной строке в таблице БД. А в целом, для реализации вы используете стандартный StreamWriter.

Вариант TSV открывается любой современной версией Microsoft Excel, автоматически преобразуется в структурированную таблицу, но и здесь есть некоторые тонкие нюансы, которые нужно устранить.

Если вы используете двойные либо одинарные кавычки для выделения записей в строке, то их (эти кавычки) лучше удалить внутри самих записей во избежание дальнейших проблем с чтением в Excel’е. Это целесообразнее сделать, используя класс StringBuilder и его метода Replace(). Замена символов с использованием StringBuilder производится быстрее, нежели просто через класс String, что становится ощутимо при обработке большого количества данных.

Также проблему могут вызывать записи, в которых есть разбиение по строкам или абзацам, поэтому нужно обработать и их.

Пример кода необходимых преобразований в записях (двойные кавычки заменяются на одинарные, переход на новую строку – на HTML-тег
, два пробела – на один, символ табуляции – на четыре HTML-символа пробела):

Использование TSV выгодно еще и тем, что вы можете использовать данный формат и в обход Excel, например, написав собственный небольшой модуль импорта/экспорта, но не Excel-файлов, а вашего формата – обыкновенного текстового TSV из которого построчно извлекаются данные и затем парсятся.

Excel автоматически распознает TSV-формат


Импорт данных из Excel

Что же касается импорта данных из xls либо xlsx файлов, то наиболее часто встречаемый “подводный камень” – неправильная обработка данных при чтении. Да, это есть и встречается довольно часто. Например, артикулы товаров могут иметь как буквенную, так и цифровую маркировку. И если вы будете использовать стандартную библиотеку, такую как, например, Microsoft.Jet.OLEDB4.0, то она будет читать в колонке либо только буквенные, либо только числовые артикулы, это можно обнаружить при загрузке Excel-файла в DataGridView – вместо части данных пустые поля.

Как отличный вариант, решающий данную проблему, можно рассматривать замену “читающей” библиотеки на Microsoft.ACE.OLEDB 12.0. Ее можно найти в рамках системного драйвера для Office 2007 – AccessDatabaseEngine (скачивается здесь). Устанавливается в папку, где у вас находится Microsoft Office, а к C#-проекту его нужно подключить в References, взяв dll-ку из этого же каталога.

Затем все стандартно (в данном случае вы выбираете файл через OpenFileDialog):

Источник: www.kv.by

Простой экспорт в Excel XLSX

В продолжение темы, начатой в предыдущей статье, хочу поделиться своим опытом экспорта данных, в частности, в формате XLSX.

Итак, кому интересно, как заполнить XLSX без больших и сложных библиотек, прошу под кат.

Недавно передо мной возникла задача экспортировать непредсказуемый по размеру объем табличных данных в формате XLSX. Как любой здравомыслящий программист, первым делом полез искать готовые решения.
Почти сразу наткнулся на библиотеку PHPExcel. Мощное решение, с кучей разных функций и возможностей. Порывшись еще немного нашел отзывы программистов о ней. В частности, на форумах встречаются жалобы на скорость работы и отказ работать с большим объемом данных. Отметил библиотеку как один из вариантов решения и начал искать дальше.
Находил еще несколько библиотек для работы с XLSX, но все они были или забытыми, т.к. не обновлялись по 2-3 года, или обязательно тянули за собой сторонние библиотеки, или использовали DOM для работы с файлами, что мне не очень нравилось. Каждый раз, натыкаясь на очередную библиотеку и изучая механизмы ее работы, ловил себя на мысли, что все это «из пушки по воробьям». Не нужно мне такое сложное решение!
Признаюсь честно, изучив поверхностно каждое из найденных решений, не стал ставить и тестировать ни одного. Мне нужно было более простое и надежное, как танк, решение.

Задача

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

  • Оформить экспортирующий механизм в виде автономного класса
  • Реализовать в классе набор функций для записи значений ячеек и ряда
  • Возможность работы с неограниченным объемом данных
  • Распаковка и упаковка XLSX.

Отдельно остановлюсь только на последнем пункте. Как известно, XLSX представляет собой обычный zip-архив, который можно распаковать и увидеть, что он состоит из нескольких файлов и каталогов. Обратным образом его можно упаковать и переименовать в XLSX. Если все изменения правильные, то Microsoft Excel откроет файл без проблем.

Реализация

Изначально очень хотел создавать все файлы, из которых состоит XLSX, кодом, но, к счастью, быстро понял бессмысленность своей идеи. И родилось иное, более правильно и простое решение. Надо с помощью Microsoft Excel создать файл XLSX в таком виде, в каком он нужен в итоге, но без данных, иными словами — шаблон, а потом, с помощью кода, только добавить данные!
В таком случае, класс должен будет распаковывать шаблон в отдельный каталог, вносить изменения в /xl/worksheets/sheet1.xml и упаковывать содержимое каталога обратно в XLSX.

Читайте также:  Ндс в эксель

В объявлении класса присутствуют публичные переменные:
$templateFile – имя файла шаблона
$exportDir – папка, в которую будет распакован шаблон, разумеется с необходимыми правами доступа.

Конструктор класса принимает имя будущего файла, количество колонок и рядов. Потом проверяет, что имя файла корректно, папка для распаковки шаблона существует и формирует полное имя конечной папки для распаковки шаблона.
После создания класса можно распаковать шаблон и открыть на запись sheet1.xml. На самом деле я не просто дописываю в файл, а полностью его перезаписываю. Однажды взяв из него начальную строку, вношу в нее изменение в тэге dimension, который отражает размер экспортируемого диапазона, и записываю в файл.

Обеспечить скорость работы и возможность работы с большим объемом данных позволяют функции resetRow и flushRow. Они отвечают за очистку текущего ряда в памяти и запись текущего ряда на диск.
А вот сохранение значений ячеек с разными типами оказалось не такой простой задачей.

Запись строки

Казалось бы, что сложного записать строковое значение в файл. Однако, в XLSX все не так просто. Все строки внутри XLSX хранятся в отдельном файле /xl/sharedStrings.xml. В ячейки записываются не строковые значения, а их порядковые номера — индексы. Разумное решение с точки зрения сокращения размера файла.

Но такое решение неудобно с точки зрения программного заполнения шаблона. Если выполнять указанное требование, то мне бы пришлось выполнять отдельный проход по всем строковым значениям в массиве данных, исключать повторяющиеся, сохранять их в sharedStrings.xml, проиндексировать и вместо значений в исходном массиве вписать их индексы. Медленно и неудобно.

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

Запись числа

Никаких сложностей с записью целых или дробных чисел не возникло. Все просто:

Запись даты и времени

Дата и время хранятся в виде количества секунд прошедших с 01.01.1970 поделенных на количество секунд в сутках. Причем, в вычислении допущена ошибка с определением високосного года. В общем, не вдаваясь в подробности, которые несложно найти в сети, чтобы корректно вычислять дату пришлось объявить в классе две константы:
ZERO_TIMESTAMP – смещение даты в формате Excel от UNIX_TIMESTAMP
SEC_IN_DAY – секунд в сутках.
После вычисления значения даты и времени, целая часть дроби – это дата, дробная часть – время:

После записи всех данных остается закрыть рабочий лист и рабочую книгу.

Применение

Как и раньше, использование описанного класса основано на экспорте данных с помощью провайдера CArrayDataProvider. Предполагая, что объем экспортируемых данных может оказаться очень большим, применен специальный итератор CDataProviderIterator, который перебирает возвращаемые данные по 100 записей (можно указать иное число записей).

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

Источник: habr.com

Экспорт из Excel в MySQL

Дата публикации: 2015-10-27

От автора: в этом уроке мы рассмотрим экспорт из Excel в MySQL на PHP. В одном из уроков нашего сайта, мы с Вами изучали библиотеку PHPExcel, которая используется для работы с таблицами Microsoft Excel, используя язык PHP. При этом на примере создания прайс-листа для сайта, мы научились переносить данные из СУБД MySql в данные таблицы. Но очень часто при разработке сайтов, необходимо выполнить обратную задачу – выгрузить данные из таблиц Microsoft Excel в базу данных СУБД MySql. Поэтому в данном уроке мы займемся решением данной задачи.

Установка библиотеки PHPExcel

Для начала хотел бы обратить Ваше внимание на то, что данный урок – это своего рода продолжение урока Генерация прайс-листа в формате Excel при помощи PHP. Phpexcel, который публиковался ранее.

При этом если Вы не знакомы с библиотекой PHPExcel и с основами работы с ней, то настоятельно рекомендую просмотреть вышеуказанный урок, так как сегодня мы не будем тратить время на изучение основ. Для данного урока мы будем использовать тестовый сайт, который написан с использованием объектно-ориентированного подхода и шаблона проектирования MVC. Сейчас я не буду приводить его код, так как он будет доступен Вам в дополнительных материалах к уроку. В функционале данного сайта описан механизм загрузки на сервер файлов формата Excel и соответственно, данный механизм нам необходимо доработать, а именно, после успешной загрузки файла на сервер, необходимо прочитать содержимое данного файла и перенести данные из необходимых столбцов таблицы Excel, в базу данных MySql.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Теперь давайте установим библиотеку PHPExcel. Для этого мы воспользуемся инструментом Composer, (для тех кто не знаком с данным инструментов, рекомендую посмотреть урок Введение в Composer, поэтому открываем командную строку, переходим в каталог с тестовым сайтом и выполняем следующую команду:

Источник: webformyself.com