PHPExcel и Microsoft Office 2010 на CodeIgniter

var_fj54j

Новичок
Добрый день! Стоит задача, с помощью php создать и открыть файл xml с данными. Для решения использую PHPExcel. Документ создается и открывается, но только перед тем как открыться выскакивает сообщение "Действительный формат открываемого файла (File.xml) отличается от указываемого расширением имени файла. Перед открытием данного файла убедитесь, что он не поврежден и получен из надежного источника. Открыть этот файл сейчас?" "Да" "Нет" "Справка" Три кнопки. Нажимаю "Да". Файл открывается с не понятным мне содержимым. Часть на английском, часть китайских иероглифов.
Подскажите как от этого избавиться. Ниже приведен мой код, пишу на фреймворке CodeIgniter.
Код:
function report_pacient()
   {
     $this->load->library('PHPExcel');
     
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->getProperties()->setTitle("export")->setDescription("none");
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B2', iconv("utf-8", "windows-1251", 'Hello'));
     $filename = 'file';
     header ('Content-Type: application/vnd.ms-excel');
     header ('Content-Disposition: attachment;filename="'.$filename.'"');
     header ('Cache-Control: max-age=0');
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
     $objWriter->save('php://output');
   }
 

v007ao

Новичок
Дело в этом Excel5. тоже самое было.
PHP:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
Вот пример, с него смотри
PHP:
<?php

/** Error reporting */
error_reporting(E_ALL);

/** Include path **/
ini_set('include_path', ini_get('include_path') . '../Classes/');

/** PHPExcel */
include 'PHPExcel.php';

/** PHPExcel_Writer_Excel2007 */
include 'PHPExcel/Writer/Excel2007.php';

// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load("otchet/otchet.xlsx");
//var qweqweqwe = copy('Z:/web/Apache/htdocs/new_center/Satisfaction/otchet/otchet.xlsx', 'Z:/web/Apache/htdocs/new_center/Satisfaction/otchet/otchet23.xlsx')
// Set properties
//echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");

// Add some data
//echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');

// Rename sheet
//echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('Simple');

// Save Excel 2007 file
//echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));

// Echo done
//echo date('H:i:s') . " Done writing file.\r\n";


?>
 
Сверху