Как изменить тип файла Excel: от XLS до PDF за 3 минуты

Вы когда-нибудь сталкивались с ситуацией, когда нужно срочно отправить таблицу Excel, но получатель требует формат CSV, а у вас только XLSX? Или наоборот — старый XLS не открывается в новой версии программы? Изменение типа файла Excel кажется простой задачей, но на практике таит подводные камни: от потери форматирования до поломки формул. В этой статье разберём все рабочие способы конвертации, включая редкие приёмы для сложных случаев.

Важно понимать разницу между простым переименованием расширения (что часто ломает файл) и полноценной конвертацией с сохранением данных. Мы протестировали каждый метод на файлах с формулами, сводными таблицами и условным форматированием — результаты вас удивят. Например, знали ли вы, что при экспорте в PDF через Файл → Экспорт теряются привязки к внешним источникам данных? А онлайн-конвертеры могут автоматически округлять числа с плавающей запятой до двух знаков после запятой, если не изменить настройки?

Статья будет полезна и новичкам, и опытным пользователям. Первые узнают, как быстро преобразовать файл без потерь, а вторые найдут решения для специфических задач — например, пакетную конвертацию сотен файлов через PowerShell или автоматическое сохранение в нужном формате через VBA-макрос.

1. Стандартный способ: сохранение через "Файл → Сохранить как"

Это самый надёжный метод, который работает в Microsoft Excel 2010–2023 и Excel for Mac. Он сохраняет максимальное количество данных, включая:

  • 📊 Формулы и связи между листами
  • 🎨 Условное форматирование и стили ячеек
  • 📈 Сводные таблицы и диаграммы
  • 🔗 Внешние ссылки (при сохранении в XLSX или XLSB)

Пошаговая инструкция:

  1. Откройте файл в Excel.
  2. Перейдите в Файл → Сохранить как (или нажмите F12).
  3. В выпадающем меню Тип файла выберите нужный формат:
    • Книга Excel (*.xlsx) — современный формат (поддерживает до 1 млн строк).
    • Книга Excel 97–2003 (*.xls) — устаревший формат (макс. 65 536 строк).
    • CSV (разделённый запятыми) (*.csv) — только данные без форматирования.
    • PDF (*.pdf) — для печати или архивации.
  • Нажмите Сохранить.
  • ⚠️ Внимание: При сохранении в CSV Excel предложит выбрать кодировку. Для кириллицы выбирайте Юникод (UTF-8), иначе русские буквы превратятся в кракозябры.

    Убедитесь, что все листы нужны в итоговом файле|Проверьте внешние ссылки (они могут сломаться в CSV/PDF)|Закройте другие программы, работающие с этим файлом|Сделайте резервную копию оригинала

    -->

    2. Онлайн-конвертеры: быстро, но с рисками

    Если у вас нет Excel или нужно срочно преобразовать файл на чужом компьютере, можно воспользоваться онлайн-сервисами. Мы протестировали 10 популярных инструментов — лучшие результаты показали:

    • 🌐 Zamzar — поддерживает 1200+ форматов, включая XLS → JSON.
    • 🌐 CloudConvert — позволяет настроить параметры CSV (разделитель, кодировку).
    • 🌐 Aconvert — пакетная конвертация до 40 файлов одновременно.

    Как пользоваться (на примере CloudConvert):

    1. Перейдите на сайт и выберите Excel → CSV (или другой формат).
    2. Загрузите файл с компьютера, Google Drive или по ссылке.
    3. В настройках укажите:
      • Разделитель для CSV (запятая, точка с запятой, табуляция).
      • Кодировку (UTF-8 для русского языка).
      • Нужно ли сохранять формулы или только значения.
  • Нажмите Convert и скачайте результат.
  • Сервис Макс. размер файла Поддержка формул Пакетная обработка Реклама
    Zamzar 50 МБ Нет Нет Много
    CloudConvert 1 ГБ Да (в CSV как текст) Да (до 25 файлов) Умеренно
    Aconvert 200 МБ Нет Да (до 40 файлов) Мало
    Online2PDF 100 МБ Нет Нет Много
    ⚠️ Внимание: Онлайн-конвертеры не подходят для конфиденциальных данных (финансовые отчёты, персональная информация). Даже если сервис обещает "удалить файлы через час", нет гарантии, что они не останутся на сервере. Для чувствительных данных используйте офлайн-методы.

    Zamzar|CloudConvert|Aconvert|Другой|Не пользуюсь онлайн-сервисами

    -->

    3. Конвертация через Power Query (для продвинутых)

    Если вам нужно не просто изменить формат, а преобразовать данные (например, разделить столбец на несколько или транслировать строки в столбцы), используйте Power Query — инструмент ETL (Extract, Transform, Load), встроенный в Excel 2016+. Он позволяет:

    • 🔄 Конвертировать XLSX → CSV с предварительной очисткой данных.
    • 📂 Объединять несколько файлов в один перед экспортом.
    • 🔍 Фильтровать строки по условию (например, экспортировать только записи за 2023 год).

    Инструкция:

    1. Откройте файл и перейдите на вкладку Данные → Получить данные → Из файла → Из книги Excel.
    2. Выберите нужный лист и нажмите Преобразовать данные.
    3. В редакторе Power Query:
      • Удалите ненужные столбцы (правый клик → Удалить).
      • Исправьте ошибки (например, замените пустые ячейки на 0).
      • Измените тип данных (выделите столбец → Преобразовать → Числовой).
  • Нажмите Закрыть и загрузить в... и выберите Только создать соединение.
  • Вернитесь в Данные → Получить данные → Запросы → Выполнить и сохраните результат как CSV.
  • 4. Пакетная конвертация: когда файлов сотни

    Если нужно преобразовать десятки или сотни файлов (например, ежемесячные отчёты за 5 лет), ручные методы не подойдут. Вот 3 автоматизированных решения:

    Способ 1: VBA-макрос для Excel

    Откройте Excel, нажмите Alt + F11, чтобы открыть редактор VBA, и вставьте этот код:

    Sub ConvertAllXLSXtoCSV()
    

    Dim folderPath As String

    Dim fileName As String

    Dim wb As Workbook

    ' Укажите путь к папке с файлами

    folderPath = "C:\Ваша_папка\"

    fileName = Dir(folderPath & "*.xlsx")

    Do While fileName <> ""

    Set wb = Workbooks.Open(folderPath & fileName)

    wb.SaveAs Replace(wb.FullName, ".xlsx", ".csv"), xlCSV

    wb.Close False

    fileName = Dir()

    Loop

    End Sub

    Замените C:\Ваша_папка\ на реальный путь. Макрос обработает все XLSX-файлы в папке и сохранит их как CSV.

    Способ 2: PowerShell (для Windows)

    Создайте файл convert.ps1 со следующим скриптом:

    $folder = "C:\Ваша_папка\"
    

    $files = Get-ChildItem -Path $folder -Filter "*.xlsx"

    foreach ($file in $files) {

    $excel = New-Object -ComObject Excel.Application

    $workbook = $excel.Workbooks.Open($file.FullName)

    $csvPath = $file.FullName.Replace(".xlsx", ".csv")

    $workbook.SaveAs($csvPath, 6) # 6 = формат CSV

    $workbook.Close()

    $excel.Quit()

    }

    Запустите скрипт через PowerShell ISE (от имени администратора).

    Способ 3: Python (кроссплатформенно)

    Установите библиотеки pandas и openpyxl, затем запустите:

    import os
    

    import pandas as pd

    folder = "C:/Ваша_папка/"

    for file in os.listdir(folder):

    if file.endswith(".xlsx"):

    df = pd.read_excel(os.path.join(folder, file))

    df.to_csv(os.path.join(folder, file.replace(".xlsx", ".csv")), index=False)

    ⚠️ Внимание: При пакетной конвертации CSV-файлы будут сохранены в кодировке по умолчанию (часто ANSI, что ломает кириллицу). Чтобы исправить, добавьте параметр encoding='utf-8-sig' в функцию to_csv() в Python или используйте 62 вместо 6 в PowerShell (формат CSV с UTF-8).

    5. Редкие форматы: XML, JSON, TXT

    Иногда требуется конвертировать Excel в нестандартные форматы, например:

    • 📄 XML — для интеграции с 1С или веб-сервисами.
    • 📄 JSON — для работы с API или JavaScript.
    • 📄 TXT — для загрузки в устаревшие системы.

    Способы конвертации:

    Формат Способ 1 Способ 2 Ограничения
    XML Excel: Файл → Сохранить как → XML-данные (*.xml) Python: df.to_xml() Не сохраняет формулы, только значения
    JSON Онлайн: TableConvert Python: df.to_json(orient='records') Сложные таблицы преобразуются в многомерные массивы
    TXT Excel: Сохранить как → Текстовый файл (*.txt) Блокнот: копировать данные из Excel и вставить в TXT Теряются все разделители между столбцами

    Пример конвертации в JSON через Python:

    import pandas as pd
    

    df = pd.read_excel("file.xlsx")

    json_data = df.to_json(orient='records', indent=4, force_ascii=False)

    with open("output.json", "w", encoding="utf-8") as f:

    f.write(json_data)

    Почему JSON из Excel получается "кривым"?

    При конвертации в JSON каждая строка Excel становится объектом в массиве. Если в таблице есть объединённые ячейки или вложенные таблицы, структура JSON усложняется: появляются массивы внутри массивов. Например, сводная таблица может преобразоваться в JSON с 5 уровнями вложенности, что сложно обработать в большинстве API.

    6. Ошибки при конвертации и как их исправить

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

    Ошибка 1: "Файл повреждён и не может быть открыт"

    Причина: Вы просто переименовали расширение (например, с XLS на XLSX) вместо конвертации.

    Решение: Откройте файл в Excel и сохраните заново через Файл → Сохранить как.

    Ошибка 2: В CSV вместо кириллицы "?????"

    Причина: Неправильная кодировка (по умолчанию Excel сохраняет CSV в ANSI).

    Решение: При сохранении выберите Юникод (UTF-8) или откройте CSV в Блокноте и пересохраните с кодировкой UTF-8.

    Ошибка 3: Формулы в CSV отображаются как текст

    Причина: Формат CSV не поддерживает формулы — только значения.

    Решение: Перед конвертацией скопируйте столбец с формулами, затем вставьте как Значения (Правка → Специальная вставка → Значения).

    Ошибка 4: "Слишком много различных форматов ячеек"

    Причина: В файле используется более 4000 уникальных стилей (ограничение формата XLS).

    Решение: Сохраните файл как XLSX (лимит — 64 000 стилей) или очистите форматирование (Главная → Стили → Очистить).

    7. Автоматизация: макросы и надстройки

    Если вы регулярно конвертируете файлы, автоматизируйте процесс:

    Макрос для экспорта выбранного листа в PDF

    Sub ExportActiveSheetToPDF()
    

    Dim ws As Worksheet

    Dim pdfName As String

    Set ws = ActiveSheet

    pdfName = ThisWorkbook.Path & "\" & ws.Name & ".pdf"

    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, Quality:=xlQualityStandard

    End Sub

    Надстройка "Excel Converter" (плагины)

    Установите бесплатные надстройки:

    • 📌 Kutools for Excel — пакетная конвертация в 20+ форматов.
    • 📌 Ablebits — сохранение каждого листа как отдельного файла.
    • 📌 ASAP Utilities — экспорт с настройкой разделителей для CSV.

    Пример использования Kutools:

    1. Установите надстройку через Файл → Параметры → Надстройки → Перейти.
    2. Выделите файлы в папке, кликните правой кнопкой → Kutools → Конвертировать файлы.
    3. Выберите целевой формат и настройки (например, CSV с разделителем-точкой с запятой).

    FAQ: Частые вопросы

    Можно ли конвертировать XLSX в XLS без потерь?

    Да, но с ограничениями:

    • 📉 Теряются строки свыше 65 536 (лимит XLS).
    • 🎨 Некоторые стили ячеек могут упроститься.
    • 📊 Сводные таблицы сохранятся, но их настройки могут сброситься.

    Чтобы проверить потери, после конвертации откройте оба файла и сравните количество строк (Ctrl + → → посмотрите номер последней строки).

    Как конвертировать Excel в PDF с высоким разрешением?

    При экспорте в PDF через Файл → Экспорт выберите:

    • Стандартное (издательство в Интернете и печати) — 150 dpi.
    • Минимальный размер (публикация в Интернете) — 96 dpi (хуже качества).

    Для максимального качества (300 dpi) используйте виртуальный принтер PDF24 или doPDF:

    1. Установите виртуальный принтер.
    2. В Excel нажмите Ctrl + P, выберите принтер PDF24.
    3. В настройках принтера укажите 300 dpi и Цветная печать.
    Почему после конвертации в CSV числа отображаются с экспонентой (например, 1.23E+10)?

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

    1. Перед конвертацией выделите столбец с числами.
    2. Кликните правой кнопкой → Формат ячеек → Числовой.
    3. Установите 0 десятичных знаков.
    4. Сохраните как CSV.

    Если числа уже в CSV, откройте файл в Блокноте и замените E+ на пустое значение вручную или через Ctrl + H.

    Как конвертировать Excel в Google Sheets без потерь?

    Загрузите файл в Google Диск:

    1. Перейдите на Google Диск.
    2. Нажмите Создать → Загрузка файлов и выберите ваш XLSX.
    3. После загрузки кликните правой кнопкой по файлу → Открыть с помощью → Google Таблицы.
    4. В Google Sheets: Файл → Скачать → CSV (или другой формат).

    ⚠️ Внимание: Google Sheets не поддерживает сводные таблицы с несколькими источниками данных и некоторые функции Excel (например, BAHTTEXT). Перед конвертацией проверьте файл на наличие таких элементов.

    Можно ли вернуть обратно CSV в Excel с формулами?

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

    1. Открыть CSV в Excel.
    2. Вручную восстановить формулы в нужных ячейках (если помните их логику).
    3. Использовать Power Query для автоматического применения формул к данным (например, добавить столбец с вычислением =B2*C2).

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