baran.f.a
جمعه 15 خرداد 1394, 10:18 صبح
سلام
دوستان مشکلی برام پیش اومده که هر کاری کردم موفق به حلش نشدم من توی برنامم می خواستم از نتیجه ی یک کوئری فایل excel بسازم به خاطر همین از PHPEXCEL استفاده کردم کدی که تا الان استفاده می کردم بی نقص کار می کرد ولی تنها مشکلی که داشت این بود که فایل excel رو در سرور می ساخت و من باید به مسیر نصب wamp می رفتم تا فایل excel رو بردارم اما حالا می خوام این فایل excel دانلود شه و من از مرورگرم این فایل بردارم بازم از phpexcel استفاده کردم فایل excel ر می سازه ولی چیزی تو فایل نیست داده های مورد نظرمو در فایل نمی بینم لطفا راهنماییم کنید خیلی ضروریه . ممنونم . این هم از کدهام .
<?php
session_start();
require_once 'connect.php';
connecttodb();
mysql_query('SET NAMES utf8');
?>
<table id="customers" dir="rtl" >
<?php
$sql="select t1.*,psp.psp_name
from ( select transaction.psp_id as psp, psp.psp_name as `name`,pos.installation_date,transaction.technicia n_id as `technician`,transaction.serial_code ,merchant.address,merchant.mobile_number,merchant. phone_number,merchant.business_name,merchant.city, transaction.merchant_id
from transaction
LEFT JOIN merchant
on merchant.m_id=transaction.merchant_id
INNER JOIN psp
on transaction.psp_id=psp.id
LEFT JOIN pos
on pos.serial_code=transaction.serial_code
where transaction.PM_date ='NULL'
and transaction.technician_id='".mysql_real_escape_string($_REQUEST['tid'])."'
) t1 , psp
where psp_name=(select psp_name from psp where id=(select psp_project as psp_code from psp where id=t1.psp ))
and psp_name= '".mysql_real_escape_string($_REQUEST['pid'])."'
";
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser');
require 'Classes/PHPExcel.php';
ini_set("memory_limit","500M"); // set your memory limit in the case of memory problem
$result = mysql_query($sql) or die (mysql_error());
$objPHPExcel = new PHPExcel();
$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");
$rowNumber = 1;
/** Loop through the result set 1.0 */
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$rowNumber, 'نام شرکت')
->setCellValue('B'.$rowNumber, 'نام پروژه')
->setCellValue('C'.$rowNumber, 'کد پذیرنده')
->setCellValue('D'.$rowNumber, 'شماره سریال')
->setCellValue('E'.$rowNumber, 'نام فروشگاه')
->setCellValue('F'.$rowNumber, 'تاریخ نصب')
->setCellValue('G'.$rowNumber, 'شهر')
->setCellValue('H'.$rowNumber, 'آدرس')
->setCellValue('I'.$rowNumber, 'تلفن همراه')
->setCellValue('J'.$rowNumber, 'تلفن ثابت');
$rowNumber = 2; //start in cell 1
while ($row = mysql_fetch_array($result))
{
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$rowNumber, $row['psp_name'])
->setCellValue('B'.$rowNumber, $row['name'])
->setCellValue('C'.$rowNumber, $row['merchant_id'])
->setCellValue('D'.$rowNumber, $row['serial_code'])
->setCellValue('E'.$rowNumber, $row['business_name'])
->setCellValue('F'.$rowNumber, $row['installation_date'])
->setCellValue('G'.$rowNumber, $row['city'])
->setCellValue('H'.$rowNumber, $row['address'])
->setCellValue('I'.$rowNumber, $row['mobile_number'])
->setCellValue('J'.$rowNumber, $row['phone_number']);
$rowNumber++;
}
$objPHPExcel->getActiveSheet()->setTitle('گزارش پشتیبانی');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>
</table>
متوجه شدم به خاطر استفاده از query این اتفاق می افته چون هیچ کدوم از مقادیر $objPHPExcel حتی title هم در فایل اکسل نوشته نمی شه لطفا کمک کنید خیلی ضروریه .
دوستان مشکلی برام پیش اومده که هر کاری کردم موفق به حلش نشدم من توی برنامم می خواستم از نتیجه ی یک کوئری فایل excel بسازم به خاطر همین از PHPEXCEL استفاده کردم کدی که تا الان استفاده می کردم بی نقص کار می کرد ولی تنها مشکلی که داشت این بود که فایل excel رو در سرور می ساخت و من باید به مسیر نصب wamp می رفتم تا فایل excel رو بردارم اما حالا می خوام این فایل excel دانلود شه و من از مرورگرم این فایل بردارم بازم از phpexcel استفاده کردم فایل excel ر می سازه ولی چیزی تو فایل نیست داده های مورد نظرمو در فایل نمی بینم لطفا راهنماییم کنید خیلی ضروریه . ممنونم . این هم از کدهام .
<?php
session_start();
require_once 'connect.php';
connecttodb();
mysql_query('SET NAMES utf8');
?>
<table id="customers" dir="rtl" >
<?php
$sql="select t1.*,psp.psp_name
from ( select transaction.psp_id as psp, psp.psp_name as `name`,pos.installation_date,transaction.technicia n_id as `technician`,transaction.serial_code ,merchant.address,merchant.mobile_number,merchant. phone_number,merchant.business_name,merchant.city, transaction.merchant_id
from transaction
LEFT JOIN merchant
on merchant.m_id=transaction.merchant_id
INNER JOIN psp
on transaction.psp_id=psp.id
LEFT JOIN pos
on pos.serial_code=transaction.serial_code
where transaction.PM_date ='NULL'
and transaction.technician_id='".mysql_real_escape_string($_REQUEST['tid'])."'
) t1 , psp
where psp_name=(select psp_name from psp where id=(select psp_project as psp_code from psp where id=t1.psp ))
and psp_name= '".mysql_real_escape_string($_REQUEST['pid'])."'
";
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser');
require 'Classes/PHPExcel.php';
ini_set("memory_limit","500M"); // set your memory limit in the case of memory problem
$result = mysql_query($sql) or die (mysql_error());
$objPHPExcel = new PHPExcel();
$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");
$rowNumber = 1;
/** Loop through the result set 1.0 */
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$rowNumber, 'نام شرکت')
->setCellValue('B'.$rowNumber, 'نام پروژه')
->setCellValue('C'.$rowNumber, 'کد پذیرنده')
->setCellValue('D'.$rowNumber, 'شماره سریال')
->setCellValue('E'.$rowNumber, 'نام فروشگاه')
->setCellValue('F'.$rowNumber, 'تاریخ نصب')
->setCellValue('G'.$rowNumber, 'شهر')
->setCellValue('H'.$rowNumber, 'آدرس')
->setCellValue('I'.$rowNumber, 'تلفن همراه')
->setCellValue('J'.$rowNumber, 'تلفن ثابت');
$rowNumber = 2; //start in cell 1
while ($row = mysql_fetch_array($result))
{
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$rowNumber, $row['psp_name'])
->setCellValue('B'.$rowNumber, $row['name'])
->setCellValue('C'.$rowNumber, $row['merchant_id'])
->setCellValue('D'.$rowNumber, $row['serial_code'])
->setCellValue('E'.$rowNumber, $row['business_name'])
->setCellValue('F'.$rowNumber, $row['installation_date'])
->setCellValue('G'.$rowNumber, $row['city'])
->setCellValue('H'.$rowNumber, $row['address'])
->setCellValue('I'.$rowNumber, $row['mobile_number'])
->setCellValue('J'.$rowNumber, $row['phone_number']);
$rowNumber++;
}
$objPHPExcel->getActiveSheet()->setTitle('گزارش پشتیبانی');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>
</table>
متوجه شدم به خاطر استفاده از query این اتفاق می افته چون هیچ کدوم از مقادیر $objPHPExcel حتی title هم در فایل اکسل نوشته نمی شه لطفا کمک کنید خیلی ضروریه .