PDA

View Full Version : سوال: ایجاد فایل excel



baran.f.a
جمعه 15 خرداد 1394, 09: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 هم در فایل اکسل نوشته نمی شه لطفا کمک کنید خیلی ضروریه .

baran.f.a
جمعه 15 خرداد 1394, 14:27 عصر
کسی نیست راهنمایی کنه ؟؟

us1234
جمعه 15 خرداد 1394, 15:55 عصر
تا جایی که میدونم PHPExcel با زبان فارسی مشکل دارد .

under22
جمعه 15 خرداد 1394, 16:00 عصر
قبل ایجاد فایل excel بیا از کوئری که داری یه Var_dump بگیر ببین مشکلی از طرف کوئریت نیست

baran.f.a
جمعه 15 خرداد 1394, 16:37 عصر
نه PHPexcel با زبان فارسی مشکلی نداره خروجی کوئری من به زبان فارسیه همونطور که قبلا گفتم من از phpexcel استفاده می کردم و مشکلی نداشتم . کوئری مشکلی نداره چون باهاش کار کردم مشکل این جاست که وقتی کوئریم حتی زمانی که ازش run نگرفتم هم تو این کدم تاثیر می زاره و فایل اکسلی که ایجاد می کنه خالیه و سفیده حتی سلول بندی هم نیست .

H:Shojaei
جمعه 15 خرداد 1394, 23:37 عصر
یه بار با یه آرایه یا به صورت دستی اطلاعات یک سطر رو بدین به phpexcel ببینید بازم این مشکل رو داره؟

baran.f.a
شنبه 16 خرداد 1394, 08:15 صبح
سلام من وقتی به صورت دستی این اطلاعاتو می دم این مشکلو ندارم مشکل زمانیه که از کوئری استفاده می کنم متوجه شدم که وقتی فایل را با notepad باز می کنم اطلاعات به صورت خیلی نا مفهوم نمایش داده می شه ولی وقتی با اکسل این کارو می کنم هیچ چیز نمی بینم.