Почему формат 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 года. Алгоритм простой:
- Откройте файл
.xlsв Excel (двойной клик или через менюФайл → Открыть). - Перейдите в
Файл → Сохранить как(или нажмитеF12). - В выпадающем списке «Тип файла» выберите Книга Excel (*.xlsx).
- Укажите папку для сохранения и нажмите
Сохранить.
⚠️ Внимание: Если в вашем файле используются макросы (код VBA), при сохранении в .xlsx они будут удалены! В этом случае выбирайте формат .xlsm — он поддерживает макросы и современный стандарт.
Открыт ли файл в режиме редактирования (не только для чтения)?
Есть ли в документе макросы (тогда нужен .xlsm)?
Достаточно ли места на диске для временных файлов?
Закрыты ли другие программы, работающие с этим файлом?-->
Способ 2: Пакетное преобразование через Проводник Windows
Если нужно конвертировать десятки файлов .xls в .xlsx, открывать каждый по отдельности — мучение. В Windows 10/11 есть скрытая функция пакетного переименования, которая поможет сэкономить время:
- Выделите все файлы
.xlsв папке (удерживайтеCtrlилиShift). - Нажмите
F2(или кликните правой кнопкой и выберите «Переименовать»). - Замените расширение с
.xlsна.xlsxи нажмитеEnter. - Подтвердите изменение для всех файлов в появившемся окне.
🔹 Важно: Этот метод работает только если файлы уже сохранены в формате 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:
- Перейдите на сайт Google Sheets и авторизуйтесь.
- Нажмите
Файл → Импорти загрузите ваш.xls-файл. - После открытия выберите
Файл → Скачать → 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
🔧 Как использовать:
- Откройте Excel и нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код выше в новый модуль (
Insert → Module). - Замените
C:\YourFolderPath\на путь к вашей папке. - Запустите макрос кнопкой
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 для совместимости со старыми программами, сохраните копию в обоих форматах.
Почему после конвертации исчезли некоторые данные?
Чаще всего это происходит из-за:
- Ограничения на количество строк — в
.xlsмаксимум 65 536 строк, а в.xlsx— более миллиона. Если исходный файл был больше, данные за пределами лимита могли быть утеряны при обратной конвертации. - Несовместимых формул — функции, добавленные после 2003 года (например,
IFERROR), в.xlsне работают. - Повреждения файла — если
.xlsизначально был сохранён с ошибкой, при открытии в новом формате часть данных может не перенестись.
Решение: откройте исходный файл в Excel и проверьте журнал ошибок (Файл → Сведения → Проверка на наличие проблем).
Как конвертировать XLS в XLSX на Mac?
На macOS алгоритм такой же, как на Windows:
- Откройте файл в Excel для Mac.
- Выберите
Файл → Сохранить как. - В поле «Формат файла» укажите XLSX.
- Сохраните файл.
Если у вас не установлен Excel, используйте Numbers (входит в пакет iWork):
- Откройте файл в Numbers.
- Выберите
Файл → Экспортировать в Excel. - Укажите формат 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.