С помощью мастера экспорта можно экспортировать данные из базы данных Access в файл формата, распознаваемого приложением Excel. В этой статье описаны процедуры подготовки и экспорта данных в 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, см. в разделе Решение проблем, связанных с отсутствующими и неверными значениями.
Если исходным объектом является таблица или запрос, определите, как требуется экспортировать данные: с сохранением форматирования или без него. Выбранный способ экспорта влияет на два аспекта целевого файла: объем экспортируемых данных и формат их отображения. В приведенной ниже таблице представлены результаты экспорта форматированных и неформатированных данных.
Экспорт |
Исходный объект |
Поля и записи |
Форматирование |
Без форматирования |
Таблица или запрос Примечание: Формы и отчеты невозможно экспортировать без форматирования. |
Экспортируются все поля и записи базового объекта. |
Параметры свойства «Формат» пропускаются в ходе операции. Для полей подстановки экспортируются только значения кодов подстановки. Содержимое полей гиперссылок экспортируется в виде столбца текста, в котором ссылки отображаются в формате отображаемый_текст#адрес#. |
С форматированием |
Таблица, запрос, отчет или форма |
Экспортируются только поля и записи, отображаемые в текущем представлении или объекте. Фильтрованные записи, скрытые столбцы таблицы, а также не отображаемые в форме или отчете поля не экспортируются. |
В мастере соблюдаются параметры свойства «Формат». В случае полей подстановки экспортируются значения подстановки. При экспорте полей гиперссылок значения экспортируются в виде гиперссылок. При экспорте полей форматированного текста текст экспортируется без форматирования. |
-
Выберите целевую книгу и ее формат. Имейте в виду, что отчеты можно экспортировать только в более старом формате XLS (но не в формате XLSX).
В процессе экспорта Access предлагает указать имя конечной книги. В приведенной ниже таблице представлена сводка случаев создания новой книги или перезаписи имеющейся.
Целевая книга |
Исходный объект |
Экспортируемые данные |
Результат |
Не существует |
Таблица, запрос, отчет или форма |
Данные с форматированием или без него |
В ходе операции экспорта создается книга. |
Существует |
Таблица или запрос |
Данные без форматирования |
Файл не перезаписывается. В книгу добавляется новый лист, которому присваивается имя объекта, из которого экспортируются данные. Если лист с таким именем уже существует, Access предлагает либо заменить содержимое соответствующего листа, либо указать другое имя нового листа. |
Существует |
Таблица, запрос, отчет или форма |
Данные с форматированием |
Файл перезаписывается экспортируемыми данными. Все имеющиеся листы удаляются, и создается новый лист с именем экспортируемого объекта. Данные листа Excel наследуют параметры форматирования исходного объекта. |
Данные всегда добавляются в новый лист. Невозможно добавить данные в имеющийся лист или именованный диапазон.
К началу страницы
Выполнение экспорта
-
Если целевая книга Excel открыта, закройте ее перед выполнением операции.
-
На панели навигации исходной базы данных выберите объект, который требуется экспортировать.
Экспорт только части данных
Если объектом является таблица, запрос или форма и требуется экспортировать только часть данных, откройте объект в режиме таблицы и выберите необходимые записи.
Открытие формы в режиме таблицы
-
Чтобы открыть форму, дважды щелкните ее.
-
Щелкните форму правой кнопкой мыши, а затем щелкните элемент Режим таблицы. Если он недоступен, выполните действия, описанные ниже.
-
Выберите пункт Режим конструктора.
-
Нажмите клавишу F4, чтобы отобразить панель задач «Страница свойств».
-
В раскрывающемся списке в верхней части этой панели выберите пункт Форма.
-
На вкладке «Формат» панели «Страница свойств» установите значение Да для свойства Режим таблицы.
-
На вкладке Конструктор в группе Представления выберите пункт Режим таблицы.
Примечание: Часть отчета экспортировать нельзя. Однако можно выбрать или открыть таблицу или запрос, на которых основан отчет, и затем экспортировать часть данных в этот объект.
-
-
-
На вкладке Внешние данные в группе Экспорт нажмите кнопку Excel.
-
В диалоговом окне Экспорт — Электронная таблица Excel просмотрите предлагаемые имена файлов рабочей книги Excel (Access использует имена исходных объектов). При необходимости имя файла можно изменить.
-
В поле Формат файла выберите нужный формат файла.
-
Если при экспорте таблицы или запроса требуется сохранить форматирование данных, установите флажок Экспортировать данные с макетом и форматированием. Дополнительные сведения см. в разделе Подготовка к операции экспорта.
Примечание: При экспорте формы или отчета этот флажок установлен по умолчанию и недоступен для изменения.
-
Чтобы просмотреть конечный файл Excel после завершения операции экспорта, установите флажок Открыть целевой файл после завершения операции экспорта.
Если исходный объект был открыт и одна или несколько записей для экспорта выделены до запуска операции, можно установить флажок Экспортировать только выбранные записи. Если требуется экспортировать все отображаемые записи, этот флажок необходимо снять.
Примечание: Если записи не выделены, этот флажок недоступен (неактивен).
-
Нажмите кнопку ОК.
Если в ходе экспорта возникает ошибка, в Access отображается сообщение с описанием ее причины. В противном случае приложение Access экспортирует данные и в соответствии с параметрами, выбранными на этапе 7, открывает либо не открывает целевую книгу в Excel. Затем в Access открывается диалоговое окно, в котором можно создать спецификацию со сведениями об экспорте.
К началу страницы
Что еще важно знать об экспорте
-
Сведения о том, как сохранить сведения об экспорте в виде спецификации, которую можно использовать повторно, см. в статье Сохранение параметров операции импорта или экспорта в виде спецификации.
-
Дополнительные сведения о запуске спецификаций см. в статье Выполнение сохраненной операции импорта или экспорта.
-
Дополнительные сведения о запуске спецификаций в определенное время см. в статье Планирование импорта или экспорта.
-
Сведения о том, как изменить имя спецификации, удалить ее или обновить имена исходных файлов, см. в статье Задачи управления данными.
К началу страницы
Решение проблем, связанных с отсутствующими и неверными значениями
В приведенной ниже таблице описаны различные способы устранения типичных ошибок.
Совет: Если отсутствует всего несколько значений, введите их в книгу Excel самостоятельно, в противном случае исправьте исходный объект в базе данных Access и повторите экспорт.
Источник проблемы |
Описание и решение |
Вычисляемые поля |
Экспортируются результаты вычисляемых полей; выражения, на основе которых производится вычисление, не экспортируются. |
Многозначные поля |
Многозначные поля экспортируются в виде списка значений, разделенных точками с запятой (;). |
Рисунки, объекты и вложения |
Графические элементы (например, эмблемы, содержимое полей объектов OLE и вложения, которые содержатся в исходных данных) не экспортируются. Их следует добавить на лист вручную после завершения операции экспорта. |
График |
При экспорте формы или отчета, содержащих объект Microsoft Graph, он не экспортируется. |
Данные в неверном столбце |
Значения Null на целевом листе иногда заменяются данными, которые должны находиться в следующем столбце. |
Отсутствующие значения даты |
Значения дат, предшествующих 1 января 1900 г., не экспортируются. Соответствующие ячейки на листе содержат значения Null. |
Отсутствующие выражения |
Выражения, которые используются для вычислений, не экспортируются в Excel. Экспортируются только результаты вычислений. Формулу следует добавить в рабочий лист Excel вручную после завершения операции экспорта. |
Отсутствующие подчиненные формы, отчеты и таблицы |
При экспорте формы, отчета или таблицы экспортируется только главная форма, отчет или таблица. Необходимо повторить операцию экспорта для всех подчиненных форм, отчетов и таблиц, которые требуется экспортировать. |
Отсутствующие или неправильно отформатированные столбцы |
Если ни один из столбцов на конечном листе не отформатирован, повторите операцию экспорта, установив флажок Экспортировать данные с макетом и форматированием в мастере. Если же только некоторые столбцы имеют форматирование, отличное от исходного, выполните нужные действия в Excel вручную. Форматирование столбца в Excel
|
Значение «#» в столбце |
Значение # может содержаться в столбце, который соответствует логическому полю формы. Это может быть результатом запуска операции экспорта из области переходов или режима формы. Чтобы устранить эту ошибку, откройте форму в режиме таблицы, прежде чем экспортировать данные. |
Индикаторы или значения ошибки |
Проверьте ячейки на наличие индикаторов ошибки (треугольников зеленого цвета в углу ячеек) или значений ошибки (строк, которые начинаются со знака #, а не с нужных данных). |
К началу страницы
How to Export Data to Excel
Learn to make reporting much easier
Updated on October 28, 2022
What to Know
- To export, select File > Export > choose Excel-compatible file (CSV or text format).
- To import, make sure exported data is in order > open or create worksheet > Data tab > choose import format/option.
- Import Access database: Select Get Data > From Database > From Microsoft Access Database > choose file.
This article explains how to export data from other applications into Excel for Microsoft 365, Excel 2019, and Excel 2016.
How to Export Data to Excel
Excel can grab data from a variety of sources, from other Excel workbooks, to text files, Facebook, other tables and data ranges, and any web URL you input. If you have ready access to the data, you can import straight from that source, which is what we’ll address here.
For some applications, you may need to Export the data from that application first, or even have the options to export directly to Excel. That goes beyond the scope of this article as there are too many applications to list individually. But as a rule of thumb, it can be achieved by going to File > Export and selecting a file type that is compatible with Excel, or Excel itself if exporting directly to it. Microsoft Excel supports long list of file formats, but you typically want the data represented in either a Comma Separated Value (CSV) or text format.
How to Import Data to Excel
To import data to Excel, follow these steps:
-
Before you begin your export/import process, it’s a good idea to give your data a quick look to make sure everything is in order. You’re only wasting your time if you import incorrect or incomplete data, because you may need to redo the entire import/export operation.
-
When you’re ready, export the data if necessary with your particular application or source, and then open (or create) the Excel worksheet that you want to import the data to.
-
Select the Data tab in the top menu.
-
Above the Get and Transform Data subheading are a number of options you can select, but if none of them apply, select the generalized Get Data.
-
To import an Access database, select Get Data > From Database > From Microsoft Access Database.
-
In the subsequent File Explorer window, select the database (or other file type) that you want to import the data from and select OK.
-
If your Access file has a number of databases, the Navigator window will provide a number of import options. In this case, import qrySalesbyCategory by selecting it and then selecting Load. To make any changes to the data before importing it, select Transform Data instead.
Excel can only import the datasheet, form, and report. Extras like macros and modules will not be imported into your Excel worksheet.
Depending on the size of your database and the speed of your PC, importing the data can take some time, so wait for it to complete. But, if all has gone to plan, when it’s finished you should now see your data fully imported into Excel and displayed in a useful format. You can continue to import data if you need more, or get to work on applying functions, formulas, and other useful tools that Excel has to offer.
In some compatible applications, like Access, data can simply be copied from an active Access database and pasted it into Excel.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
Экспорт данных в Excel
Смотрите также таблицы Excel нажимаемРезультат:UTF-8CSV запятой соответственно вСохранитьОткройте созданный файл в Таким образом все CSV и нажмите CSV, а затемЗначение «#» в столбце запятой (;).Открыть целевой файл после
В этой статье
и требуется экспортироватьТаблица, запрос, отчет или
команды импорта в
С помощью мастера экспорта
на кнопку функцииЧтобы экспортировать книгу Excel
и вписываем запятую– файл будет Блокноте или в
Экспорт данных в Excel: основы
(Save). любом стандартном текстовом символы, не входящиеСохранить импортируйте файлЗначениеРисунки, объекты и вложения завершения операции экспорта только часть данных, форма Excel можно импортировать можно экспортировать данные «Специальная вставка». В в текстовый файл, (,) в соответствующих сохранён на компьютере. любом другом текстовом
Стандартные сценарии экспорта данных в Excel
-
Запустите Проводник Windows и редакторе, например, в в ASCII, останутся(Save).После нажатия.csv#Графические элементы (например, эмблемы,. откройте объект вЭкспортируются только поля и только таблицы и из базы данных появившемся окне ставим сделайте следующее: полях. Параметр
-
В завершение откройте созданный редакторе на свой измените расширение файла Блокноте. в целости иСохранитьв другое приложение.может содержаться в содержимое полей объектовЕсли исходный объект был
Об экспорте данных в Excel
-
режиме таблицы и записи, отображаемые в запросы. Дополнительные сведения Access в файл галочку у функцииОткройте документ Excel.Разделитель текста CSV-файл в любом выбор (ранее в сЗамечание: сохранности.(Save) появятся два Ниже дано пошаговое
-
столбце, который соответствует OLE и вложения, открыт и одна выберите необходимые записи.
-
текущем представлении или см. в разделе формата, распознаваемого приложением «Связать». В окнеНа вкладке(Text delimiter) обычно текстовом редакторе, чтобы этой статье есть.txtНе все простыеПрежде чем двинуться дальше, диалоговых окна. Не руководство, как экспортировать логическому полю формы. которые содержатся в
-
или несколько записейОткрытие формы в режиме объекте. Фильтрованные записи, справки Excel Подключение Excel. В этой «Как» выбираем –File оставляют без изменения убедиться, что все подробная инструкция, какна текстовые редакторы полностью
-
позвольте мне кратко переживайте, эти сообщения рабочую книгу Excel Это может быть исходных данных) не для экспорта выделены таблицы скрытые столбцы таблицы,
к внешним данных
Подготовка к экспорту
статье описаны процедуры «Текст».(Файл) нажмите – кавычки («). символы сохранены правильно. это делается)..csv поддерживают символы Юникод, пояснить главные отличия не говорят об в формат CSV результатом запуска операции экспортируются. Их следует до запуска операции, а также не и их импорт. подготовки и экспортаНажимаем кнопку «ОК».Save As Далее нажимаем К сожалению, файлыОписанные выше способы экспорта
.По-другому изменить расширение поэтому некоторые из между кодировками UTF-8 ошибке, так и при помощи инструмента экспорта из области добавить на лист можно установить флажокЧтобы открыть форму, дважды отображаемые в формеЭкспортировать макросы и модули данных в Excel,По такому принципу(Сохранить как).ОК
CSV, созданные таким |
данных из Excel |
.txt |
них могут отображаться |
и UTF-16, чтобы |
должно быть. Excel – « переходов или режима вручную после завершенияЭкспортировать только выбранные записи |
щелкните ее. или отчете поля |
нельзя. При экспорте а также приведены вставляем связь вИз выпадающего списка выберите. способом, не всегда в CSV (UTF-8на как прямоугольники. В в каждом индивидуальном |
Первое диалоговое окно напоминает |
Сохранить как формы. Чтобы устранить |
операции экспорта.. Если требуется экспортироватьЩелкните форму правой кнопкой не экспортируются. формы, отчета или рекомендации по поиску другие ячейки таблицыText (Tab delimited)Таким же образом для |
правильно отображаются в и UTF-16) универсальны, .csv большинстве случаев, это случае Вы могли о том, что». эту ошибку, откройтеГрафик все отображаемые записи, |
-
мыши, а затемВ мастере соблюдаются параметры таблицы с подчиненными и устранению типичных Excel.(Текстовые файлы (с быстрого и безболезненного Excel.
т.е. подойдут дляможно непосредственно в никак не повлияет выбрать подходящий формат:В файле выбранного типаВ рабочей книге Excel форму в режиме
При экспорте формы или |
этот флажок необходимо |
щелкните элемент |
свойства «Формат». |
формами, отчетами или |
неполадок, которые могутУдобно то, что |
разделителями табуляции)) или преобразования из Excel |
Для этого способа не работы с любыми |
Блокноте. Для этого |
на итоговый файл, |
UTF-8 |
может быть сохранён откройте вкладку таблицы, прежде чем отчета, содержащих объект снять.Режим таблицыВ случае полей подстановки таблицами экспортируется только при этом возникнуть. при изменении данныхCSV (Comma delimited) в CSV можно |
требуется каких-либо дополнительных |
специальными символами и в диалоговом окне |
и можно просто |
– это более только текущий листФайл экспортировать данные. Microsoft Graph, онПримечание:. Если он недоступен, экспортируются значения подстановки. |
главная форма, отчетЭкспорт данных в Excel: в ячейках таблицы(CSV (разделители – использовать ещё одно
комментариев, так как
Выполнение экспорта
-
в любой версииСохранить как не обращать на
-
компактная кодировка, использующая(The selected file(File) и нажмитеИндикаторы или значения ошибки
не экспортируется.
Если записи не выполните действия, описанныеПри экспорте полей гиперссылок или таблица. Все основы Word, автоматически будут запятые)).
приложение – LibreOffice. из названия уже Excel от 2003
-
(Save as) в это внимание или
-
для каждого символа type does notСохранить какПроверьте ячейки на наличиеДанные в неверном столбце выделены, этот флажок ниже.
-
значения экспортируются в подчиненные формы, отчетыПодготовка к экспорту
-
обновляться данные вНажмите Согласитесь, было бы
-
всё ясно. до 2013. поле выбрать более продвинутый от 1 до
-
support workbooks that(Save as). Кроме индикаторов ошибки (треугольниковЗначения Null на целевом недоступен (неактивен).Выберите пункт виде гиперссылок.
-
и таблицы следуетВыполнение экспорта ячейках таблицы Excel.Save здорово, если быЭто решение я нашёлСуществует множество других способов
Тип файла редактор, например, Notepad++. 4 байт. Чаще contain multiple sheets). этого, диалоговое окно зеленого цвета в листе иногда заменяютсяНажмите кнопкуРежим конструктора
-
-
-
При экспорте полей форматированного экспортировать в ExcelЧто еще важно знать Не нужно обновлять(Сохранить). Microsoft Excel предоставил на одном из
-
преобразования данных из(Save as type)Так как в нашем всего рекомендуется использовать Чтобы сохранить толькоСохранение документа углу ячеек) или данными, которые должныОК
-
. текста текст экспортируется отдельно. об экспорте
-
вручную.Результат: CSV файл (разделенный возможность так же форумов, посвящённых Excel, формата Excel в выберите вариант текстовом Юникод файле этот формат, когда текущий лист, достаточно
(Save as) можно значений ошибки (строк, находиться в следующем.Нажмите клавишу F4, чтобы без форматирования.
-
В ходе операции экспортаРешение проблем, связанных сНо, если таблица запятыми) и TXT настраивать параметры при уже не помню, CSV. В отличие
Все файлы в качестве разделителей символы ASCII преобладают нажать открыть, нажав клавишу которые начинаются со столбце.Если в ходе экспорта отобразить панель задачВыберите целевую книгу и можно экспортировать лишь
отсутствующими и неверными большая, то таблицу файл (разделённый знаками создании файлов CSV.
-
на каком именно. от показанных выше(All files), а
используется символ табуляции, в файле, т.к.ОКF12 знакаОтсутствующие значения даты возникает ошибка, в «Страница свойств». ее формат. Имейте один объект базы значениями Word можно скопировать табуляции).В этой статье я Честно говоря, я решений, эти способы к имени файла а мы хотим
большинство таких символов
Что еще важно знать об экспорте
-
..#Значения дат, предшествующих 1 Access отображается сообщениеВ раскрывающемся списке в в виду, что данных. Однако послеПри экспорте данных в
-
в Excel сразуУрок подготовлен для Вас рассказал об известных никогда не использовал не будут давать
-
в соответствующем поле преобразовать его в требует 1 байтЕсли нужно сохранить всеВ поле
-
, а не с января 1900 г., с описанием ее верхней части этой отчеты можно экспортировать нескольких операций экспорта Excel приложение Access
всю и сразу
Решение проблем, связанных с отсутствующими и неверными значениями
командой сайта office-guru.ru мне способах преобразования этот способ, но,
в результате чистый добавьте «.csv», как CSV (разделители – памяти. Ещё одно листы книги, тоТип файла нужных данных). не экспортируются. Соответствующие причины. В противном
панели выберите пункт |
только в более |
можно выполнить в |
создает копию выбранных установить связи соИсточник: http://www.excel-easy.com/examples/import-export-text-files.html файлов Excel в |
по отзывам множества |
UTF-8 файл (это показано на рисунке запятые), то необходимо преимущество в том, |
нажмите |
(Save as type)К началу страницы ячейки на листе случае приложение AccessФорма старом формате XLS Excel слияние нескольких данных, а затем всеми ячейками таблиц. |
Перевел: Антон Андронов |
CSV. Если Вам пользователей, некоторые специальные не касается OpenOffice, ниже. |
заменить символы табуляции |
что кодировка файлаОтмена выберитеCSV содержат значения Null. |
экспортирует данные и |
. (но не в листов. сохраняет их вВыделяем всю таблицу |
Автор: Антон Андронов |
знакомы более эффективные символы теряются, если который умеет экспортироватьОткройте файл CSV в на запятые. UTF-8, содержащего только(Cancel) и сохранитеCSV (разделители – запятые) |
(Comma Separated Values)Отсутствующие выражения |
в соответствии сНа вкладке «Формат» панели формате XLSX).К началу страницы файле, который можно в Word знакомМожно настроить методы экспорта из сохранять непосредственно из |
файлы Excel в Excel, для этого |
Замечание: символы ASCII, ничем все листы книги(CSV (Comma delimited)). – распространённый форматВыражения, которые используются для параметрами, выбранными на «Страница свойств» установитеВ процессе экспорта AccessПрежде чем выполнять операцию открыть в Excel. стрелочек в левомслияние Word и Excel, Excel в CSV,
|
Да |
конечной книги. В данные, которые будут копировать из Access Word. таблицы автоматически переносились в комментариях. Благодарю.csv большинстве случаев получившийся(File) нажмите именно с разделителями ASCII-файла. можете выбрать для других вариантов формата текстовых) в виде |
только результаты вычислений. |
целевую книгу вдля свойства приведенной ниже таблице экспортироваться, на предмет в Excel достаточноНажимаем функцию «Копировать». в другую таблицу. за внимание!, но остаются, если файл будет содержать |
Открыть
support.office.com
Как преобразовать файлы Excel в формат CSV
– запятыми, аUTF-16 сохранения другой тип CSV: простого текста. Этот Формулу следует добавить Excel. Затем вРежим таблицы представлена сводка случаев сообщений об ошибках часто, можно сохранитьПереходим в таблицу Например,Урок подготовлен для Вас сначала правильный набор символов,> нужен любой файлиспользует от 2 файла, поддерживающий несколькоCSV (разделители – запятые) формат файлов популярен в рабочий лист Access открывается диалоговое. создания новой книги и ошибочных значений. параметры операции экспорта Excel. Нажимаем насвязать таблицу Excel с командой сайта office-guru.ru.xlsx
который далее можноТекстовые файлы CSV, который Excel до 4 байт страниц.(CSV (Comma delimited)). и живуч благодаря Excel вручную после окно, в которомНа вкладке или перезаписи имеющейся. Ошибки рекомендуется устранить для повторного использования закладке «Главная» стрелку таблицей Word
- Источник: https://www.ablebits.com/office-addins-blog/2014/04/24/convert-excel-csv/сохранить как
- безболезненно преобразовать в(Open > Text сможет понять, то
- для хранения каждогоПосле нажатия Этот формат хранит тому, что огромное
Как преобразовать файл Excel в CSV
завершения операции экспорта. можно создать спецификациюКонструкторЦелевая книга до экспорта данных и даже запланировать у кнопки функции, чтобы данные изПеревел: Антон Андронов.xls формат UTF-8 при files) и проверьте этот шаг можно символа. Учтите, чтоОК данные Excel, как количество программ иОтсутствующие подчиненные формы, отчеты со сведениями обв группе
- Исходный объект в Excel. В ее автоматический запуск «Вставить» и выбираем таблицы Excel автоматическиАвтор: Антон Андронов, и затем как помощи любого текстового в порядке ли пропустить, так как не во всехв первом диалоговом
- текстовый файл с приложений понимают CSV, и таблицы экспорте.ПредставленияЭкспортируемые данные противном случае в через определенные интервалы функцию «Вставить связь». попадали в таблицу
- Импорт.csv редактора. данные. Microsoft Excel отлично случаях файл UTF-16 окне, появится второе, разделителями запятыми, и хотя бы какПри экспорте формы, отчетаК началу страницы
- выберите пунктРезультат ходе экспорта могут времени. Всё, таблица вставлена Word. Это неЭкспорт
- , как мы делалиКак оказалось, можно оченьЗамечание: понимает файлы с требует больше места предупреждающее о том,
- может быть использован альтернативный вариант файлового или таблицы экспортируетсяСведения о том, какРежим таблицыНе существует возникнуть неполадки, аВ отделе или рабочей со связями. простое копирование таблицы,Эта статья описывает, как в начале этой просто преобразовать файлЕсли Ваш файл разделителем – табуляцией. в памяти, чем что некоторые возможности в другом приложении формата для импорта только главная форма, сохранить сведения об.Таблица, запрос, отчет или в ячейки листа группе для работыВ каждой ячейке таблицы а установка связи
импортировать или экспортировать статьи. Excel в CSV предназначен для использования
- Если всё же нужен файл UTF-8. Например, станут недоступны, так Windows и в / экспорта. Более отчет или таблица. экспорте в видеПримечание: форма Excel могут быть с данными используется Excel стоит путь
- между таблицами. Смотрите текстовые файлы. ТекстовыеТак или иначе, попробуйте при помощи Таблиц за пределами Excel файл CSV (разделители японские символы занимают как не поддерживаются другой версии операционной того, формат CSV Необходимо повторить операцию спецификации, которую можно Часть отчета экспортировать нельзя.Данные с форматированием или вставлены пустые значения. как Access, так связи с таблицей об этом статью файлы могут быть сами такой способ Google. При условии, и формат UTF-8 – запятые), то от 3 до форматом CSV. Так системы Windows.
- позволяет пользователю заглянуть экспорта для всех использовать повторно, см. Однако можно выбрать без него Дополнительные сведения о и Excel. Данные Word. «Как перенести таблицу разделены запятыми (.csv) создания файлов CSV что на Вашем является обязательным требованием,
выполните в Блокноте 4 байт в и должно быть,CSV (Macintosh) в файл и подчиненных форм, отчетов в статье Сохранение
Экспортируем из Excel в CSV с кодировкой UTF-8 или UTF-16
или открыть таблицуВ ходе операции экспорта проблемах, которые могут хранятся в базахОбновление данных в из Excel в или знаками табуляции из Excel, и компьютере уже установлен
то не совершайте следующие действия: UTF-8 и от поэтому просто жмите. Этот формат сохраняет немедленно найти проблему и таблиц, которые параметров операции импорта или запрос, на создается книга. возникнуть при экспорте данных Access, но таблице Excel происходит Word». (.txt). если получится, то Google Drive, выполните на листе никакихВыделите символ табуляции, кликните 2 до 4
Да книгу Excel, как с данными, если требуется экспортировать. или экспорта в которых основан отчет,Существует данных в Excel, для анализа и автоматически, как толькоЗдесь рассмотрим,
Чтобы импортировать текстовые файлы, это будет хорошая следующие 5 простых изменений и не по нему правой байт в UTF-16.(Yes). файл с разделителями
- таковая имеется, изменитьОтсутствующие или неправильно отформатированные виде спецификации. и затем экспортироватьТаблица или запрос см. в разделе распространения его результатов изменились данные вкак преобразовать Word в следуйте нашей инструкции: экономия времени. шагов: сохраняйте его снова кнопкой и в Таким образом, естьВот так рабочий лист запятыми для использования разделитель CSV, правила столбцыДополнительные сведения о запуске
- часть данных вДанные без форматирования Решение проблем, связанных используется Excel. Группа таблице Word. ExcelНа вкладкеOpenOffice – это пакетВ Google Drive нажмите в Excel, поскольку контекстном меню нажмите смысл использовать UTF-16, Excel можно сохранить в операционной системе цитирования и такЕсли ни один из спецификаций см. в этот объект.Файл не перезаписывается. В с отсутствующими и выполняет экспорт данныхЕсли таблица Excel, как автоматически переноситьFile приложений с открытым кнопку это может привестиКопировать если данные содержат как файл CSV. Mac. далее. Это возможно столбцов на конечном
Как преобразовать файл Excel в CSV UTF-8
статье Выполнение сохраненнойНа вкладке книгу добавляется новый неверными значениями. в Excel по
была закрыта, когда данные из таблицы(Файл) кликните исходным кодом, включаетСоздать
- к проблемам с(Copy), или просто азиатские символы, в Быстро и просто,CSV (MS-DOS)
- потому, что CSV листе не отформатирован, операции импорта илиВнешние данные лист, которому присваиваетсяЕсли исходным объектом является мере необходимости, но изменили данные в Word в таблицуOpen
- в себя приложение(Create) и выберите чтением кодировки. Если нажмите
том числе Японские, и вряд ли. Сохраняет книгу Excel, – это простой повторите операцию экспорта, экспорта.в группе имя объекта, из таблица или запрос, этот процесс требуется таблице Word, то Excel.(Открыть). для работы сТаблица
- какая-то часть данныхCtrl+C Китайские и Корейские. тут могут возникнуть как файл с текст, и даже установив флажокДополнительные сведения о запускеЭкспорт которого экспортируются данные.
определите, как требуется сделать более эффективным. данные в ExcelИтак -Из выпадающего списка выберите таблицами, которое отлично(Spreadsheet). не отображается в, как показано на Существенный недостаток этой какие-либо трудности. разделителями запятыми для не очень опытный
- Экспортировать данные с макетом спецификаций в определенноенажмите кнопку Если лист с экспортировать данные: с
статье Планирование импорта.
- существует, Access предлагает без него. Выбранный работать с даннымиКак из ExcelExcelЧтобы импортировать файл … формата Excel в(File) нажмите Блокноте и вCtrl+H полностью совместима с или иностранные символыТекст Юникод специальной подготовки.
- же только некоторые или экспорта.В диалоговом окне либо заменить содержимое способ экспорта влияет в Excel. Вам перенести в Word. У нас такаяCSV CSV. На самомИмпорт нём внесите исправления, чтобы открылось диалоговое ASCII-файлами и требуются (тильда, ударение и(Unicode Text (*txt)).В этой статье мы столбцы имеют форматирование,Сведения о том, какЭкспорт — Электронная таблица соответствующего листа, либо на два аспекта приходится регулярно копировать данные, смотрите в таблица в Word., выберите документ с
- деле, это приложение(Import). в данные. Не окно специальные программы для подобные) или иероглифы, Этот стандарт поддерживается изучим быстрые и отличное от исходного, изменить имя спецификации, Excel указать другое имя
целевого файла: объем данные в Excel, статье «Слияние WordСделаем в Excel заготовку расширением предоставляет доступ кКликните забудьте снова сохранитьЗаменить отображения таких файлов. то преобразование листа почти во всех эффективные способы экспорта выполните нужные действия удалить ее илипросмотрите предлагаемые имена нового листа. экспортируемых данных и но вам хотелось и Excel». таблицы. Можно без.csv большему числу параметровЗагрузка
Как преобразовать файл Excel в CSV UTF-16
файл в формате(Replace) и вставьте Помните об этом, Excel в CSV существующих операционных системах, данных из Excel в Excel вручную. обновить имена исходных файлов рабочей книгиСуществует
формат их отображения. бы автоматизировать этотIvanOK заготовки, используя сеткуи нажмите кнопку при преобразовании таблиц(Upload) и выберите UTF-8. скопированный символ табуляции если планируете импортировать
описанным выше способом в том числе в CSV иФорматирование столбца в Excel файлов, см. в Excel (Access используетТаблица, запрос, отчет или В приведенной ниже процесс ради экономии: Дайте, пожалуйста, ссылку Excel.Open в файлы CSV файл Excel дляЭкспортировать в файл CSV
Другие способы преобразования файлов Excel в CSV
в поле получившиеся файлы из не сработает. в Windows, Macintosh, узнаем, как преобразоватьОткройте целевую книгу Excel статье Задачи управления имена исходных объектов). форма таблице представлены результаты
времени. или название книгиВыделяем первую ячейку(Открыть). Это всё. (кодировка, разделители и загрузки со своего UTF-16 намного быстрееЧто Excel куда-то ещё.Дело в том, что Linux и Solaris файл Excel в и перейдите на данными. При необходимости имяДанные с форматированием экспорта форматированных иВ приложении Access нет и главы, где в таблице Word.TXT так далее), чем
Преобразуем файл Excel в CSV при помощи Таблиц Google
компьютера. и проще, чем(Find what). ПриПредположим, у нас есть команда Unix. Он поддерживает CSV, сохранив без лист с экспортированнымиК началу страницы файла можно изменить.
- Файл перезаписывается экспортируемыми данными. неформатированных данных. команды «Сохранить как” есть описание этого Нажимаем не выделенную, выберите документ с
- Excel и GoogleВ диалоговом окне в UTF-8. Дело этом курсор сместится лист Excel с
- Сохранить как символы почти всех искажений все специальные данными.В приведенной ниже таблицеВ поле
- Все имеющиеся листыЭкспорт с возможностью сохранения подробно. Что-то вроде ячейку правой кнопкой расширением Sheets вместе взятые.Имп в том, что
вправо – это иностранными символами, в> современных и даже и иностранные символы.Щелкните нужный столбец или описаны различные способыФормат файла удаляются, и создается
- Исходный объект данных в формате учебника. мыши и выбираем.txtПросто открываем файл Excelорт файла Excel автоматически применяет значит, что символ
нашем примере –CSV некоторых древних языков. Описанные в статье выделенный диапазон ячеек устранения типичных ошибок.выберите нужный формат новый лист сПоля и записи Excel. Чтобы скопировать
Сохраняем файл .xlsx как .xls и затем преобразуем в файл CSV
вас интересует обыкновенный из контекстного менюи кликните по в OpenOffice Calc,(Import file) выберите
формат UTF-16 при табуляции вставлен. В это японские имена.(Save as > Поэтому, если книга приёмы работают во правой кнопкой мышиСовет: файла. именем экспортируемого объекта.Форматирование данные в Excel, перенос данных с функцию «Копировать».Open нажимаемЗаменить таблицу сохранении файла как полеЧтобы экспортировать этот лист CSV) исказит все Excel содержит данные всех версиях Excel и выберите пункт Если отсутствует всего
Если при экспорте таблицы Данные листа ExcelБез форматирования необходимо воспользоваться функций одного листа вПереходим в таблицу(Открыть). Excel запустит
Сохраняем файл Excel как CSV при помощи OpenOffice
Файл(Replace spreadsheet) иТекст ЮникодЧем Excel в файл символы, кроме ASCII на иностранных языках, 2013, 2010 иФормат ячеек несколько значений, введите или запроса требуется наследуют параметры форматированияТаблица или запрос экспорта, описанной в ексель в другой? Excel. Нажимаем наText Import Wizard> нажмите
(Unicode Text).(Replace with) введите CSV, сохранив при (American Standard Code то рекомендую сначала 2007.. их в книгу сохранить форматирование данных, исходного объекта.Примечание:
этой статье, либоIvanOK первую ячейку таблицы.(Мастер текстов (импорт)).Сохранить какИмпортДля этого сохраняем файл запятую и нажмите этом все иероглифы, for Information Interchange). сохранить её вПреобразуем данные из форматаНа вкладке Excel самостоятельно, в установите флажокДанные всегда добавляются в Формы и отчеты скопировать данные Access, в «Excel 2010″ На закладке «Главная»Выберите(File > Save
(Import). при помощи инструментаЗаменить все сделаем следующее: И если на формате Excel в CSVЧисло противном случае исправьтеЭкспортировать данные с макетом новый лист. Невозможно невозможно экспортировать без
в буфер обмена, есть: вкладка нажимаем на стрелкуDelimited as) и выбираемСовет:Сохранить как(Replace all).В Excel откройте вкладку листе Excel естьТекст Юникод
Экспортируем из Excel вв группе
исходный объект в
и форматированием
добавить данные в
office-guru.ru
Импорт и экспорт текстовых файлов в Excel
- форматирования.
- а затем вставить
Данные (треугольник) у кнопки(С разделителями) и тип файлаЕсли файл Excel(Save as) вВ Блокноте результат будет
Импорт
Файл парные кавычки или
- (Unicode Text (*txt)), формат CSV UTF-8Числовые форматы базе данных Access. Дополнительные сведения см.
- имеющийся лист илиЭкспортируются все поля и их в таблицу
- - группа
- функции «Вставить» и нажмитеТекст CSV относительно небольшой, то Excel и затем приблизительно вот такой:(File) и нажмите
- длинные тире (перенесённые а затем преобразовать или UTF-16выберите нужный формат, и повторите экспорт. в разделе Подготовка именованный диапазон. записи базового объекта. Excel.
- Получение внешних данных выбираем из контекстногоNext(Text CSV). для экономии времени в Проводнике Windows
- КликнитеСохранить как в Excel, например, в CSV, какДругие способы преобразования из напримерИсточник проблемы
- к операции экспорта.К началу страницыПараметры свойства «Формат» пропускаются
Можно экспортировать таблицу, запрос,
Экспорт
- меню функцию «Вставить(Далее).
- На следующем шаге предлагается
- можно перенести из изменяем расширение созданногоФайл(Save as). из документа Word
- описано далее в формата Excel вТекстовыйОписание и решениеПримечание:Если целевая книга Excel в ходе операции.
- форму или отчет,Из других источников связь».
Уберите все галочки кроме выбрать значения параметров него данные в файла на
>Введите имя файла, в
при копировании /
разделе Экспортируем из
CSV (сохраняя специальные
office-guru.ru
Экспорт таблицы из Word в Excel.
,Вычисляемые поля При экспорте формы открыта, закройте ееДля полей подстановки экспортируются а также отдельные-Получилось так. той, что напротивКодировка таблицу Google при.csvСохранить как поле вставке текста) – Excel в формат символы)ЧисловойЭкспортируются результаты вычисляемых полей;
или отчета этот перед выполнением операции. только значения кодов записи в представлении.Из мастера подключения данныхВ ячейке стоит слово,Tab
(Character sets) и помощи копирования / . Готово! (File > SaveТип файла такие символы также
CSV UTF-8 илиЕсли требуется экспортировать файл, выражения, на основе
флажок установлен поНа панели навигации исходной подстановки.В приложении Microsoft Excel. как в таблице(Знак табуляции) и
Разделитель поля вставки.Если нужен файл CSV as), введите имя(Save as type) будут искромсаны. UTF-16. Excel в какое-либоДата которых производится вычисление,
умолчанию и недоступен
базы данных выберитеСодержимое полей гиперссылок экспортируется есть команда импортаИ вот дальше Word. В адресной
кликните(Field delimiter). Разумеется,В меню с запятой или для файла и выберитеПростое решение – сохранитьЗамечание: другое приложение, например,или не экспортируются. для изменения.
объект, который требуется в виде столбца данных из базы хотелось бы что-то
строке написан путьNext если мы хотимФайл точкой с запятой в выпадающем спискеТекст Юникод лист Excel как
Все упомянутые форматы в адресную книгуВремяМногозначные поляЧтобы просмотреть конечный файл экспортировать. текста, в котором
данных Access. Ее вроде учебника почитать, связи.(Далее). создать файл CSV(File) нажмите
в качестве разделителя,Кодировка(Unicode Text (*.txt)) текстовый файл сохраняют только активный Outlook или в.Многозначные поля экспортируются в
Excel после завершенияЭкспорт только части данных ссылки отображаются в можно использовать вместо
но именно поФункцию «Вставить связь»Нажмите UTF-8 с запятымиСкачать как
замените все символы(Encoding) выберите и нажмитеUnicode(.txt) лист Excel. базу данных Access,Нажмите кнопку
виде списка значений, операции экспорта, установитеЕсли объектом является таблица, формате отображаемый_текст#адрес#. команды экспорта Access,
excel-office.ru
Импорт внешних данных в Excel из Excel
«Excel», а не можно найти, еще,Finish в качестве разделителей,(Download as), выберите табуляции на запятыеUTF-8
Сохранить, и затем преобразоватьВыберите папку для сохранения предварительно преобразуйте листОК разделенных точками с флажок запрос или формаС форматированием однако с помощью вообще. в контекстном меню(Готово). то выбираем тип файла
или точки с. Затем нажмите кнопку(Save). его в CSV. файла в формате Excel в файл
CyberForum.ru
.
Время на прочтение
5 мин
Количество просмотров 43K
В продолжение темы, начатой в предыдущей статье, хочу поделиться своим опытом экспорта данных, в частности, в формате 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, который отражает размер экспортируемого диапазона, и записываю в файл.
public function openWriter()
{
if (is_dir($this->baseDir))
CFileHelper::removeDirectory($this->baseDir);
mkdir($this->baseDir);
exec("unzip $this->templateFullFilename -d "$this->baseDir"");
$this->workSheetHandler = fopen($this->baseDir.'/xl/worksheets/sheet1.xml', 'w+');
fwrite($this->workSheetHandler, '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><dimension ref="A1:'.chr(64+$this->colCount).$this->rowCount.'"/><sheetData>');
}
Обеспечить скорость работы и возможность работы с большим объемом данных позволяют функции resetRow и flushRow. Они отвечают за очистку текущего ряда в памяти и запись текущего ряда на диск.
А вот сохранение значений ячеек с разными типами оказалось не такой простой задачей.
Запись строки
Казалось бы, что сложного записать строковое значение в файл. Однако, в XLSX все не так просто. Все строки внутри XLSX хранятся в отдельном файле /xl/sharedStrings.xml. В ячейки записываются не строковые значения, а их порядковые номера — индексы. Разумное решение с точки зрения сокращения размера файла.
Но такое решение неудобно с точки зрения программного заполнения шаблона. Если выполнять указанное требование, то мне бы пришлось выполнять отдельный проход по всем строковым значениям в массиве данных, исключать повторяющиеся, сохранять их в sharedStrings.xml, проиндексировать и вместо значений в исходном массиве вписать их индексы. Медленно и неудобно.
Оказывается, можно обойти требование и сохранять строковые значения ячеек прямо в ячейках. Но в этом случае формат записи будет иной:
public function appendCellString($value)
{
$this->curCel++;
if (!empty($value)) {
$value = htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
$value = preg_replace( '/[x00-x13]/', '', $value );
$this->currentRow[] = '<c r="'.chr(64+$this->curCel).$this->numRows.'" t="inlineStr"'.($this->isBold ? ' s="7"' : '').'><is><t>'.$value.'</t></is></c>';
$this->numStrings++;
}
}
Запись числа
Никаких сложностей с записью целых или дробных чисел не возникло. Все просто:
public function appendCellNum($value)
{
$this->curCel++;
$this->currentRow[] = '<c r="'.chr(64+$this->curCel).$this->numRows.'"><v>'.$value.'</v></c>';
}
Запись даты и времени
Дата и время хранятся в виде количества секунд прошедших с 01.01.1970 поделенных на количество секунд в сутках. Причем, в вычислении допущена ошибка с определением високосного года. В общем, не вдаваясь в подробности, которые несложно найти в сети, чтобы корректно вычислять дату пришлось объявить в классе две константы:
ZERO_TIMESTAMP – смещение даты в формате Excel от UNIX_TIMESTAMP
SEC_IN_DAY – секунд в сутках.
После вычисления значения даты и времени, целая часть дроби – это дата, дробная часть – время:
const ZERO_TIMESTAMP = 2209161600;
const SEC_IN_DAY = 86400;
public function appendCellDateTime($value)
{
$this->curCel++;
if (empty($value))
$this->appendCellString('');
else
{
$dt = new DateTime($value);
$ts = $dt->getTimestamp() + self::ZERO_TIMESTAMP;
$this->currentRow[] = '<c r="'.chr(64+$this->curCel).$this->numRows.'" s="1"><v>'.$ts/self::SEC_IN_DAY.'</v></c>';
}
}
После записи всех данных остается закрыть рабочий лист и рабочую книгу.
Применение
Как и раньше, использование описанного класса основано на экспорте данных с помощью провайдера CArrayDataProvider. Предполагая, что объем экспортируемых данных может оказаться очень большим, применен специальный итератор CDataProviderIterator, который перебирает возвращаемые данные по 100 записей (можно указать иное число записей).
public function exportXLSX($organization, $user, &$filename)
{
$this->_provider = new CArrayDataProvider(/*query*/);
Yii::import('ext.AlxdExportXLSX.AlxdExportXLSX');
$export = new AlxdExportXLSX($filename, count($this->_attributes), $this->_provider->getTotalItemCount() + 1);
$export->openWriter();
$export->resetRow();
$export->openRow(true);
foreach ($this->_attributes as $code => $format)
$export->appendCellString($this->_objectref->getAttributeLabel($code));
$export->closeRow();
$export->flushRow();
$rows = new CDataProviderIterator($this->_provider, 100);
foreach ($rows as $row)
{
$export->resetRow();
$export->openRow();
foreach ($this->_attributes as $code => $format)
{
switch ($format->type)
{
case 'Num':
$export->appendCellNum($row[$code]);
/*other types*/
default:
$export->appendCellString('');
}
}
$export->closeRow();
$export->flushRow();
}
$export->closeWriter();
$export->zip();
$filename = $export->getZipFullFileName();
}
Кому интересно, может получить исходный код моего класса AlxdExportXLSX совершенно безвозмездно.
Вы можете экспортировать задачи и документы в Microsoft Word и Excel:
- Поддерживаемые форматы файлов: .docx и .xlsx (MS Word/Excel 2007, 2010, 2013).
- По умолчанию, Comindware Tracker экспортирует задачи и документы в файлы MS Word .docx, используя различные предустановленные шаблоны, в зависимости от типа задач и документов.
- Вы можете загрузить пользовательские шаблоны в формате .docx и .xlsx , чтобы изменить внешний вид экспортированных файлов. Шаблоны экспорта описывают, какие данные и в каком виде должны быть экспортированы из Comindware Tracker.
Для того чтобы настроить шаблон:
1. Создайте шаблон экспорта: новый документ или книгу Microsoft Word/Excel 2007, 2010 или 2013 (*.docx или *.xlsx)
2. Создайте макет экспортированного документа или книги, разметив шаблон под те данные, которые вы хотите экспортировать из Comindware Tracker.
3. Заполните макет переменными, которые будут заменяться при экспорте на реальные данные. Существует три способа задания переменных:
Способ | Описание |
---|---|
{ИД_поля} | возвращает значение текстового поля |
{#ИД_поля} | возвращает значение ссылочного поля |
{attachments} | возвращает список вложений |
где ИД_поля — это идентификатор, который вы сможете найти в описании поля: Настройка приложения -> Поля -> двойной щелчок по полю.
4. Позаботьтесь о дизайне вашего шаблона (стилях, типах и размере шрифтов и пр.). Добавьте логотип вашей компании.
5. Сохраните файл шаблона.
Файл шаблона экспорта и результаты операции экспорта
Теперь шаблон нужно загрузить в Comindware Tracker. Если необходимо, повторите описанные шаги для создания других шаблонов экспорта.
Загрузка шаблона экспорта в Comindware Tracker
После того как шаблон экспорта создан, загрузите его в Comindware Tracker.
Для того чтобы загрузить шаблон:
1. Откройте приложение и нажмите кнопку Настройки экспорта.
2. Нажмите Добавить шаблон -> Загрузить файл и выберите свой шаблон в формате Word или Excel.
3. Нажмите Сохранить.
После загрузки шаблона в Comindware Tracker вы сможете открыть шаблон, щелкнув по ссылке Загрузить.
Содержание
-
- 0.0.1 Задача
- 0.0.2 Реализация
- 0.0.2.1 Запись строки
- 0.0.2.2 Запись числа
- 0.0.2.3 Запись даты и времени
- 0.0.3 Применение
- 0.0.4 Задача
- 0.0.5 Реализация
- 0.0.5.1 Запись строки
- 0.0.5.2 Запись числа
- 0.0.5.3 Запись даты и времени
- 0.0.6 Применение
- 1 Как создать XML-файл из Excel
- 2 Как сохранить файл Excel в формате XML
- 3 Как открыть XML файл в Excel
- 3.1 Как преобразовать файл XML в Excel
- 4 Как собрать данные из XML файлов в Excel
Вы можете выгрузить данные из FreshOffice или, наоборот, загрузить в систему уже существующую базу данных из Excel.
1. Как сделать экспорт данных в Excel?
— Зайдите в модуль “Аналитика”.
— Кликните один раз по отчету, который вы хотите выгрузить.
— Нажмите кнопку “Экспорт”, и файл Excel сохранится на ваш компьютер.
О том, как настроить отчет, мы рассказываем в ответе на вопрос “Как работать с Отчетами?”
2. Как сделать импорт данных из Excel?
Вы можете импортировать в FreshOffice список контрагентов или список товаров и услуг.
— Подготовьте Excel файл: на одного контрагента/товар должна приходиться одна строка в таблице. Пример файла:
— Закройте файл Excel перед импортом.
— Очистите корзину в модуле Сервис.
— Откройте модуль Сервис, перейдите в Импорт данных, выберите данные, которые хотите импортировать.
— Укажите путь к Excel-файлу с данными.
— Теперь укажите, какие данные содержит ваш Excel файл, и как называются соответствующие столбцы (2). Слева указано название типа данных в FreshOffice, а справа вам необходимо ввести название столбца с аналогичными данными в Excel.
— Нажмите “Запустить” (3).
Обратите внимание на блок выбора вариантов «Искать дублирующихся по» и «Что делать с дублирующимися контрагентами?»
Набирать информацию с клавиатуры дело хлопотное и трудоемкое. И ладно бы в Word, а то в Excel, где нужно перемещаться между ячейками. Поэтому, если информация имеет место быть в текстовом виде, это уже хорошо. Рассмотрим, как быстро выполнить импорт данных в Excel из текстового файла или, говоря по другому, корректно вставить текст в таблицу Excel.
Очень-очень сложного тут ничего нет. Как я уже неоднократно отмечал, информация в таблице Excel должна быть представлена строго структурированной, следовательно, в текстовом файле эта структурированность также должна строго соблюдаться.
Возьмём такой жизненный и несложный пример — перенесем из текстового файла (с расширением .txt) в Excel список сотрудников, в котором перечислены фамилия, имя , отчество, год рождения и должность.
Допустим, вот наши герои:
Иванов Иван Иванович 1978 инспектор
Сидоров Петр Сидорович 1970 старший инспектор
Петров Василий Самуилович 1965 самый старший инспектор
Больше трех лень набивать 🙂 , но и их хватит.
Теперь определимся, какая нам нужна в Excel таблица? Пусть она имеет такие столбцы:
Фамилия, Имя, Отчество, Год рождения, Должность.
Все у нас имеется, но тут есть один нюанс в представлении должности. Для каждого сотрудника должность имеет разный размер – 1, 2 и 3 слова. Как же Excel указать, где начинается и заканчивается информация, заносимая по столбцам?
Для этого удобно использовать символ-разделитель. Таким символом может быть любой символ, который не встречается в Вашем тексте как знак препинания или спецсимвол. То есть, точка и запятая точно старайтесь не использовать, а вот звездочку или наклонную можно взять. В нашем случае, если бы должность у всех состояла из одного слова или так – ст.инспектор, сам.ст.инспектор (без пробелов), то подошел бы и пробел. Подходите творчески, чтобы меньше делать работы. 🙂
Структурируем наш список:
Фамилия/Имя/Отчество/Год рождения/Должность
Иванов/Иван/Иванович/1978/инспектор
Сидоров/Петр/Сидорович/1970/старший инспектор
Петров/Василий/Самуилович/1965/самый старший инспектор
и сохраняем в текстовом документе c расширением .txt . Теперь такой список замечательно перенесется в Excel.
Для этого заходим в Excel на вкладку Данные. В области Получение внешних данных нажимаем кнопку Из текста.
В открывшемся окне указываем на наш текстовый файл, из которого будем импортировать данные. После этого откроется Мастер импорта на первом шаге. Тут нужно указать структуру наших данных – “с разделителями” (которым у нас выступает наклонная «/»). После этого нажимаем кнопку Далее.
На следующем шаге мастера нужно указать символ-разделитель. Тут приведены некоторые варианты, но мы выбираем “другой” и в окошке вводим наш символ – наклонную. Сразу же в нижней области (с нашим списком) появляются вертикальные линии (столбцы), по которым можно проверить правильность разделения данных. Нажимаем кнопку Далее.
На третьем шаге можно указать формат данных для каждого или выбранного столбца, если в этом есть необходимость. Как правило, такое актуально для столбцов с датой. Мы же ничего не меняем и жмём кнопку Готово.
После этого нужно указать ячейку, с которой будет начинаться таблица – её левый верхний угол.
После выбора ячейки и нажатия OK мы увидим наши данные, разнесенные по столбцам! Вуаля! Наш текст в таблицу Excel вставлен красиво и правильно.
Теперь можно навести марафет, указав выравнивание и задав границы.
В продолжение темы, начатой в
предыдущей статье
, хочу поделиться своим опытом экспорта данных, в частности, в формате 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, который отражает размер экспортируемого диапазона, и записываю в файл.
public function openWriter() { if (is_dir($this->baseDir)) CFileHelper::removeDirectory($this->baseDir); mkdir($this->baseDir); exec("unzip $this->templateFullFilename -d "$this->baseDir""); $this->workSheetHandler = fopen($this->baseDir.'/xl/worksheets/sheet1.xml', 'w+'); fwrite($this->workSheetHandler, ''); }
Обеспечить скорость работы и возможность работы с большим объемом данных позволяют функции resetRow и flushRow. Они отвечают за очистку текущего ряда в памяти и запись текущего ряда на диск.
А вот сохранение значений ячеек с разными типами оказалось не такой простой задачей.
Запись строки
Казалось бы, что сложного записать строковое значение в файл. Однако, в XLSX все не так просто. Все строки внутри XLSX хранятся в отдельном файле /xl/sharedStrings.xml. В ячейки записываются не строковые значения, а их порядковые номера — индексы. Разумное решение с точки зрения сокращения размера файла.
Но такое решение неудобно с точки зрения программного заполнения шаблона. Если выполнять указанное требование, то мне бы пришлось выполнять отдельный проход по всем строковым значениям в массиве данных, исключать повторяющиеся, сохранять их в sharedStrings.xml, проиндексировать и вместо значений в исходном массиве вписать их индексы. Медленно и неудобно.
Оказывается, можно обойти требование и сохранять строковые значения ячеек прямо в ячейках. Но в этом случае формат записи будет иной:
public function appendCellString($value) { $this->curCel++; if (!empty($value)) { $value = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); $value = preg_replace( '//', '', $value ); $this->currentRow[] = ''.$value.''; $this->numStrings++; } }
Запись числа
Никаких сложностей с записью целых или дробных чисел не возникло. Все просто:
public function appendCellNum($value) { $this->curCel++; $this->currentRow[] = ''.$value.''; }
Запись даты и времени
Дата и время хранятся в виде количества секунд прошедших с 01.01.1970 поделенных на количество секунд в сутках. Причем, в вычислении допущена ошибка с определением високосного года. В общем, не вдаваясь в подробности, которые несложно найти в сети, чтобы корректно вычислять дату пришлось объявить в классе две константы:
ZERO_TIMESTAMP – смещение даты в формате Excel от UNIX_TIMESTAMP
SEC_IN_DAY – секунд в сутках.
После вычисления значения даты и времени, целая часть дроби – это дата, дробная часть – время:
const ZERO_TIMESTAMP = 2209161600; const SEC_IN_DAY = 86400; public function appendCellDateTime($value) { $this->curCel++; if (empty($value)) $this->appendCellString(''); else { $dt = new DateTime($value); $ts = $dt->getTimestamp() + self::ZERO_TIMESTAMP; $this->currentRow[] = ''.$ts/self::SEC_IN_DAY.''; } }
После записи всех данных остается закрыть рабочий лист и рабочую книгу.
Применение
Как и раньше, использование описанного класса основано на экспорте данных с помощью провайдера CArrayDataProvider. Предполагая, что объем экспортируемых данных может оказаться очень большим, применен специальный итератор CDataProviderIterator, который перебирает возвращаемые данные по 100 записей (можно указать иное число записей).
public function exportXLSX($organization, $user, &$filename) { $this->_provider = new CArrayDataProvider(/*query*/); Yii::import('ext.AlxdExportXLSX.AlxdExportXLSX'); $export = new AlxdExportXLSX($filename, count($this->_attributes), $this->_provider->getTotalItemCount() + 1); $export->openWriter(); $export->resetRow(); $export->openRow(true); foreach ($this->_attributes as $code => $format) $export->appendCellString($this->_objectref->getAttributeLabel($code)); $export->closeRow(); $export->flushRow(); $rows = new CDataProviderIterator($this->_provider, 100); foreach ($rows as $row) { $export->resetRow(); $export->openRow(); foreach ($this->_attributes as $code => $format) { switch ($format->type) { case 'Num': $export->appendCellNum($row); /*other types*/ default: $export->appendCellString(''); } } $export->closeRow(); $export->flushRow(); } $export->closeWriter(); $export->zip(); $filename = $export->getZipFullFileName(); }
Кому интересно, может получить исходный код моего класса AlxdExportXLSX совершенно безвозмездно.
В продолжение темы, начатой в
предыдущей статье
, хочу поделиться своим опытом экспорта данных, в частности, в формате 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, который отражает размер экспортируемого диапазона, и записываю в файл.
public function openWriter() { if (is_dir($this->baseDir)) CFileHelper::removeDirectory($this->baseDir); mkdir($this->baseDir); exec("unzip $this->templateFullFilename -d "$this->baseDir""); $this->workSheetHandler = fopen($this->baseDir.'/xl/worksheets/sheet1.xml', 'w+'); fwrite($this->workSheetHandler, ''); }
Обеспечить скорость работы и возможность работы с большим объемом данных позволяют функции resetRow и flushRow. Они отвечают за очистку текущего ряда в памяти и запись текущего ряда на диск.
А вот сохранение значений ячеек с разными типами оказалось не такой простой задачей.
Запись строки
Казалось бы, что сложного записать строковое значение в файл. Однако, в XLSX все не так просто. Все строки внутри XLSX хранятся в отдельном файле /xl/sharedStrings.xml. В ячейки записываются не строковые значения, а их порядковые номера — индексы. Разумное решение с точки зрения сокращения размера файла.
Но такое решение неудобно с точки зрения программного заполнения шаблона. Если выполнять указанное требование, то мне бы пришлось выполнять отдельный проход по всем строковым значениям в массиве данных, исключать повторяющиеся, сохранять их в sharedStrings.xml, проиндексировать и вместо значений в исходном массиве вписать их индексы. Медленно и неудобно.
Оказывается, можно обойти требование и сохранять строковые значения ячеек прямо в ячейках. Но в этом случае формат записи будет иной:
public function appendCellString($value) { $this->curCel++; if (!empty($value)) { $value = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); $value = preg_replace( '//', '', $value ); $this->currentRow[] = ''.$value.''; $this->numStrings++; } }
Запись числа
Никаких сложностей с записью целых или дробных чисел не возникло. Все просто:
public function appendCellNum($value) { $this->curCel++; $this->currentRow[] = ''.$value.''; }
Запись даты и времени
Дата и время хранятся в виде количества секунд прошедших с 01.01.1970 поделенных на количество секунд в сутках. Причем, в вычислении допущена ошибка с определением високосного года. В общем, не вдаваясь в подробности, которые несложно найти в сети, чтобы корректно вычислять дату пришлось объявить в классе две константы:
ZERO_TIMESTAMP – смещение даты в формате Excel от UNIX_TIMESTAMP
SEC_IN_DAY – секунд в сутках.
После вычисления значения даты и времени, целая часть дроби – это дата, дробная часть – время:
const ZERO_TIMESTAMP = 2209161600; const SEC_IN_DAY = 86400; public function appendCellDateTime($value) { $this->curCel++; if (empty($value)) $this->appendCellString(''); else { $dt = new DateTime($value); $ts = $dt->getTimestamp() + self::ZERO_TIMESTAMP; $this->currentRow[] = ''.$ts/self::SEC_IN_DAY.''; } }
После записи всех данных остается закрыть рабочий лист и рабочую книгу.
Применение
Как и раньше, использование описанного класса основано на экспорте данных с помощью провайдера CArrayDataProvider. Предполагая, что объем экспортируемых данных может оказаться очень большим, применен специальный итератор CDataProviderIterator, который перебирает возвращаемые данные по 100 записей (можно указать иное число записей).
public function exportXLSX($organization, $user, &$filename) { $this->_provider = new CArrayDataProvider(/*query*/); Yii::import('ext.AlxdExportXLSX.AlxdExportXLSX'); $export = new AlxdExportXLSX($filename, count($this->_attributes), $this->_provider->getTotalItemCount() + 1); $export->openWriter(); $export->resetRow(); $export->openRow(true); foreach ($this->_attributes as $code => $format) $export->appendCellString($this->_objectref->getAttributeLabel($code)); $export->closeRow(); $export->flushRow(); $rows = new CDataProviderIterator($this->_provider, 100); foreach ($rows as $row) { $export->resetRow(); $export->openRow(); foreach ($this->_attributes as $code => $format) { switch ($format->type) { case 'Num': $export->appendCellNum($row); /*other types*/ default: $export->appendCellString(''); } } $export->closeRow(); $export->flushRow(); } $export->closeWriter(); $export->zip(); $filename = $export->getZipFullFileName(); }
Кому интересно, может получить исходный код моего класса AlxdExportXLSX совершенно безвозмездно.
Microsoft Excel – удобный инструмент для организации и структурирования самых разнообразных данных. Он позволяет обрабатывать информацию разными методами, редактировать массивы данных.
Рассмотрим возможности использования его для формирования и обработки файлов веб-приложений. На конкретном примере изучим основы работы с XML в Excel.
Как создать XML-файл из Excel
XML – стандарт файла для передачи данных в Сети. Excel поддерживает его экспорт и импорт.
Рассмотрим создание XML-файла на примере производственного календаря.
- Сделаем таблицу, по которой нужно создать XML файл в Excel и заполним ее данными.
- Создадим и вставим карту XML с необходимой структурой документа.
- Экспортируем данные таблицы в XML формат.
Итак.
- Наша таблица – производственный календарь.
- Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:
- Открываем инструмент «Разработчик». Диалоговое окно «Источник» на вкладке XML.
- Если программа Excel не видит карт XML, их нужно добавить. Жмем «карты XML». И указываем путь к нашему файлу с выше указанной схемой карты созданной в текстовом редакторе.
- Добавить ОК.
- В правой колонке появляются элементы схемы. Их нужно перетащить на соответствующие названия столбцов таблицы.
- Проверяем возможен ли экспорт.
- Когда все элементы будут сопоставлены, щелкаем правой кнопкой мыши по любой ячейке в таблице – XML – экспорт.
Сохраняем в XML файл.
Другие способы получения XML-данных (схемы):
- Скачать из базы данных, специализированного бизнес-приложения. Схемы могут предоставляться коммерческими сайтами, службами. Простые варианты находятся в открытом доступе.
- Использовать готовые образцы для проверки карт XML. В образцах – основные элементы, структура XML. Копируете – вставляете в программу «Блокнот» — сохраняете с нужным расширением.
Как сохранить файл Excel в формате XML
Один из вариантов:
- Нажимаем кнопку Office. Выбираем «Сохранить как» — «Другие форматы».
- Назначаем имя. Выбираем место сохранения и тип файла – XML.
Сохранить.
Если выдает ошибку, книгу можно сохранить в виде таблицы XML 2003 либо веб-страницы. С этими форматами проблем, как правило, не возникает.
Еще варианты:
- Скачать конвертер XLC в XML. Либо найти сервис, с помощью которого можно экспортировать файл онлайн.
- Скачать с официального сайта Microsoft надстройку XML Tools Add-in. Она в бесплатном доступе.
- Открываем новую книгу. Кнопка Office – «Открыть».
Как открыть XML файл в Excel
- Меняем формат на «файлы XML». Выбираем нужный файл. Жмем «Открыть».
- Способ открытия – XML-таблица. ОК.
- Появляется оповещение типа
Жмем ОК. С полученной таблицей можно работать, как с любым файлом Excel.
Как преобразовать файл XML в Excel
- Меню «Разработчик» — вкладка «Импорт».
- В диалоговом окне выбираем файл XML, который хотим преобразовать.
- Нажимаем «Импорт». Программа Excel предложит самостоятельно создать схему на основе полученных данных. Соглашаемся – ОК. Откроется окно, где нужно выбрать место для импортируемого файла.
- Назначаем диапазон для импорта. Лучше брать с «запасом». Жмем ОК.
Созданную таблицу редактируем и сохраняем уже в формате Excel.
Как собрать данные из XML файлов в Excel
Принцип сбора информации из нескольких XML-файлов такой же, как и принцип преобразования. Когда мы импортируем данные в Excel, одновременно передается карта XML. В эту же схему можно переносить и другие данные.
Каждый новый файл будет привязываться к имеющейся карте. Каждому элементу в структуре таблицы соответствует элемент в карте. Допускается только одна привязка данных.
Чтобы настроить параметры привязки, откройте в меню «Разработчик» инструмент «Свойства карты».
Возможности:
- Каждый новый файл будет проверяться программой Excel на соответствие установленной карте (если поставим галочку напротив этого пункта).
- Данные могут обновляться. Либо новая информация добавится в существующую таблицу (имеет смысл, если нужно собрать данные из похожих файлов).
Это все ручные способы импорта и экспорта файлов.
Среди пользователей, создающих электронные таблицы, есть те, которые предпочитают онлайн-сервис от Google, а другие работают в Microsoft Excel. Поэтому иногда возникает потребность перенести данные из веб-сервиса непосредственно в программу.
Сделать это можно тремя разными методами.
Способ 1: Скачивание таблицы в формате XLSX
Если вы еще не знаете, то Google Таблицы поддерживают скачивание созданного документа в одном из шести форматов, среди которых есть и XLSX – фирменный формат Microsoft Excel. У этого способа есть свой минус, поскольку вы не сможете путем нажатия одной кнопки обновлять данные и просматривать, какие изменения были внесены онлайн. Однако если это и не нужно, скачивание будет самым простым и быстрым решением.
-
Откройте необходимую таблицу через любой удобный браузер с того аккаунта, который имеет доступ к просмотру. Вызовите меню «Файл», наведите курсор на «Скачать» и выберите вариант «Microsoft Excel (XLSX)».
-
Дождитесь окончания загрузки и откройте документ через программу.
-
Обязательно разрешите редактирование, поскольку изначально файл будет открыт в режиме защищенного просмотра.
-
Теперь все инструменты Excel станут активными, и вы сможете вносить необходимые изменения на листе.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Способ 2: Импорт запроса
Теперь предлагаю рассмотреть более сложные, но прогрессивные методы, позволяющие оперативно отслеживать вносимые изменения в Google Таблицах и работать с актуальными данными в Excel. Этот вариант подразумевает открытие доступа по ссылке к документу с последующим импортом таблицы в Excel, что выглядит следующим образом:
-
Попросите владельца документа выполнить следующие действия или сделайте это самостоятельно. Если вы уже получили ссылку доступа, пропустите этап настройки и переходите сразу к Excel. В противном случае в документе нажмите на «Настройка доступа».
-
В появившемся окне щелкните по ссылке «Разрешить доступ всем, у кого есть ссылка».
-
Скопируйте полученную ссылку. Уровень доступа при этом не имеет значения, поэтому можете оставить стандартное значение – «Читатель».
-
Откройте пустой лист в Excel, перейдите на вкладку «Данные», разверните меню «Создать запрос», выберите «Из других источников» и щелкните по варианту «Из Интернета».
-
Вставьте ссылку в появившемся окне.
-
Суть изменения заключается только в исправлении последней части на export?format=xlsx вместо edit?usp=sharing.
-
После этого нажмите «ОК» и дождитесь появления нового окна. В нем выберите импорт нескольких листов или укажите конкретный.
-
Через средство предпросмотра убедитесь в том, что выбрали правильный лист, после чего подтвердите его загрузку.
-
Импорт прошел успешно, хоть и форматирование может немного отличаться от оригинального.
-
Для проверки изменений на вкладке «Данные» используйте кнопку «Обновить все».
-
Как видно, кто-то внес изменения в Google Таблицах, и они успешно подгрузились в Excel без необходимости снова импортировать всю таблицу.
-
Для настройки времени автоматического обновления в меню «Обновить все» нажмите на «Свойства подключения».
-
Активируйте «Обновлять каждые» и укажите желаемое количество минут.
Крайне редко стиль ссылок для доступа меняется, что связано с выпускаемыми Google обновлениями. Случается это действительно очень редко, но если вы столкнулись с тем, что таблица в один момент перестала загружаться, проверьте еще раз ссылку. Если же к листу прекратить доступ по ссылке, загрузка данных в Excel тоже не выполнится.
Способ 3: Импорт файла CSV
Предлагаю обратить внимание на этот вариант, если с реализацией предыдущего возникли какие-то проблемы. У импорта файла CSV есть свои недостатки, поскольку весь документ в Google Таблицах придется сделать публичным. Если для вас это не имеет значения, приступайте к выполнению инструкции.
-
В Google Таблицах откройте меню «Файл», наведите курсор на «Открыть доступ» и щелкните по варианту «Опубликовать в интернете».
-
Решите, будет ли это публикация всего документа или только одного листа.
-
Из следующего меню выберите вариант «Файл CSV».
-
Активируйте автоматическую публикацию после внесения изменений.
-
По завершении нажмите кнопку «Начать публикацию».
-
Скопируйте полученную ссылку и переходите в Excel.
-
На вкладке «Данные» выберите вариант создания запроса «Из файла» и «Из CSV».
-
Вместо имени файла в новом окне вставьте полученную ссылку и нажмите на «Открыть».
-
Загрузка данных займет пару минут, после чего появится таблица, но вместо всех надписей будут «кракозябры». Для исправления разверните список «Источник файла» и выберите «Юникод (UTF-8)».
-
Если вся информация отображается корректно, подтвердите загрузку и начните работать с таблицей.
Обновление данных осуществляется точно так же, как это было показано в предыдущей инструкции, поэтому можете вернуться к ее последним шагам, чтобы получить соответствующую информацию по теме.
Принцип работы двух последних способов практически не отличается, разница лишь в методе импорта данных. При этом в третьем способе проблем после обновления ссылок не замечено, но есть и минус, связанный с публикацией, о котором уже шла речь выше. Поэтому взвесьте все за и против и выберите подходящий для себя вариант переноса листов из Google Таблиц в Excel.
6
Раздел 6. Совместная работа с другими
приложениями 1
6.1
Экспорт данных в Microsoft Excel 1
6.2
Использование ODBC для экспорта информации 4
6.3
Экспорт данных в системы технического
анализа встроенными средствами 7
6.4
Настройка программы Equis MetaStock 11
6.5
Настройка программы Wealth-Lab Developer 12
6.6
Настройка программы Omega TradeStation/ProSuite
2000 14
6.7
Экспорт данных в системы технического
анализа с использованием внешних
программ 18
6.8
Импорт транзакций 19
6.9
ПРИЛОЖЕНИЯ 27
В этом разделе изложены
возможности системы QUIK по взаимодействию
с другими программами в режиме online,
порядок экспорта информации в другие
Windows-приложения (MS Excel, ODBC, Equis Metastock,
Wealth-Lab Developer, Omega Tradestation/Prosuite 2000i), а также
использование механизма импорта
транзакций из файла.
-
Экспорт данных в Microsoft Excel
меню
Экспорт данных / Вывести в Excel или кнопка
-
Назначение
Передача данных из
таблицы системы QUIK в таблицу Microsoft Excel.
Экспорт осуществляется через метод
обмена данными DDE.
-
Использование
-
Перед тем, как
настраивать экспорт данных, необходимо
открыть программу MS Excel и загрузить в
нее файл, в который будет осуществляться
передача данных.
-
Функция
экспорта данных из активной таблицы
может быть вызвана одним из следующих
способов:
-
нажатием кнопки
на панели инструментов, -
выбором пункта меню Экспорт
данных/Вывести в Excel, -
выбором пункта контекстного
меню «Вывод в EXCEL».
-
Назначение полей
окна настройки экспорта «Вывод таблицы
в Excel»:
-
Поле
Значение
(первая
строка)Название
таблицы QUIK, являющейся источником
данныхРабочая
книгаНаименование
файла в MS Excel вместе с расширениемЛист
Наименование
листа в рабочей книге (файле) MS ExcelЛевый
верхний угол,-
Ряд
-
Колонка
Координаты
начальной ячейки для передачи данных-
Номер
строки,
считая сверху -
Номер
колонки, считая слева
Выводить
таблицу, начиная со строкиВыводить
в Excel строки таблицы, начиная с
заданного номера. Может применяться
для сокращения времени повторного
вывода таблиц, например Таблицы всех
сделокВывод
после созданияАктивизировать
функцию экспорта данных сразу после
загрузки файла с конфигурацией
таблиц, например, при открытии
программы QUIKВывод
при нажатии Ctrl+Shift+Lпри
установленном флажке экспорт из
таблицы может быть активизирован
нажатием приведенной комбинации
клавишС
заголовками строкВыводить
в качестве первой колонки заголовки
строк таблицы QUIKС
заголовками столбцовВыводить
в качестве первой строки заголовки
столбцов таблицы QUIKФормальные
заголовкиВыводить
в качестве заголовков их системные
(служебные) наименования. Может
использоваться для удобства
программирования.Выводить
пустые ячейки вместо нулейОставлять
пустыми (не заполнять числовыми
значениями) ячейки, содержащие нулевые
значения. Данное свойство полезно
при графическом отображении рядов
данных средствами MS Excel, для
предотвращения «провалов» линий
графика в местах, где данные отсутствуют
(не были получены с сервера). -
-
Нажатие кнопки
«Начать вывод» приводит к старту
динамического вывода данных из указанной
таблицы в MS Excel. -
Нажатием кнопки
«Остановить вывод» вывод данных из
таблицы останавливается. -
Кнопка «Вывести
сейчас» предназначена для разового
вывода данных. -
Нажатием кнопки
«Закрыть» производится закрытие окна
настройки экспорта с сохранением
произведенных настроек. Если процесс
экспорта начат, он будет осуществляться
автоматически в фоновом режиме. -
Нажатие кнопки
«Отменить» закрывает окно без сохранения
настроек.
-
ЗАМЕЧАНИЯ:
-
Когда в MS Excel
открыто любое окно для редактирования
настроек, данные в его таблицы не
поступают, а накапливаются в буфере
DDE. В случае длительной занятости Excel
передача данных может быть прервана.
Время ожидания до разрыва DDE-соединения
(занятости MS Excel) регулируется настройками
экспорта. -
Каждая таблица
обладает собственными настройками
экспорта данных, поэтому разные таблицы
могут экспортировать данные в разные
файлы, листы или ячейки MS Excel. -
Из одной таблицы
QUIK допускается экспорт данных только
в один лист MS Excel. -
В один лист MS
Excel можно экспортировать данные из
разных таблиц QUIK. -
При
изменении формата таблицы экспорт
данных останавливается и на экран
выводится окно настройки экспорта для
установки новых параметров для вывода
данных.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
11.03.2015134.14 Кб65.doc
- #
- #
- #
- #
- #
- #
- #
- #