PHPExcel文件格式或扩展名无效2

我使用phpexcel在excel文件中导出我的查询; 然而,在我创build文件(这是xslx格式)后,我无法在Excel中打开我的文件。 它给出“的文件格式或扩展名是无效的,如果我尝试用OpenOffice Calc打开它打开正确,但excelviewer不打开。

<?php require 'Classes/PHPExcel.php'; require 'Classes/PHPExcel/Writer/Excel2007.php'; require "database.php"; require "C_TahsilatGetir.php"; $obj = new TahsilatGetir; $bitis = $obj->getExcelLastDate(); $baslangic = date("d/m/Y"); $tahsilatlar = $obj->tahsilatGetirTarih($bitis["son_tarihi"], $baslangic); // Create new PHPExcel object echo date('H:i:s') . " Create new PHPExcel object\n"; $objPHPExcel = new PHPExcel(); // 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', 'SIRA'); $objPHPExcel->getActiveSheet()->SetCellValue('B1', 'MÜŞTERİ NO'); $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'ÜNVAN'); $objPHPExcel->getActiveSheet()->SetCellValue('D1', 'BÖLGE'); $objPHPExcel->getActiveSheet()->SetCellValue('E1', 'GELEN TUTAR'); $objPHPExcel->getActiveSheet()->SetCellValue('F1', 'TARİH'); $objPHPExcel->getActiveSheet()->SetCellValue('G1', 'AÇIKLAMA'); $k = 2; for ($i = 0; $i < count($tahsilatlar); $i++) { if ($tahsilatlar[$i]["tahsilat_turu"] == "Kredi Kartı") { $cell1 = "A".$k; $cell2 = "B".$k; $cell3 = "C".$k; $cell4 = "D".$k; $cell5 = "E".$k; $cell6 = "F".$k; $cell7 = "G".$k; $sira = $k - 1; $objPHPExcel->getActiveSheet()->SetCellValue($cell1, $sira); $objPHPExcel->getActiveSheet()->SetCellValue($cell2, $tahsilatlar[$i]["musteri_no"]); $objPHPExcel->getActiveSheet()->SetCellValue($cell3, $tahsilatlar[$i]["musteri_unvani"]); $objPHPExcel->getActiveSheet()->SetCellValue($cell4, $tahsilatlar[$i]["bolge"]); $objPHPExcel->getActiveSheet()->SetCellValue($cell5, $tahsilatlar[$i]["tutar"]); $objPHPExcel->getActiveSheet()->SetCellValue($cell6, $tahsilatlar[$i]["tahsilat_tarihi"]); $objPHPExcel->getActiveSheet()->SetCellValue($cell7, $tahsilatlar[$i]["banka"]); $k++; } } // 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); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="KREDIKARTI.xlsx"'); $objWriter->save('php://output'); // Echo done echo date('H:i:s') . " Done writing file.\r\n"; ?> 

始终确保PHPExcel保存stream是将输出直接发送到浏览器时生成的唯一输出( php://output )。 这意味着任何回声或打印语句就像

 echo date('H:i:s') . " Create new PHPExcel object\n"; 

要么

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

不能在您的脚本中使用