21
Янв
2015

PHPExcel Ошибка открытия файла xlsx после сохранения

С помощью PHPExcel сохраняю файл в формате xlsx. Сохраняется нормально, а вот когда хочешь открыть Excel, выдает ошибку:

В книге "Отчет по резервам.xlsx" обнаружено содержимое, котрое не удалось прочитать. Попробовать восстановить содержимое книги? Если вы доверяете источнику этой книги, нажмите кнопку "Да".

Нажимаем Да - выводится сообщение:

Была выполнена проверка на уровне файла с последующим восстановлением файла. Некоторые фрагменты документа могли быть восстановлены либо удалены.

Генерируется XML с отчетом об ошибке:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
    <logFileName>error048360_01.xml</logFileName>
    <summary>Обнаружены ошибки в файле
        "C:\Users\xxx\Downloads\Отчет по
        временным резервам с 01.01.2015
        (6).xlsx"
    </summary>
    <additionalInfo>

        <info>Была выполнена проверка на
            уровне файла с последующим
            восстановлением файла. Некоторые
            фрагменты документа могли быть
            восстановлены либо удалены.
        </info>
    </additionalInfo>
</recoveryLog>

Настройки PHPExcel:

<?
$outputFileType = 'Excel2007';
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $outputFileType);
$objWriter->setPreCalculateFormulas(false);

/*Сохраняем документ*/
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Disposition: attachment;filename=' . $nameXLS . '.xlsx');

Используется office 2010.

После всех сообщений отчет открывается, и всё с ним нормально, как и должно быть. Подскажите, как избавится от этих сообщений об ошибках?

Источник: https://ru.stackoverflow.com/questions/392836/phpexcel-%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-xlsx-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F

Share

Тебе может это понравится...