ช่วยเรื่อง phpexcel หน่อยครับ มันขึ้น error Fatal error: Uncaught exception 'PHPExcel_Writer_Exception' with message 'Could not close zip file
Code (PHP)
<?php
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Asia/Bangkok');
// http://php.net/manual/en/timezones.php
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); // ส่วนนี้ไม่มีอะไรกำหนดค่าไว้ใช้ในการ echo
require_once 'Classes/PHPExcel.php'; // เรียกใช้งาน class
// เชื่อมต่อฐานข้อมูล
$link=mysql_connect("localhost","root","abc456") or die("error".mysql_error());
mysql_select_db("rtm",$link);
mysql_query("set character set utf8");
// โฟลเดอร์เก็บไฟล์ กรณีใช้ใน server ให้กำหนด permission เป็น 777
$placeFilesSave="excel_files/";
// สร้าง PHPExcel object
echo date('H:i:s') , " Create new PHPExcel object" , EOL;
$objPHPExcel = new PHPExcel();
// กำหนดค่าต่างๆ ของเอกสาร excel
echo date('H:i:s') , " Set document properties" , EOL;
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("PHPExcel Test Document")
->setSubject("PHPExcel Test Document")
->setDescription("Test document for PHPExcel, generated using PHP classes.")
->setKeywords("office PHPExcel php")
->setCategory("Test result file");
// การจัดรูปแบบของ cell
$objPHPExcel->getDefaultStyle()
->getAlignment()
->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP)
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//HORIZONTAL_CENTER //VERTICAL_CENTER
// การเพิ่มข้อมูล สร้างหัวข้อมูล
echo date('H:i:s') , " Add some data" , EOL;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('B1', 'req_id')
->setCellValue('C1', 'req_name')
->setCellValue('A1', 'tc_id')
->setCellValue('C1', 'tc_name')
->setCellValue('D1', 'tc_result');
// ดึงข้อมูลจากฐานข้อมูลมาแสดงเริ่มนับตั้งแต่แถวที่สองไป
$start_row=2;
$q="
SELECT
a.tc_id,a.tc_name,a.tc_result,b.req_id,b.req_name
FROM testcase_tbl a
LEFT JOIN (
requirement_tbl b
)
ON (
a.req_id=b.req_id
)
";
$qr=mysql_query($q);
while($rs=mysql_fetch_array($qr)){
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$start_row, $rs['req_id'])
->setCellValue('B'.$start_row, $rs['req_name'])
->setCellValue('C'.$start_row, $rs['tc_id'])
->setCellValue('D'.$start_row, $rs['tc_name'])
->setCellValue('E'.$start_row, $rs['tc_result']);
$start_row++;
}
// กำหนดชื่อให้กับ worksheet ที่ใช้งาน
echo date('H:i:s') , " Rename worksheet" , EOL;
$objPHPExcel->getActiveSheet()->setTitle('Simple');
// กำหนด worksheet ที่ต้องการให้เปิดมาแล้วแสดง ค่าจะเริ่มจาก 0 , 1 , 2 , ......
$objPHPExcel->setActiveSheetIndex(0);
// ชื่อไฟล์
$saveFileName="excel_by_phpexcel_database";
// บันทึกเป็น Excel 2007 file
echo date('H:i:s') , " Write to Excel2007 format" , EOL;
$callStartTime = microtime(true);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$saveFileNameFull=$saveFileName.".xlsx";
$pathSaveFile1=$placeFilesSave.$saveFileNameFull;
$objWriter->save($pathSaveFile1);
// บันทึกเป็น Excel 95 file
echo date('H:i:s') , " Write to Excel5 format" , EOL;
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$saveFileNameFull=$saveFileName.".xls";
$pathSaveFile2=$placeFilesSave.$saveFileNameFull;
$objWriter->save($pathSaveFile2);
// แสดงการเขียนไฟล์เรียกร้อยแล้ว และมีลิ้งค์ให้ดาวโหลด
echo date('H:i:s') , " Done writing files" , EOL;
echo 'Files have been created in ' , $placeFilesSave , EOL;
echo "<a href='".$pathSaveFile1."' target='_blank'>Download Excel2007 format</a>",EOL;
echo "<a href='".$pathSaveFile2."' target='_blank'>Download Excel5 format</a>",EOL;
?>
มันขึ้น error แบบนี้อ่าครับ
Error
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /Applications/XAMPP/xamppfiles/htdocs/rtm/pages/Matrix.php on line 32
10:44:01 Create new PHPExcel object
10:44:02 Set document properties
10:44:02 Add some data
10:44:02 Rename worksheet
10:44:02 Write to Excel2007 format
Fatal error: Uncaught exception 'PHPExcel_Writer_Exception' with message 'Could not close zip file excel_files/excel_by_phpexcel_database.xlsx.' in /Applications/XAMPP/xamppfiles/htdocs/RTM/pages/Classes/PHPExcel/Writer/Excel2007.php:399 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/rtm/pages/Matrix.php(111): PHPExcel_Writer_Excel2007->save('excel_files/exc...') #1 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/RTM/pages/Classes/PHPExcel/Writer/Excel2007.php on line 399
รบกวนช่วยผมหน่อยนะครับTag : PHP, HTML/CSS, JavaScript, Excel (Excel.Application)
Date :
2016-09-12 10:48:46
By :
eodza13579
View :
1830
Reply :
5
ได้เปิดตัว extension ของ zip หรือยังครับ
Date :
2016-09-12 11:48:21
By :
mr.win
เปิดแล้วครับ
;extension=php_xsl.dll
extension=php_zip.dll
Date :
2016-09-12 13:30:17
By :
eodza13579
ถ้า Save เป็นแค่ ไฟล์เดียวจะมีปัญหาหรือเปล่าครับ
Date :
2016-09-12 15:17:53
By :
mr.win
ยังไงหรอครับ ผมงง หรือพอจะมีตัวอย่างบ้างไหมครับ ผมนั่งลองแก้แล้วมันก็ไม่ได้อ่าครับ
Date :
2016-09-12 18:57:57
By :
eodza13579
error_reporting(E_ALL & ~E_DEPRECATED);
Date :
2016-09-12 20:41:05
By :
num
Load balance : Server 02