Как перевести Excel в XLSX: все способы с плюсами и минусами

Почему формат XLSX лучше старого XLS?

Формат XLSX появился вместе с Microsoft Office 2007 и стал стандартом де-факто для электронных таблиц. В отличие от устаревшего .xls, он поддерживает больше строк (до 1 048 576 против 65 536), современные функции вроде условного форматирования с градиентами, сводные таблицы с несколькими уровнями группировки и защиту на уровне ячеек. Но главное — файлы XLSX весят на 30-70% меньше благодаря сжатию ZIP.

Проблема в том, что многие пользователи до сих пор работают со старыми версиями файлов. Например, бухгалтерские программы 1С часто экспортируют отчёты в .xls, а банки присылают выписки в этом формате. Перевести их в XLSX нужно не только для совместимости с новыми версиями Excel или Google Sheets, но и чтобы избежать ошибок при открытии — старый формат не поддерживает многие современные формулы вроде XLOOKUP или LET.

Способ 1: Сохранение через «Файл → Сохранить как» в Excel

Самый очевидный и надёжный метод — использовать встроенную функцию Microsoft Excel. Он подходит для всех версий программы начиная с 2007 года. Алгоритм простой:

  1. Откройте файл .xls в Excel (двойной клик или через меню Файл → Открыть).
  2. Перейдите в Файл → Сохранить как (или нажмите F12).
  3. В выпадающем списке «Тип файла» выберите Книга Excel (*.xlsx).
  4. Укажите папку для сохранения и нажмите Сохранить.

⚠️ Внимание: Если в вашем файле используются макросы (код VBA), при сохранении в .xlsx они будут удалены! В этом случае выбирайте формат .xlsm — он поддерживает макросы и современный стандарт.

Открыт ли файл в режиме редактирования (не только для чтения)?

Есть ли в документе макросы (тогда нужен .xlsm)?

Достаточно ли места на диске для временных файлов?

Закрыты ли другие программы, работающие с этим файлом?-->

Способ 2: Пакетное преобразование через Проводник Windows

Если нужно конвертировать десятки файлов .xls в .xlsx, открывать каждый по отдельности — мучение. В Windows 10/11 есть скрытая функция пакетного переименования, которая поможет сэкономить время:

  1. Выделите все файлы .xls в папке (удерживайте Ctrl или Shift).
  2. Нажмите F2 (или кликните правой кнопкой и выберите «Переименовать»).
  3. Замените расширение с .xls на .xlsx и нажмите Enter.
  4. Подтвердите изменение для всех файлов в появившемся окне.

🔹 Важно: Этот метод работает только если файлы уже сохранены в формате Office 2007+, но имеют старое расширение. Если файл действительно в формате .xls, простое переименование его не конвертирует! В этом случае при открытии Excel предложит выполнить преобразование.

Способ 3: Онлайн-конвертеры — быстро, но осторожно

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

  • 🔒 Zamzar — поддерживает файлы до 50 МБ, отправляет результат на email.
  • 📁 CloudConvert — конвертирует пакеты файлов, но требует регистрации для больших объёмов.
  • 🛡️ Convertio — работает с облачными хранилищами (Google Drive, Dropbox).
  • ILovePDF — кроме конвертации, позволяет объединять и разделять таблицы.

🚨 Предупреждение: Загружая файлы на сторонние сервисы, вы рискуете утечкой конфиденциальных данных (например, если в таблице хранятся пароли или финансовая информация). Всегда проверяйте политику конфиденциальности сервиса и используйте онлайн-конвертеры только для некритичных данных.

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

Способ 4: Конвертация через Google Sheets

Google Таблицы умеют открывать и сохранять файлы .xls в формате .xlsx без установки Excel. Это бесплатно и безопасно, так как обработка происходит в облаке Google:

  1. Перейдите на сайт Google Sheets и авторизуйтесь.
  2. Нажмите Файл → Импорт и загрузите ваш .xls-файл.
  3. После открытия выберите Файл → Скачать → Microsoft Excel (.xlsx).

Плюсы: Нет ограничений по размеру файла (в отличие от онлайн-конвертеров), поддерживаются формулы и форматирование. Минус — требуется интернет и аккаунт Google.

Что делать, если Google Sheets неправильно отобразил данные?

Если после импорта в Google Sheets исходные данные (например, даты или валюта) отображаются некорректно, попробуйте:

1. Проверить региональные настройки в Файл → Настройки → Общие → Страна.

2. Вручную изменить формат ячеек через Формат → Число.

3. Экспортировать обратно в .xls и открыть в Excel для проверки.

Способ 5: Использование VBA-скрипта для автоматической конвертации

Если вам регулярно приходится конвертировать сотни файлов, напишите простой VBA-макрос. Он обработает все .xls в указанной папке и сохранит их в .xlsx:

Sub ConvertXLStoXLSX()

Dim folderPath As String

Dim fileName As String

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

folderPath = "C:\YourFolderPath\"

' Перебор всех файлов .xls в папке

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

Do While fileName <> ""

Workbooks.Open folderPath & fileName

ActiveWorkbook.SaveAs Replace(folderPath & fileName, ".xls", ".xlsx"), FileFormat:=xlOpenXMLWorkbook

ActiveWorkbook.Close

fileName = Dir()

Loop

End Sub

🔧 Как использовать:

  1. Откройте Excel и нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код выше в новый модуль (Insert → Module).
  3. Замените C:\YourFolderPath\ на путь к вашей папке.
  4. Запустите макрос кнопкой F5.

⚠️ Внимание: Перед запуском скрипта сделайте резервную копию файлов! Макрос перезапишет исходные данные, если не указать другой путь для сохранения.

Сравнительная таблица методов конвертации

Метод Скорость Поддержка макросов Ограничения Безопасность
Сохранение через Excel ⭐⭐⭐⭐ ❌ (нужен .xlsm) Требует Excel 2007+ ⭐⭐⭐⭐⭐
Пакетное переименование ⭐⭐⭐⭐⭐ Работает только с "псевдо-xls" ⭐⭐⭐⭐⭐
Онлайн-конвертеры ⭐⭐⭐ Ограничение по размеру, риск утечки данных ⭐⭐
Google Sheets ⭐⭐⭐ Требует интернет и аккаунт Google ⭐⭐⭐⭐
VBA-скрипт ⭐⭐⭐⭐ ✅ (если сохранить как .xlsm) Требует навыки работы с макросами ⭐⭐⭐⭐

Частые ошибки и как их избежать

Даже при кажущейся простоте конвертации пользователи сталкиваются с проблемами. Вот самые распространённые:

  • 🔴 Ошибка "Файл повреждён" — возникает, если исходный .xls был сохранён с ошибками. Попробуйте открыть его в Excel и выполнить Файл → Открыть и восстановить.
  • 🔴 Потеря форматирования — некоторые стили (например, пользовательские границы) могут не перенестись. Проверяйте результат визуально!
  • 🔴 Не работают формулы — если в файле использовались функции, недоступные в .xls (например, IFS), они превратятся в ошибку #ИМЯ?. Исправляйте их вручную.
  • 🔴 Слишком большой файл — онлайн-сервисы часто ограничивают размер. Для больших таблиц используйте Excel или Google Sheets.

💡 Совет: Перед конвертацией важных файлов откройте их в Excel и включите режим совместимости (Файл → Сведения → Преобразовать). Программа сама покажет потенциальные проблемы.

FAQ: Ответы на популярные вопросы

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

Технически да, но не все данные сохранятся. Формат .xls не поддерживает:

  • Таблицы с более чем 65 536 строками (лишние будут обрезаны).
  • Современные функции вроде XLOOKUP или TEXTJOIN.
  • Некоторые виды условного форматирования.

Если вам нужен .xls для совместимости со старыми программами, сохраните копию в обоих форматах.

Почему после конвертации исчезли некоторые данные?

Чаще всего это происходит из-за:

  1. Ограничения на количество строк — в .xls максимум 65 536 строк, а в .xlsx — более миллиона. Если исходный файл был больше, данные за пределами лимита могли быть утеряны при обратной конвертации.
  2. Несовместимых формул — функции, добавленные после 2003 года (например, IFERROR), в .xls не работают.
  3. Повреждения файла — если .xls изначально был сохранён с ошибкой, при открытии в новом формате часть данных может не перенестись.

Решение: откройте исходный файл в Excel и проверьте журнал ошибок (Файл → Сведения → Проверка на наличие проблем).

Как конвертировать XLS в XLSX на Mac?

На macOS алгоритм такой же, как на Windows:

  1. Откройте файл в Excel для Mac.
  2. Выберите Файл → Сохранить как.
  3. В поле «Формат файла» укажите XLSX.
  4. Сохраните файл.

Если у вас не установлен Excel, используйте Numbers (входит в пакет iWork):

  1. Откройте файл в Numbers.
  2. Выберите Файл → Экспортировать в Excel.
  3. Укажите формат Excel (.xlsx).

⚠️ Внимание: Numbers может неправильно интерпретировать некоторые формулы Excel, особенно если они используют массивы или пользовательские функции.

Есть ли разница между XLSX и XLSM?

Да, и она критична для некоторых задач:

  • XLSX — стандартный формат без поддержки макросов. Подходит для большинства таблиц.
  • XLSM — расширение для файлов с макросами (кодом VBA). Если ваш .xls содержал автоматизацию, сохраняйте его как .xlsm, иначе макросы будут удалены!

Чтобы проверить наличие макросов, откройте файл в Excel и нажмите Alt + F11. Если откроется редактор VBA с кодом — вам нужен .xlsm.

Можно ли автоматизировать конвертацию для большой компании?

Для корпоративного использования лучше настроить автоматизированный процесс:

  • 🤖 Power Automate (Microsoft) — создайте поток, который будет конвертировать файлы из SharePoint или OneDrive.
  • 🐍 Python-скрипт — с помощью библиотек pandas и openpyxl можно написать скрипт для пакетной обработки.
  • 📂 Правила папок в Outlook — если файлы приходят по email, настройте автоматическое сохранение и конвертацию.

Пример скрипта на Python:

import pandas as pd

from pathlib import Path

folder = Path("C:/Files/")

for file in folder.glob("*.xls"):

df = pd.read_excel(file)

df.to_excel(file.with_suffix('.xlsx'), index=False)

Для запуска потребуется установить pandas и openpyxl через pip.