 |
[แก้ได้แล้ววว] PHPExcel จำกัดจำนวนคอลัมน์ที่เราสามารถสร้างได้ในไฟล์ด้วยเหรอคะ |
|
 |
|
|
 |
 |
|
คือเราจะ Export ไฟล์ออกมาเป็น Excel อะค่ะ
แต่ว่า พอเราเพิ่มคอลัมน์ไปจนถึงคอลัมน์ที่ 8 มันก็ปริ๊นไม่ออก
ตอนแรกเราเข้าใจว่า คอลัมน์ที่ 8 นั้นมีปัญหาอะไรหรือเปล่า เลยลองตัดออก แล้วปริ๊นแค่ คอลัมน์ที่ 8 อันเดียว
ก็ดันปริ๊นได้ คือเราลองเทสทุกทางแล้วอะค่ะ ก็เลยสรุปได้ว่า
มันปริ๊นไม่ออกก็ตอนที่เราใส่ลงไปทั้งหมด 8 คอลัมน์ในหนึ่งไฟล์
เราเลยสงสัยว่าตัว PHPExcel มันจำกัดหรือเปล่าคะ ว่าห้ามสร้างเกิน 8 คอลัมน์
Code (PHP)
<?php
/** Error reporting */
error_reporting(E_ALL);
//date_default_timezone_set('Europe/London');
/** PHPExcel */
require_once 'PHPExcel/Classes/PHPExcel.php';
require_once("connect.php");
// 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("")
->setLastModifiedBy("")
->setTitle("")
->setSubject("")
->setDescription("")
->setKeywords("")
->setCategory("");
// Add some data
//echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'QP No')
->setCellValue('B1', 'Status')
->setCellValue('C1', 'Product')
->setCellValue('D1', 'Customer (Country)')
->setCellValue('E1', 'Customer Model')
->setCellValue('F1', 'Start Date')
->setCellValue('G1', 'Claim Reason');
->setCellValue('H1', 'Solution');
// Write data from MySQL result
$strSQL = "SELECT custqp.qp_np, custqp.qp_csstat, custqp.qp_product, custqp.qp_cust, custqp.qp_model, custqp.qp_date,
custqp.qp_clmreas, qaqp.qa_analysis as qa_analysis FROM custqp
LEFT JOIN qaqp ON custqp.qp_np = qaqp.qp_np
WHERE custqp.qp_delchk = '0'";
$objQuery = mysqli_query($con,$strSQL);
$i = 2;
while($objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC))
{
$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $objResult["qp_np"]);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $objResult["qp_csstat"]);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $objResult["qp_product"]);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $objResult["qp_cust"]);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $objResult["qp_model"]);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $objResult["qp_date"]);
$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $objResult["qp_clmreas"]);
$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $objResult["qa_analysis"]);
$i++;
}
//mysqli_close($objConnect);
// Rename sheet
//echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('QA Report');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 2007 file
//echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$strFileName = "Excel/QAReport-".date('dmY')."-".date('His').".xlsx";
$objWriter->save($strFileName);
// Echo memory peak usage
//echo date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";
?>
Tag : PHP, MySQL, Windows
|
ประวัติการแก้ไข 2015-12-22 12:32:06 2015-12-22 15:50:46
|
 |
 |
 |
 |
Date :
2015-12-21 16:43:03 |
By :
Branchest |
View :
2048 |
Reply :
6 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เดานะครับ
<?php
/** Error reporting */
error_reporting(E_ALL);
//date_default_timezone_set('Europe/London');
/** PHPExcel */
require_once 'PHPExcel/Classes/PHPExcel.php';
require_once("connect.php");
// 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("")
->setLastModifiedBy("")
->setTitle("")
->setSubject("")
->setDescription("")
->setKeywords("")
->setCategory("");
// Add some data
//echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'QP No')
->setCellValue('B1', 'Status')
->setCellValue('C1', 'Product')
->setCellValue('D1', 'Customer (Country)')
->setCellValue('E1', 'Customer Model')
->setCellValue('F1', 'Start Date')
->setCellValue('G1', 'Claim Reason');
->setCellValue('H1', 'Solution');
// Write data from MySQL result
$strSQL = "SELECT custqp.qp_np, custqp.qp_csstat, custqp.qp_product, custqp.qp_cust, custqp.qp_model, custqp.qp_date,
custqp.qp_clmreas, qaqp.qa_analysis as qa_analysis FROM custqp
LEFT JOIN qaqp ON custqp.qp_np = qaqp.qp_np
WHERE custqp.qp_delchk = '0'";
$objQuery = mysqli_query($con,$strSQL);
$i = 2;
while($objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC))
{
$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $objResult["qp_np"]);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $objResult["qp_csstat"]);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $objResult["qp_product"]);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $objResult["qp_cust"]);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $objResult["qp_model"]);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $objResult["qp_date"]);
$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $objResult["qp_clmreas"]);
$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $objResult["qa_analysis"]);
++$i;
}
//mysqli_close($objConnect);
// Rename sheet
//echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('QA Report');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 2007 file
//echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$strFileName = "Excel/QAReport-".date('dmY')."-".date('His').".xlsx";
$objWriter->save($strFileName);
// Echo memory peak usage
//echo date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";
?>
|
 |
 |
 |
 |
Date :
2015-12-21 17:08:13 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่รู้ว่าได้หรือยัง
Code (PHP)
// Add some data
//echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'QP No')
->setCellValue('B1', 'Status')
->setCellValue('C1', 'Product')
->setCellValue('D1', 'Customer (Country)')
->setCellValue('E1', 'Customer Model')
->setCellValue('F1', 'Start Date')
->setCellValue('G1', 'Claim Reason'); // <-- ปิดตรงนี้ผิดหรือเปล่าครับ
->setCellValue('H1', 'Solution');
|
 |
 |
 |
 |
Date :
2015-12-22 14:41:51 |
By :
WiTT |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
<?php
/** Error reporting */
error_reporting(E_ALL);
//date_default_timezone_set('Europe/London');
/** PHPExcel */
require_once 'Classes/PHPExcel.php';
//require_once("connect.php");
// 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("")
->setLastModifiedBy("")
->setTitle("")
->setSubject("")
->setDescription("")
->setKeywords("")
->setCategory("");
// Add some data
//echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'QP No')
->setCellValue('B1', 'Status')
->setCellValue('C1', 'Product')
->setCellValue('D1', 'Customer (Country)')
->setCellValue('E1', 'Customer Model')
->setCellValue('F1', 'Start Date')
->setCellValue('G1', 'Claim Reason')
->setCellValue('H1', 'Solution');
// Write data from MySQL result
/*$strSQL = "SELECT custqp.qp_np, custqp.qp_csstat, custqp.qp_product, custqp.qp_cust, custqp.qp_model, custqp.qp_date,
custqp.qp_clmreas, qaqp.qa_analysis as qa_analysis FROM custqp
LEFT JOIN qaqp ON custqp.qp_np = qaqp.qp_np
WHERE custqp.qp_delchk = '0'";
$objQuery = mysqli_query($con,$strSQL);
$i = 2;*/
/*while($objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC)){
$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $objResult["qp_np"]);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $objResult["qp_csstat"]);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $objResult["qp_product"]);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $objResult["qp_cust"]);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $objResult["qp_model"]);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $objResult["qp_date"]);
$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $objResult["qp_clmreas"]);
$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $objResult["qa_analysis"]);
$i++;
}*/
//mysqli_close($objConnect);
for($i=2;$i<=5;$i++){
$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, 'x-'.$i);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, 'x-'.$i);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, 'x-'.$i);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, 'x-'.$i);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, 'x-'.$i);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, 'x-'.$i);
$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, 'x-'.$i);
$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, 'x-'.$i);
}
// Rename sheet
//echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('QA Report');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 2007 file
//echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$strFileName = "QAReport-".date('dmY')."-".date('His').".xlsx";
$objWriter->save($strFileName);
// Echo memory peak usage
//echo date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";
?>
|
 |
 |
 |
 |
Date :
2015-12-22 14:47:27 |
By :
WiTT |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปิดทู้จ้า
แก้ได้แล้ว
ต้องขอบคุณ คุณ No.3,No.4 ที่ทำให้เราเอะใจว่าโค้ดเราอาจใส่อะไรผิดไปบางอย่าง
ก็เลยก๊อปมาละโมฯใหม่เลย ก็ได้เฉยเลยจ้า...
Code (PHP)
<?php
/**
* PHPExcel
*
* Copyright (C) 2006 - 2011 PHPExcel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* @category PHPExcel
* @package PHPExcel
* @copyright Copyright (c) 2006 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
* @version 1.7.6, 2011-02-27
*/
/** Error reporting */
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
/** PHPExcel */
require_once 'PHPExcel/Classes/PHPExcel.php';
require_once("connect.php");
// 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")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
// Add some data
echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'QP No')
->setCellValue('B1', 'Status')
->setCellValue('C1', 'Product')
->setCellValue('D1', 'Customer (Country)')
->setCellValue('E1', 'Customer Model')
->setCellValue('F1', 'Start Date')
->setCellValue('G1', 'Claim Reason')
->setCellValue('H1', 'Solution');
// Write data from MySQL result
$strSQL = "SELECT custqp.*, qaqp.qa_analysis as qa_analysis FROM custqp
LEFT JOIN qaqp ON custqp.qp_np = qaqp.qp_np
WHERE custqp.qp_delchk = '0'";
$objQuery = mysqli_query($con,$strSQL);
$i = 2;
while($objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC))
{
$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $objResult["qp_np"]);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $objResult["qp_csstat"]);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $objResult["qp_product"]);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $objResult["qp_cust"]);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $objResult["qp_model"]);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $objResult["qp_date"]);
$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $objResult["qp_clmreas"]);
$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $objResult["qa_analysis"]);
$i++;
}
mysqli_close($con);
// Rename sheet
echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('My Customer');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 2007 file
echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$strFileName = "Excel/QAReport "."-".date('dmY')."-".date('His').".xlsx";
$objWriter->save($strFileName);
// Echo memory peak usage
echo date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";
?>
|
 |
 |
 |
 |
Date :
2015-12-22 15:50:05 |
By :
Branchest |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยินดีด้วยครับ ลองประยุกต์ใช้กับ Template นะครับ ออก Report ได้งดงามมาก ๆ
Code (PHPExcel Open Template)
<?
$AdminStatus = CheckAdminStatus();
/** Error reporting */
error_reporting(E_ALL);
/** PHPExcel_IOFactory */
require_once 'Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load("templates/report_template.xls");
$objPHPExcel->getActiveSheet()->setCellValue('A1', ''.iconv('TIS-620','UTF-8'," รายงานข้อมูลการจัดซื้อ").'');
$objPHPExcel->getActiveSheet()->setCellValue('F2',"2000");
$strFileName = "REPORT-".date("YmdHis").".xls";
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save("excel/".$strFileName);
?>
|
 |
 |
 |
 |
Date :
2015-12-22 16:13:53 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|