Перенос данных из Excel в блокнот

Обновлено: 21.11.2024

Эта страница представляет собой поддерживаемый рекламодателями отрывок из книги Power Excel 2010–2013 от MrExcel — 567 разгаданных тайн Excel. Если вам нравится эта тема, подумайте о покупке всей электронной книги.

Проблема: я работаю с файлом Excel. Мне нужно создать файл для чтения другим приложением, но это приложение может читать только файлы .txt.

Стратегия. У вас есть несколько вариантов. Как правило, другое приложение хочет, чтобы столбцы были разделены фиксированным количеством пробелов или запятыми. Файлы со столбцами, разделенными запятыми, называются файлами со значениями, разделенными запятыми, или файлами CSV. Файлы CSV легче создавать, чем файлы, разделенные пробелами. Вот как создать файл CSV:

  1. Выберите «Файл», «Сохранить как». В раскрывающемся списке "Тип файла" выберите CSV (с разделителями-запятыми) (*.csv).
  2. Нажмите кнопку "Сохранить". Excel обычно предупреждает вас о том, что вы сохраняете файл в формате, в котором будут исключены несовместимые функции. Это означает, что вы должны повторно сохранить файл как файл Excel позже, чтобы сохранить совместимые функции. Важно: В файле CSV сохраняется только текущий рабочий лист. Если в книге несколько листов, сохраните каждый лист отдельно.
  3. После сохранения файла в формате CSV используйте команду "Сохранить как", чтобы сохранить файл в формате Excel.

Результаты: На рисунке ниже показан созданный файл, как он выглядит при редактировании с помощью Блокнота. Обратите особое внимание на запись «œMolson, Inc». Поскольку ячейка D5 уже содержала запятую, Excel был достаточно умен, чтобы заключить Molson, Inc в кавычки.

    Excel добавляет кавычки вокруг ячейки, содержащей запятую.

Подсказка: даты в столбце C записываются в файл в том же формате, в котором они были показаны на листе. Большинство программ не понимают такую ​​дату, как 1 января 2004 года. Проверьте документацию программы, которая будет импортировать информацию, и при необходимости отформатируйте столбец C, чтобы он отображался как мм/дд/гггг перед экспортом в CSV.

Альтернативный вариант. Другой вариант – создать файл, в котором каждое поле должно занимать фиксированное количество символов. Вам может понадобиться использовать этот метод для создания файла, который должен быть импортирован другим приложением. В этом случае другое приложение обычно дает вам спецификацию файла, которой вы должны следовать. Это может означать следующее:

В этом случае выполните следующие действия:

  1. Пройдитесь по столбцам на листе, изменив ширину столбцов. Если другая программа ожидает, что поле «Регион» будет иметь ширину, например, 12 символов, выберите столбец A, а затем выберите «Главная», «Формат», «Ширина столбца» и установите для текстового поля «Ширина столбца» значение 12.
  2. Отформатируйте даты, как указано другой системой. Убедитесь, что в столбцах «Доход», «Стоимость» и «Прибыль» указано два десятичных разряда. Другой системе, вероятно, не нужны заголовки полей, поэтому удалите строку 1.
  3. Выберите «Файл», «Сохранить как». В раскрывающемся списке «Тип файла» выберите «Форматированный текст (с разделителями-пробелами)».

Подсказка: Excel меняет имя файла, чтобы оно имело расширение .prn. Даже если вы попытаетесь изменить здесь расширение на .txt, Excel все равно сохранит файл с расширением .prn. Лучше оставить его как .prn, а затем переименовать в проводнике Windows.

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

  • Экспорт одного листа в текстовый файл Excel
  • Пакетный экспорт нескольких листов в отдельные текстовые файлы в Excel
  • Экспорт выделения (или одного столбца) в текстовый файл с помощью VBA
  • Экспорт выделения (или одного столбца) в текстовый файл с помощью Kutools for Excel

Экспорт одного листа в текстовый файл в Excel

По умолчанию данные Excel сохраняются в виде книг в формате .xlsx. Однако мы можем экспортировать рабочий лист существующей книги в виде текстовых файлов с помощью функции «Сохранить как». Пожалуйста, сделайте следующее:

<р>1. Перейдите к рабочему листу, который вы будете экспортировать в текстовый файл, и нажмите «Файл» (или кнопку Office) > «Сохранить как».

<р>2. В открывшемся диалоговом окне «Сохранить как» выберите папку назначения, в которую вы сохраните экспортированный текстовый файл, назовите файл в поле «Имя файла», а затем выберите текст Unicode (*.txt) в раскрывающемся списке «Сохранить как». Смотрите скриншот:

<р>3.Затем появятся два диалоговых окна с предупреждением, в которых вас попросят экспортировать только активный рабочий лист в виде текстового файла и исключить любые несовместимые функции с текстовым файлом. Нажмите кнопку OK и кнопку Да последовательно.

Затем данные активного рабочего листа экспортируются в виде нового текстового файла.

Примечание. Команда «Сохранить как» позволяет экспортировать данные активного рабочего листа только в виде текстового файла. Если вы хотите экспортировать все данные всей книги, вам необходимо сохранить каждый лист в виде текстового файла отдельно.

Экспорт выделения (или одного столбца) в текстовый файл с помощью VBA

Следующий код VBA также может помочь вам экспортировать данные выбранного диапазона (например, один столбец) в текстовый файл. Сделайте следующее:

<р>1. Удерживая нажатыми клавиши ALT + F11, откроется окно Microsoft Visual Basic для приложений.

<р>2. Нажмите «Вставить» > «Модуль» и вставьте следующий код в окно модуля.

VBA: экспорт выделения или всего рабочего листа в текстовый файл

<р>3. Затем нажмите клавишу F5, чтобы запустить этот код. Затем выберите диапазон данных, который вы хотите экспортировать, во всплывающем диалоговом окне и нажмите кнопку ОК, см. снимок экрана:

<р>4. А теперь в другом диалоговом окне «Сохранить как» укажите имя для этого текстового файла и папку, в которую нужно поместить этот файл, и нажмите кнопку «Сохранить».

Экспорт выделения (или одного столбца) в текстовый файл с помощью Kutools for Excel

Команда «Сохранить как» может экспортировать все данные на активном листе в виде текста. Что если экспортировать все данные указанных неактивных листов или часть данных листа в виде текстового файла? Kutools for Excel's Export Range to File утилита может помочь нам легко экспортировать и сохранять данные при выборе в виде текстового файла..

Kutools for Excel — включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия на 30 дней, кредитная карта не требуется! Бесплатная пробная версия сейчас!

<р>1. Выберите диапазон, который вы экспортируете в текстовый файл (в нашем случае мы выбираем столбец A), и нажмите Kutools Plus > Импорт / Экспорт > Экспорт диапазона в файл, см. снимок экрана:

<р>2. В диалоговом окне «Экспорт диапазона в файл» выполните следующие действия, как показано на снимке экрана:

(1) Установите флажок «Текст Unicode» в разделе «Формат файла»;
(2) Отметьте параметр Сохранить фактические значения или Сохранить значения, как показано на экране, как вам нужно, в разделе Параметры текста;
(3) Укажите папку назначения, в которую вы сохраните экспортированный текстовый файл;
(4) НАЖМИТЕ кнопку "ОК".

<р>3. Назовите экспортированный текстовый файл в новом диалоговом окне открытия и нажмите кнопку «ОК».

И затем выбор (выбранный столбец A) был экспортирован в виде текстового файла и сохранен в указанной папке.

Kutools for Excel — включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия на 30 дней, кредитная карта не требуется! Получить сейчас

Экспорт нескольких листов в отдельные текстовые файлы в Excel

Иногда вам может понадобиться экспортировать несколько рабочих листов в несколько текстовых файлов в Excel. Функция «Сохранить как» может быть немного утомительной! Не волнуйся! Утилита Kutools for Excel's Split Workbook предоставляет пользователям Excel простой обходной путь для экспорта нескольких рабочих листов во множество отдельных текстовых файлов несколькими щелчками мыши.

Kutools for Excel — включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия на 30 дней, кредитная карта не требуется! Бесплатная пробная версия сейчас!

<р>1. Нажмите Kutools Plus > Рабочая книга > Разделить рабочую книгу. Смотрите скриншот:

<р>2.В открывшемся диалоговом окне «Разделить рабочую книгу» выполните следующие действия:

(1) Отметьте рабочие листы, которые вы будете экспортировать в отдельные текстовые файлы, в разделе «Имя рабочей книги»;
(2) Установите флажок Указать формат сохранения, а затем выберите текст Unicode (*.txt) в раскрывающемся списке ниже, см. снимок экрана слева:
(3) Нажмите кнопку Разделить.

<р>3. А затем во всплывающем диалоговом окне «Обзор папок» выберите папку назначения, в которую вы сохраните экспортированные текстовые файлы, и нажмите кнопку «ОК».

До сих пор каждый указанный рабочий лист был экспортирован как отдельный текстовый файл и сохранен в указанной папке.

Kutools for Excel — включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия на 30 дней, кредитная карта не требуется! Получить сейчас

Простое массовое сохранение каждого листа в виде отдельного файла PDF/текста/csv или книги в Excel

Обычно мы можем сохранить активный рабочий лист в виде отдельного файла .pdf, .txt или .csv с помощью функции «Сохранить как». Но Kutools for Excel's Split Workbook утилита может помочь вам легко сохранить каждую книгу в виде отдельного файла PDF / TEXT / CSV или книги в Excel. Полнофункциональная бесплатная пробная версия на 30 дней!

Kutools for Excel — включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия на 30 дней, кредитная карта не требуется! Получить сейчас

Демонстрация: экспорт данных Excel (выделение или листы) в текстовые файлы в Excel

Kutools for Excel включает в себя более 300 удобных инструментов для Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней. Загрузите и получите бесплатную пробную версию прямо сейчас!

В VBA мы можем открыть, прочитать или записать текстовый файл, запись в текстовый файл означает, что данные у нас есть на листе Excel, и мы хотим, чтобы они были в текстовом файле или в файле блокнота, есть два метода. сделать это можно с помощью свойства объекта файловой системы VBA, а другого — с помощью метода Open and write в VBA.

В большинстве корпоративных компаний, когда отчет готов, они стараются загрузить его в базу данных. Для загрузки в базу данных они используют формат «Текстовые файлы» для обновления базы данных. Обычно мы копируем данные из Excel и вставляем в текстовый файл. Причина, по которой мы полагаемся на текстовые файлы, заключается в том, что с ними очень легко работать из-за их легкости и простоты. С помощью кодирования VBA Использование кодирования VBA Код VBA представляет собой набор инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи. читать далее , мы можем автоматизировать задачу копирования данных из файла excel в текстовый файл. В этой статье мы покажем вам, как копировать или записывать данные из файла Excel в текстовый файл с помощью кода VBA.

Как записать данные в текстовые файлы с помощью VBA?

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

Синтаксис открытого текстового файла

Путь к файлу: путь к файлу, который мы пытаемся открыть на компьютере.

Режим: Режим — это контроль над открытием текстовых файлов. У нас может быть три типа управления текстовым файлом.

  • Режим ввода: предполагает управление открывающимся текстовым файлом только для чтения. Если мы используем «Режим ввода», мы ничего не можем сделать с файлом. Мы можем просто прочитать содержимое текстового файла.
  • Режим вывода. Используя этот параметр, мы можем записать на него содержимое. Здесь нужно помнить, что все существующие данные будут перезаписаны. Поэтому нам нужно опасаться возможной потери старых данных.
  • Режим добавления: этот режим полностью противоположен режиму вывода. Используя этот метод, мы можем фактически записать новые данные в конец существующих данных в файле.

Номер файла: будет подсчитываться номер текстового файла среди всех открытых текстовых файлов. Это распознает открытые номера файлов в целых значениях от 1 до 511. Присвоение номера файла является сложной задачей и приводит к большой путанице. Для этого мы можем использовать бесплатную функцию File.

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

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

Предположим, что у вас уже есть текстовый файл с именем «Hello.txt» в памяти вашего компьютера, и мы покажем вам, как записывать в него данные.

Шаг 1. Объявление переменной

Объявите переменную для хранения пути к файлу в виде строки.

Код:

Шаг 2. Определите номер файла

Код:

Шаг 3. Назначьте путь к файлу

Теперь для переменной Path назначьте путь к файлу с именем файла.

Код:

Шаг 4. Назначьте бесплатную функцию файла

Теперь для переменной «Номер файла» назначьте функцию «Свободный файл» для хранения уникальных номеров файлов.

Код:

Шаг 5. Откройте текстовый файл

Теперь нам нужно открыть текстовый файл, чтобы работать с ним. Как я объяснил, нам нужно использовать оператор OPEN, чтобы открыть текстовый файл.


Шаг 6. Используйте метод печати/записи

После того как файл открыт, нам нужно что-то в нем написать. Чтобы записать в текстовый файл, нам нужно использовать метод «Запись» или «Печать».

Код:

Во-первых, нам нужно указать номер файла (здесь мы присвоили файлу переменную «filenumber»), затем нам нужно добавить содержимое, которое мы хотим добавить в текстовый файл.

Шаг 7. Сохраните и закройте текстовый файл

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

Код:

Теперь запустите этот код вручную или с помощью сочетания клавиш Excel Клавиша быстрого доступа Excel Ярлык Excel — это способ более быстрого выполнения ручного задания. читать дальше F5. Он запишет указанный контент в указанный текстовый файл.

Теперь мы увидим, как записать данные листа Excel в текстовый файл.

Для этого примера я создал простые данные в Excel, как показано ниже.

Шаг 1. Продолжая старый пример, определите еще две переменные как целые, чтобы найти последнюю строку и последний столбец.

Код:

Шаг 2. Найдите последнюю использованную строку и столбец на листе.

Шаг 3. Теперь назначьте путь к файлу и номер файла.

Шаг 4. Теперь используйте оператор OPEN, чтобы открыть текстовый файл.

Шаг 5. Нам нужно перебрать строки и столбцы, поэтому объявите еще две переменные как Integer.

Шаг 7. Теперь, чтобы выполнить цикл по столбцам, откройте еще один цикл внутри существующего цикла.

Шаг 8. Нам нужно записать одну и ту же строку данных, пока она не достигнет последнего столбца. Поэтому для этого примените оператор IF в VBA.

Шаг 9. Теперь сохраните и закройте текстовый файл.

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

Код:

Итак, запускайте код с помощью клавиши F5 или вручную. Затем он скопирует приведенные ниже данные.

Рекомендуемые статьи

Это руководство по записи текстового файла VBA. Здесь мы узнаем, как копировать/записывать данные с рабочего листа в текстовый файл с практическими примерами и загружаемым шаблоном. Ниже вы можете найти несколько полезных статей по Excel VBA –

Это обычное требование. У вас есть лист Excel с некоторыми данными, и вы хотите просмотреть эти данные и отправить каждую строку (или запись) в другое приложение.

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

Вот пример сценария:

По сути, в этом скрипте происходят три основные вещи:

  1. Цикл Repeat/Until.
  2. Получение данных из Excel с помощью XLGetCell
  3. Отправка данных в целевое приложение (в данном случае Блокнот) с помощью клавиш.

Этот сценарий сначала запускает Блокнот. В вашем случае настольное приложение может быть уже запущено, поэтому вам может не понадобиться это делать.

Цикл Repeat/Until повторяется до тех пор, пока не будет установлено значение maxrows, заданное в поле ввода, которое запрашивает у пользователя, сколько строк нужно получить. Скорее всего, вы не захотите ничего спрашивать у пользователя и захотите перебрать ВСЕ строки на листе. В этом случае используйте XLGetSheetDims для получения количества строк.

В каждой итерации цикла мы увеличиваем значение счетчика строк и используем XLGetCell для получения данных для этой конкретной строки. Затем мы фокусируем Блокнот и «Отправляем» данные. Здесь мы используем Send, который отправляет нажатия клавиш. Таким образом, мы имитируем ввод данных пользователем. Вместо этого вы можете использовать UISetValue или какой-либо другой метод.

Приложения для ПК

В Блокноте мы просто отправляем строку текста для каждой строки листа. Итак, в конце нашего цикла мы просто нажимаем Enter (нажмите Enter в строке 47). В вашем случае вам, вероятно, понадобится немного больше, чем это. Давайте представим, что вы добавляете записи клиентов. В конце цикла вы, вероятно, нажмете кнопку «Сохранить» или что-то подобное. Затем вы захотите подождать, пока не узнаете, что запись сохранена.

Это может быть случай ожидания изменения заголовка окна, появления диалогового окна или, возможно, какой-либо другой визуальной подсказки. Таким образом, вы можете использовать WaitWindowOpen, WaitScreenText, WaitScreenImage или что-то еще.

Затем вам нужно будет вернуться к исходной точке для следующей записи. Для этого может потребоваться отправить еще несколько нажатий клавиш или щелкнуть где-нибудь еще, чтобы начать новую запись. И вы захотите убедиться, что фокус находится в первом поле ввода, в которое вы собираетесь отправлять данные, поэтому вы можете «нажать Tab» необходимое количество раз, чтобы получить там фокус (или вы можете использовать UIFocus ).

Отправка в веб-приложения

Если вы хотите отправить данные в веб-приложение, лучше не отправлять нажатия клавиш и вместо этого использовать функции IE, такие как IEFormFill или IETagEventByAtrib. Они работают, проникая под кожу Internet Explorer и получая доступ к его «объектной модели документа». Они позволяют вам напрямую обращаться к объектам HTML. Или вы можете использовать UISetValue в зависимости от того, насколько «доступны» веб-объекты (поэкспериментируйте с мастером FindObject).

Загрузите этот zip-архив для простого примера скрипта и файла Excel. Сценарий считывает данные из файла Excel построчно и выводит их в простую веб-форму Документов Google.

Совет: начните с сложного

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

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

Читайте также: