گرفتن خروجی اکسل از بانک - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

گرفتن خروجی اکسل از بانک

+1 امتیاز
سلام

میخوام خروجی اکسل از بانک بگیرم,مثلا بشه 2تا جدول رو با هم join کنیم بعد از اونها خروجی بگیریم

ساده ترین راه رو بگید

اگر پیشنهادتون کتابخانه PHPExce هست با کد راهنمایی کنید که چکار باید بکنم

ممنون
سوال شده بهمن 22, 1392  بوسیله ی Mahdi.Victory (امتیاز 24)   2 3 4
دوباره تگ گذاری شد بهمن 22, 1392 بوسیله ی dousti91

2 پاسخ

+2 امتیاز
 
بهترین پاسخ

برای اینکه نام فیلدهای موجود در یک جدول رو بدست بیاریم باید این کوئری رو اجرا کنیم:

SHOW COLUMNS FROM `tableName`

 

حالا برای اینکه نام فیلد ها رو هم دستی وارد نکنیم و داینامیک باشه:

require_once 'Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$query = "SHOW COLUMNS FROM `tableName`";
$result = mysql_query($query)or die(mysql_error());
$i=1;
while($row = mysql_fetch_array($result))
{
	$query = "SELECT * FROM `tableName`";
	$result2 = mysql_query($query)or die(mysql_error());
	while($row2 = mysql_fetch_array($result2))
	{
		$objPHPExcel->setActiveSheetIndex(0)
				->setCellValue('A'.$i, $row2[$row[0]]);
		$i++;
	}
}
$objPHPExcel->getActiveSheet()->setTitle('abcd');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('excel1.xlsx');

 

بهینه کردن حلقه ها به عهده خودتون ;)

و برای اینکه لینک دانلود بدید به کاربر کد زیر رو به انتهای کد اضافه کنید:

echo '<a href="excel1.xlsx">dl</a>';

 

پاسخ داده شده بهمن 23, 1392 بوسیله ی dousti91 (امتیاز 405)   1 2 9
انتخاب شد بهمن 25, 1392 بوسیله ی مصطفی ساتکی
+2 امتیاز

کوئری خودتون رو Replace کنید:

require_once 'Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$query = "select * from `tableName`"; // add your join
$result = mysql_query($query)or die(mysql_error());
$i=1;
while($row = mysql_fetch_array($result))
{
	$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A'.$i, $row['field1'])
            ->setCellValue('B'.$i, $row['field2'])
            ->setCellValue('C'.$i, $row['field3']);
	$i++;
}
$objPHPExcel->getActiveSheet()->setTitle('abcd');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));

 

البته phpExcel نیاز به حافظه زیادی داره و توی هاست های اشتراکی برای استفاده زیاد جواب نمیده

پاسخ داده شده بهمن 22, 1392 بوسیله ی dousti91 (امتیاز 405)   1 2 9
ویرایش شده بهمن 22, 1392 بوسیله ی dousti91
dousti91 عزیز ممنون برای کد
چنتا سوال
اگه بخوام خودش نام ستونها رو هم بیاره چکار کنم؟
من تعداد ستونهام خیلی میشه سخته که همرو خودم بش بدم
و میشه وقتی اجرا کردم یک فایل برای دانلود بیاد,نه اینکه بره تو مسیری که صفحه اونجا هتش و توی اونجا ذخیرش کنه

تشکر
...