Как восстановить эксель файл после ошибки

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

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

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

Восстановление поврежденной книги вручную

  1. На вкладке Файл выберите команду Открыть.

  2. В Excel 2013 или Excel 2016 щелкните место, где находится таблица, и нажмите кнопку Обзор.

  3. В диалоговом окне Открытие выберите поврежденную книгу, которую нужно открыть.

  4. Щелкните стрелку рядом с кнопкой Открыть и выберите команду Открыть и восстановить.

  5. Выполните одно из указанных ниже действий.

    • Чтобы восстановить максимально возможное количество данных книги, нажмите кнопку Восстановить.

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

Восстановление данных из поврежденной книги

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

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

  • Чтобы восстановить данные, когда книга открыта в приложении Excel, выполните одно из перечисленных ниже действий.

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

      Чтобы вернуться к последней сохраненной версии книги, выполните указанные ниже действия.

      1. На вкладке Файл выберите команду Открыть.

      2. Дважды щелкните имя книги, которую необходимо открыть в приложении Excel.

      3. Нажмите кнопку Да, чтобы снова открыть книгу.

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

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

      Для сохранения книги в формате SYLK сделайте следующее.

      1. Откройте вкладку Файл и выберите команду Сохранить как.

      2. В списке Тип файла выберите пункт SYLK (Symbolic Link), а затем нажмите кнопку Сохранить.

        Примечание: При использовании формата SYLK сохраняется только активный лист книги.

      3. Если отображается сообщение о том, что выбранный тип файла не поддерживает книги, содержащие несколько страниц, нажмите кнопку ОК, чтобы сохранить только активный лист.

      4. Если появилось сообщение о том, что книга может содержать возможности, несовместимые с форматом SYLK, нажмите кнопку Да.

      5. На вкладке Файл выберите команду Открыть.

      6. Выберите сохраненный SLK-файл, а затем нажмите кнопку Открыть.

        Примечание: Чтобы увидеть SLK-файл, вам может понадобиться выбрать вариант Все файлы или Файлы SYLK в списке Тип файлов.

      7. На вкладке Файл выберите команду Сохранить как.

      8. В поле Тип файла выберите Книга Excel.

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

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

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

    • Настройка пересчета вручную в Excel.     Чтобы открыть книгу, попробуйте отключить автоматический пересчет. Книга не будет пересчитываться и поэтому может открыться.

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

      1. Убедитесь, что в Excel открыта новая пустая книга. В противном случае выполните указанные ниже действия.

    • На вкладке Файл нажмите кнопку Создать.

    • В разделе Доступные шаблоны выберите вариант Пустая книга.

      1. На вкладке Файл нажмите кнопку Параметры.

      2. В категории Формулы в группе Параметры вычислений установите переключатель в положение Вручную.

      3. Нажмите кнопку ОК.

      4. На вкладке Файл выберите команду Открыть.

      5. Выберите поврежденную книгу и нажмите кнопку Открыть.

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

      Для этого выполните указанные ниже действия.

      1. На вкладке Файл выберите команду Открыть.

      2. Выберите папку, содержащую поврежденную книгу, скопируйте имя файла, а затем нажмите кнопку Отмена.

      3. Откройте вкладку Файл и выберите пункт Создать.

      4. В разделе Доступные шаблоны выберите вариант Пустая книга.

      5. В ячейке A1 новой книги введите =имя_файла!A1, где имя_файла — это имя поврежденной книги, которое вы скопировали в действии 2, а затем нажмите клавишу ВВОД.

        Совет: Достаточно ввести только имя книги без расширения файла.

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

      7. Если появится диалоговое окно Выбор листа, выберите нужный лист, а затем нажмите кнопку ОК.

      8. Выберите ячейку A1.

      9. На вкладке Главная в группе Буфер обмена выберите Копировать.

      10. Выделите область приблизительно такого же размера (начиная с ячейки A1), что и диапазон ячеек, содержащих данные в поврежденной книге.

      11. На вкладке Главная в группе Буфер обмена нажмите кнопку Вставить.

      12. Пока диапазон ячеек выбран, на вкладке Главная в группе Буфер обмена снова нажмите кнопку Копировать.

      13. На вкладке Главная в группе Буфер обмена щелкните стрелку под кнопкой Вставить, затем в группе Вставить значения выберите Значения.

        Примечание: При вставке значений удаляются ссылки на поврежденную книгу и остаются только данные.

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

      Для использования макроса выполните указанные ниже действия

      1. Введите на листе модуля следующий код макроса:

        Sub GetChartValues() 
        Dim NumberOfRows As Integer 
         Dim X As Object 
        Counter = 2


        ' Calculate the number of rows of data.
        NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values) 
        Worksheets("ChartData").Cells(1, 1) = "X Values" 


        ' Write x-axis values to worksheet.
        With Worksheets("ChartData")
        .Range(.Cells(2, 1), _ 
         .Cells(NumberOfRows + 1, 1)) = _ 


        Application.Transpose(ActiveChart.SeriesCollection(1).XValues) 
        End With 
         ' Loop through all series in the chart and write their values to


        ' the worksheet.
        For Each X In ActiveChart.SeriesCollection 
        Worksheets("ChartData").Cells(1, Counter) = X.Name 
        With Worksheets("ChartData") 


        .Range(.Cells(2, Counter), _ 
         .Cells(NumberOfRows + 1, Counter)) = _ 
        Application.Transpose(X.Values) 
         End With 


         Counter = Counter + 1
        Next
        End Sub

      2. Вставьте новый лист в книгу и переименуйте его в ChartData.

      3. Выделите диаграмму, из которой требуется извлечь значения данных.

      4. Примечание: Ее можно внедрить в лист или поместить на отдельный лист диаграммы.

      5. Запустите макрос GetChartValues.

      6. Данные из диаграммы будут помещены на лист ChartData.

Автоматическое сохранение резервной копии книги

Функция автоматического сохранения создает резервную копию книги на случай, если ее оригинал будет случайно удален или поврежден.

  1. На вкладке Файл выберите команду Сохранить как.

  2. В Excel 2013 или Excel 2016 щелкните место, где находится таблица, и нажмите кнопку Обзор.

  3. Щелкните стрелку вниз рядом с элементом Сервис, который находится около кнопки Сохранить, и выберите пункт Общие параметры.

  4. Установите флажок Всегда создавать резервную копию.

Дополнительные сведения о сохранении и восстановлении более ранних версий книги, а также о восстановлении новых книг (которые еще не были сохранены) см. в статье Восстановление файлов Office.

Автоматическое создание файла восстановления через определенные промежутки времени

Функция периодического создания файла для восстановления создает резервную копию книги на случай, если ее оригинал будет случайно удален или поврежден.

  1. На вкладке Файл нажмите кнопку Параметры.

  2. В категории Сохранение в группе Сохранение книг установите флажок Автосохранение каждые и укажите количество минут.

  3. В поле Каталог данных для автовосстановления введите расположение, в котором необходимо сохранять файл восстановления.

  4. Убедитесь, что флажок Отключить автовосстановление только для этой книги снят.

Дополнительные сведения о сохранении и восстановлении более ранних версий книги, а также о восстановлении новых книг (которые еще не были сохранены) см. в статье Восстановление файлов Office.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

логотип 3DNews


3DNews Новости Software Новости сети 4 способа восстановления повреждённого ф…


Самое интересное в обзорах

Партнёрский материал

17.10.2018 [10:00],

Полезные советы по использованию Microsoft Excel

Что делать если файл Microsoft Excel с данными перестал открываться? Можно ли вернуть ценные данные, ставшие недоступными?

Если вдруг вам не удаётся открыть рабочий файл с данными Excel, то какова вероятность успешного восстановления этих данных и что для этого надо сделать? К сожалению, это распространённая ошибка Microsoft Excel. У проблемы есть несколько вариантов решения. Только перепробовав все варианты можно сказать, возможно ли восстановить повреждённый Excel-файл.

Способы восстановления повреждённого Excel-файла:

  1. Использование встроенной функции Microsoft Excel.
  2. Открытие файла с помощью OpenOffice.
  3. Использование онлайн-сервиса.
  4. Восстановление с помощью сторонних утилит.

1. Встроенная функция Microsoft Excel

В последних версиях Microsoft Excel добавлена возможность восстановления файла. Ранее эта функция или отсутствовала, или была откровенно слабо работоспособной при использовании с реальными файлами. Сейчас эта функция помогает в 10–20 % инцидентов с повреждением файлов. Для этого достаточно произвести несколько простых действий:

  1. Выбрать пункт меню «Файл».
  2. Выбрать пункт «Открыть».
  3. Выбрать повреждённый файл на диске.
  4. Щелкнуть на стрелку рядом с кнопкой «Открыть» в правом нижнем углу.
  5. Выбрать пункт «Открыть и восстановить» в выпадающем подменю.

Всё просто и не требует специальных знаний. Многим пользователям этой функции более чем достаточно для успешного восстановления повреждённого файла Excel. Если этим способом восстановить файл не получилось, то может помочь OpenOffice.org

2. Открытие файла с помощью OpenOffice

Файлы Microsoft Office, начиная с Office 2007, имеют общий формат с OpenOffice. Соответственно можно скачать и установить пакет программ с OpenOffice.org и попытаться восстановить им повреждённый файл.

Обращаем ваше внимание на то, что файл, восстанавливаемый с помощью OpenOffice, должен иметь расширение XLSX — это версия для файлов Excel 2007 и выше.

3. Использование онлайнсервиса

Если варианты 1 и 2 не помогают восстановить файл, то необходимы специальные сервисы или программы, разработанные специально для восстановления данных из повреждённых файлов Excel.

Есть несколько доступных онлайн-сервисов восстановления повреждённых файлов Microsoft Excel. Наиболее удобный и доступный по цене (всего $5 за файл) находится по этому адресу: https://onlinefilerepair.com/ru/excel-repair-online.html.

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

Сервис удобен тем, что работает на всех операционных системах (Windows, MacOS, iOS, Android и прочие) и на всех устройствах (компьютер, планшет, телефон и прочие).

4. Восстановление с помощью сторонних утилит

Если у вас много повреждённых Excel-файлов или вы не можете передавать эти файлы сторонним лицам из-за их конфиденциальности, то используйте специальные утилиты от сторонних разработчиков (не Microsoft).

Пример такой утилиты — это Recovery Toolbox for Excel: https://excel.recoverytoolbox.com/ru/.

Утилита развивается и распространяется с начала 2000-х годов, имеет многоязычный интерфейс (включая русский), восстанавливает все типы Excel-файлов всех версий, начиная с экзотического сейчас Excel 97.

Внимание: утилита работает только на компьютерах с ОС Windows.

Полезные советы для пользователей Microsoft Excel

При работе с Microsoft Excel включите функцию автосохранения. Это исключит случаи, когда сбой в работе компьютера приводит к потере нескольких часов работы:

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Самые обсуждаемые публикации

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

Microsoft Excel является важной программой, которой пользуются как частные лица, так и крупные предприятиями для работы с большими объемами данных.

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

Если вы столкнулись с этой ситуацией, ниже вы можете найти некоторые решения, которые могут помочь вам решить проблему.

Как я могу исправить проблемы с повреждением файла Excel?

1. Проверьте наличие вредоносных программ

2. Используйте стороннее программное обеспечение

3. Используйте инструмент «Открыть и восстановить».

4. Восстановить поврежденный файл Excel из предыдущей версии

5. Установите Параметры вычислений вручную

6. Восстановите файл TMP

7. Чистим папку TEMP

8. Используйте формат HTML

9. Используйте формат SYLK

10. Используйте формат XML

11. Откройте Excel в безопасном режиме

12. Используйте более новые версии Excel

13. Используйте конвертеры онлайн

1. Проверьте наличие вредоносных программ

Первое что нужно проверить — что у вас не вируса на ПК. Очень вероятно, что ваш документ может быть неисправен из-за вируса.

Если у вас стоит антивирус, то необходимо запустить полную проверку ПК. Если проверили и нашли вирусы, то удаляем их. Если не нашли, то скачиваем DrWeb CureIt или Malwarebytes и проверяем снова полностью компьютер.

Подробнее о DrWeb CureIt, Malwarebytes и прочих утилитах и программах я напишу в следующих статьях.

2. Используйте стороннее программное обеспечение.

В интернете существует много как онлайн-восстановителей, так и программного обеспечения, которое может помочь восстановить файл Excel.

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

Чаще всего программное обеспечение способно обнаружить и устранить причину повреждения, что позволит восстановить файл без каких-либо проблем. Эти инструменты очень мощные, поэтому рассчитывать, что вы найдете бесплатный инструмент и восстановите файл малы.

3. Используйте инструмент «Открыть и восстановить».

— Откройте пустой документ Excel.

— Перейдите в Файл и нажмите Открыть.

— Дважды кликните на Этот компьютер

— В появившемся диалоговом окне нажмите на черную стрелочку рядом с Открыть и выберите пункт Открыть и восстановить.

Используйте инструмент «Открыть и восстановить» Excel

4. Восстановить поврежденный файл Excel из предыдущей версии

Для этого необходимо щелкнуть правой кнопкой мыши по файлу Excel и выбрать пункт Свойства.

Переходим во вкладку Предыдущие версии, находим и выбираем последнюю версию или правильную версию до сбоя Excel и нажимаем кнопку Восстановить.

Переходим во вкладку Предыдущие версии

Выбираем последнюю версию или правильную версию до сбоя Excel и нажимаем кнопку Восстановить

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

5. Установите Параметры вычислений вручную

— Откройте Excel, нажмите на Файл, выберите Создать и жмем на Пустая книга.

Откройте Excel, нажмите на Файл и выберите Создать

— Жмем Файл, далее выбираем Параметры.

— В появившемся окне выбираем вкладку Формулы и ставим Параметры вычислений Вручную, как в рисунке ниже.

Во вкладке Формулы ставим Параметры вычислений Вручную

— Жмем ОК, и пробуем открыть файл.

6. Восстановить файл TMP

— В проводнике файлов откройте Этот компьютер (обычно C:) .

— Прежде всего необходимо убедитесь, что вы можете просматривать скрытые файлы. Для этого необходимо в Windows 11 нажать «…»после чего нажать на кнопку Параметры.

— В появившемся окне переходим во вкладку Вид и ставим точку напротив Показывать скрытые файлы, папки и диски, что позволит вам видеть скрытые папки и файлы.

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

— Далее необходимо перейти по данному пути, где будут расположены Несохраненные файлы: C:UsersИмя_пользователяAppDataLocalMicrosoftOfficeUnsavedFiles. Вместо Имя_пользователя, нужно подставить наименование учетной записи.

— Находим временные файлы Excel, начинающиеся с $ или ~ и заканчивающиеся на .TMP

— Скопируйте эти файлы и сохраните их в другом безопасном месте, изменив расширение с .TMP в .XLS или .XLSX

Ищем наш файл, если все нормально, то сохраняем как новый файл.

7. Чистим папку TEMP

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

Эти файлы и папки можно найти в папке C:/Windows/temp. После удаления этих файлов перезагружаем компьютер и пробуем снова открыть документ Excel.

8. Используйте формат HTML

— Откройте файл Excel и перейдите в Файл -> Сохранить как.

— Выберите из выпадающего тип Веб-страница.

Excel выберите из выпадающего тип Веб-страница

— Щелкните правой кнопкой мыши веб-файл и выберите Открыть с помощью Microsoft Office Excel.

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

— Как только HTML документ будет открыт, снова перейдите в Файл -> Сохранить как и выберите формат Excel.

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

9. Используйте формат SYLK

Откройте файл Excel и перейдите в Файл -> Сохранить как

Выберите из выпадающего тип SYLK(Символическая ссылка) (*. slk).

SYLK(Символическая ссылка) (*. slk).

— Открываем файл SYLK с помощью EXCEL.

— Как только SYLK документ будет открыт, снова перейдите в Файл -> Сохранить как и выберите формат Excel.

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

Примечание: Использование формата SYLK сохраняет только активный рабочий лист. Вам нужно будет сохранить каждый лист по отдельности и повторить эту процедуру.

10. Используйте формат XML

— Откройте файл Excel и перейдите в Файл -> Сохранить как

— Из списка возможных форматов рядом с Сохранить как Тип выберите таблицу XML, а затем нажмите кнопку Сохранить.

— Открываем файл XML с помощью EXCEL.

— Как только XML документ будет открыт, снова перейдите в Файл -> Сохранить как и выберите формат Excel.

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

11. Откройте Excel в безопасном режиме

— Нажмите клавиши Windows+R, чтобы открыть диалоговое окно Выполнить

— Введите команду excel /safe и нажмите кнопку ОК

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

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

12. Используйте более новые версии Excel

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

13. Используйте конвертеры онлайн

Для данного метода восстановления достаточно сконвертировать из одного формата Excel в другой с помощью онлайн конвертеров.

В интернете полно онлайн конвертеров, поэтому с данным методом проблем не должно быть.

Заключение

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

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

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

Вариант 1: Откройте поврежденный документ в Microsoft Excel

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

  1. Запустить Microsoft Excel
  2. Перейти в меню и нажмите пункт «Файл»
  3. Выбрать пункт «Открыть».
  4. Когда появится форма открытия файлов, то выберите некорректный файл.
  5. Перейти в нижнюю часть формы и рядом со вкладкой «Инструменты» и выбрать пункт «Открыть и Восстановить», а не пункт «Открыть».

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

Вариант 2: Откройте поврежденный документ в Microsoft Excel: метод 2

Если вам не удалось открыть и восстановить файл с таблицами Excel предыдущим способом, то вы можете попытаться восстановить документ с помощью функции вычисления, так же включенной в Microsoft Excel. Для этого необходимо:

  1. Открыть пустой документ Excel
  2. Открыть меню «Файл»
  3. Выбрать пункт «Параметры»
  4. Выбрать пункт «Формулы»
  5. Выберите значение «Ручной» пункта «Параметры расчета»

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

Вариант 3: Откройте поврежденный документ в OpenOffice

Файлы Microsoft Office и OpenOffice начиная с версии Office 2007 имеют открытый общий формат. Соответственно, если поврежденный файл имеет расширение *.xlsx или *.xltx, то можно установить пакет программ с сайта http://www.openoffice.org/ и сделать попытку восстановления такого файла.

Вариант 4: Восстановление поврежденного документа сторонними утилитами

В случае, если проблема с поврежденным документом Excel по-прежнему сохраняется, то остается возможность использовать сторонние инструменты для восстановления файлов. Эти программы от различных разработчиков могут быть особенно полезны, если вы регулярно используете Excel в своей работе или обслуживаете компанию как системный администратор. Однако необходимо сказать, что инструменты, которые работают лучше всего в этих ситуациях, обычно платные. Эффективность этих инструментов замечательна, но требуется тестировать их ДЕМО версии, которые позволяют вам оценить возможности утилиты.

Recovery Toolbox for Excel

Наиболее известная утилита по ремонту поврежденных документов Excel в данном сегменте. Recovery Toolbox for Excel (https://excel.recoverytoolbox.com/ru/) позволяет восстанавливать файлы xls, xlsx, xlt, xlsm, xltm, xltx, xlam с электронными таблицами. Программа работает со всеми версиями и вариантами Excel файлов, начиная с версии Excel 97. Кроме того, у инструмента есть автоматический помощник, который ведет вас на протяжении всего процесса восстановления, поэтому вам не нужно дополнительных знаний для его использования.

Recovery Toolbox for Excel пытается восстановить всю возможную информацию, а затем сохранить ее в новом файле. Вы можете восстановить содержимое своих файлов, включая таблицы, макеты, стили шрифтов и многое другое. Просто укажите поврежденные документы, чтобы программа попыталась их отремонтировать. Ограничением ДЕМО версии является невозможность сохранения восстановленных таблиц.

Следует отметить, что помимо Recovery Toolbox for Excel у компании есть инструменты, которые могут быть полезны для разрешения конфликтов с другими типами файлов, таких как Access, Word, Outlook и другие. Все программы от Recovery Toolbox работают только под ОС Windows.

Вариант 5: Восстановление поврежденного документа онлайн-сервисами

Альтернативой для Recovery Toolbox for Excel может служить любой онлайн-сервис восстановления данных, например от Recovery Toolbox: https://excel.recoverytoolbox.com/online/ru/

Или специализированный онлайн-сервис для многих типов файлов, в том числе Excel файлов: https://onlinefilerepair.com/ru/excel-repair-online.html

Использовать онлайн-сервисы можно с любых устройств (ПК, планшет, телефон) и под любой операционной системой (Windows, Android, MacOS, iOS). Сервисы также являются платными, но стоимость восстановления за один файл намного меньше стоимости Лицензии на покупку программы и составляет 5–10 долларов за файл.

Время на прочтение
4 мин

Количество просмотров 17K

Данная заметка предназначен тем, у кого при попытке открыть Excel-файл выдается сообщение об ошибке вида:

В моем случае с такой ошибкой открывался xlsx-файл (далее 1.xlsx), восстановленный с помощью R-Saver после вирусной атаки, подобной «Petya».

После распаковки содержимого файла 1.xlsx в папку «1» через контекстное меню были выданы следующие ошибки:

Оказалось, что эти служебные файлы имеют нулевой размер. Я проделал аналогичную процедуру с исправным файлом 2.xlsx и скопировал из его папки «2» ненулевые файлы [Content_Types].xml и .rels поверх пустых из «1». Далее добавил содержимое папки «1» в архив .zip и переименовал его в 3.xlsx. В результате, файл 3.xlsx уже открылся с корректными данными хотя и с предупреждением:

Для автоматизации проделанных выше процедур был разработан скрипт vbscript, распространяемый «As Is».

Исходный код скрипта ST1_XLSX_FIXER_v1

option explicit

Const THIS_SCRIPT_NAME = "ST1_XLSX_FIXER_v1.vbs"
Const SUBDIR_XLS_SRC = "ST1_XLSX_FIXER_DATA_v1"
Const SUBDIR_OUT = "ST1_XLSX_FIXED"
Const RES_SUFFIX = "_fixed_ST1_v1"

Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")

'если запускаем скрипт автономно
if WScript.ScriptName = THIS_SCRIPT_NAME then
    if WScript.Arguments.Count > 0  then		
        Dim fname
        for each fname in WScript.Arguments
			if fso.GetExtensionName(fname) = "xls" then 
				WScript.Echo "Файлы формата Excel 2003 и ранее (.xls) не поддерживаются"			
			else
				FixCorruptedExcel fname			
			end if
		next
    else
        WScript.Echo "Для работы перенесите выбранные xlsx-файлы на скрипт"
    end if         
end if

Set fso = Nothing

Sub FixCorruptedExcel(fpath)
	
	Dim out_dir: out_dir = fso.GetParentFolderName(fpath) & "" & SUBDIR_OUT
	if Trim(out_dir) <> "" then
		'создание папки результатов
		If not fso.FolderExists(out_dir) Then
			fso.CreateFolder(out_dir)
		end if
	End If

	'cоздать копию xlsx-файла с расширением .zip
	Dim extract_dir: extract_dir = out_dir & "" & fso.GetBaseName(fpath)
	Dim fpath_zip: fpath_zip = extract_dir & ".zip"

	fso.CopyFile fpath, fpath_zip

	'выходной файл
	Dim fpath_fixed: fpath_fixed = extract_dir & RES_SUFFIX & ".xlsx"
	if fso.FileExists(fpath_fixed) then fso.DeleteFile fpath_fixed 
	
	'распаковка zip
	UnzipFile fpath_zip, extract_dir
	
	'удаление zip-файла
	fso.DeleteFile fpath_zip

	'восстановление битых файлов из папки
	Dim script_path: script_path = fso.GetParentFolderName(Wscript.ScriptFullName)
	fso.CopyFolder script_path & "" & SUBDIR_XLS_SRC, extract_dir
	
	'создание zip	
	CreateEmptyZipFile fpath_zip
	
	'архивирование extract_dir
	Dim shell: set shell = CreateObject("Shell.Application")
	Dim extract_dir_obj: set extract_dir_obj = fso.GetFolder(extract_dir)
	shell.NameSpace(fpath_zip).CopyHere shell.NameSpace(extract_dir).Items      
	
	do until shell.namespace(fpath_zip).items.count = shell.namespace(extract_dir).items.count
		wscript.sleep 1000 
	loop

	'zip -> xlsx
	fso.MoveFile fpath_zip, fpath_fixed

	'удаление unzip-папки
	fso.DeleteFolder extract_dir, true

	WScript.Echo "Исправленный файл: " & vbCrLf & fpath_fixed
	Set shell = Nothing
	
end sub

sub UnzipFile(fpath_zip, extract_dir)

	'создание папки для распаковки
	If not fso.FolderExists(extract_dir) Then
		fso.CreateFolder(extract_dir)
	End If

	'извлечение xlsx - аналог операции контекстного меню "Распаковать в ..."
	Dim shell: set shell = CreateObject("Shell.Application")
	Dim sub_files: set sub_files = shell.NameSpace(fpath_zip).items
	
	Const FOF_SILENT = &H4&
	Const FOF_RENAMEONCOLLISION = &H8&
	Const FOF_NOCONFIRMATION = &H10&
	Const FOF_ALLOWUNDO = &H40&
	Const FOF_FILESONLY = &H80&
	Const FOF_SIMPLEPROGRESS = &H100&
	Const FOF_NOCONFIRMMKDIR = &H200&
	Const FOF_NOERRORUI = &H400&
	Const FOF_NOCOPYSECURITYATTRIBS = &H800&
	Const FOF_NORECURSION = &H1000&
	Const FOF_NO_CONNECTED_ELEMENTS = &H2000&

	Dim args: args = FOF_SILENT + FOF_NOCONFIRMATION + FOF_NOERRORUI
	shell.NameSpace(extract_dir).CopyHere sub_files, args
	
	Set shell = Nothing
	
end sub

sub CreateEmptyZipFile(fname)
	if fso.FileExists(fname) then
        WScript.Echo  "Файл " & fname & " уже существует", vbCritical, WScript.ScriptFullName
    end if
    
    Const ForWriting = 2

    Dim fp: set fp = fso.OpenTextFile(fname, ForWriting, True)
    fp.Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0))
    fp.Close
end sub

Дополнительно к скрипту в архиве прилагается папка ST1_XLSX_FIXER_DATA_v1, где лежат эталонные файлы для замещения. Можно изменять ее содержимое в целях расширения области применимости скрипта на другие варианты битых файлов. Например, добавить туда обнаруженные вами варианты нулевых файлов.

Для работы скрипта необходимо:

  1. Скачать и распаковать архив ST1_XSLX_FIXER_v1.zip в любую папку
  2. Левой кнопкой мыши перенести один или несколько xlsx-файлов на скрипт ST1_XLSX_FIXER_v1.vbs
  3. Начнется процесс обработки каждого файла:

  4. После успешной обработки каждого файла выдается сообщение вида:

Принцип работы скрипта:

  1. Сохраняет входной файл неизменным
  2. Создает подпапку ST1_XLSX_FIXED
  3. Создает в ST1_XLSX_FIXED переименованную в zip копию xlsx
  4. Распаковывает zip в папку и копирует поверх нее ST1_XLSX_FIXER_DATA_v1
  5. Архивирует полученную папку в zip и переименовывает полученный файл в xlsx

Заключение

Данные эксперимент не претендует на общность использования, используйте предлагаемое решение на свой страх и риск. Со своей стороны планирую провести более широкий эксперимент и по результатам доработать скрипт. Текущее явное ограничение — скрипт не анализирует размер замещаемых файлов при копировании из ST1_XLSX_FIXER_DATA_v1, поэтому не умеет определять, какие именно служебные файлы оказались пустыми и требуют своей замены. Скорее всего, подобный способ применим, если утеряны именно служебные файлы, а не рабочие листы из «1xlworksheets».

Также скрипт не подходит для файлов с расширением xls, созданных в версиях Excel 2003 и ранее, поскольку там используется другой формат хранения данных.

Понравилась статья? Поделить с друзьями:
  • Как восстановить эксель файл если произошла ошибка
  • Как восстановить файлы на флешке синтаксическая ошибка
  • Как восстановить файл сони вегаса после ошибки
  • Как восстановить файл на флешке после ошибки
  • Как восстановить файл ворд после ошибки