با سلام
من میخوام یکسری اطلاعات از دیتابیس بگیرم بریزم تو یه فایل Excel
بعد صفحه دانلود بیاد تا فایل دانلود شه
من یه کد پیدا کردم روی لوکال با wamp به خوبی جواب میده
اما زمانی که روی هاست آپلود میکنم و اجرا میکنم فایل Excel میسازه و حتی دانلود هم میکنه اما متن های عجیب غریب داخل فایل نوشته
چرا!
این کد از سایت زیر دانلود کردم :
http://phpexcel.codeplex.com/releases/view/107442
من فقط قسمت excel میخوام نه pdf یا ...
کد رو ضمیمه کردم با class هاش
چه نمونه اطلاعاتی دارید فارسی هم هست؟
بله اسم های فارسی
و شماره تلفن انگلیسی
البته اینم بگم که تو لوکال هاست کد بالا واسه فرسی هم جواب میده رو هاست که میره ...
شما میتونین از هدر ها استفاده کنید
مقدار $exel متغییری هست که Table که شما میخواهید به صورت Excel نشونش بدین
کد:
ob_start();
ob_clean();
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=filename.xls");
header("Pragma: no-cache");
header("Expires: 0");
print $exel;
die();
یه مدل با هدر دیدم خیلی پیش پا افتادس چون وقتی میخوای ستون ها رو تو Excel بکشی با ماوس میبینی که اصلا درون cell ها داده ها نیستند انگار تو فایل تکست ذخیره کردی
خواهشن اگه کدی که درست کار کنه دارید یا لینکی به اشتراک بزارید
با تشکر
همون کدت را با یونی کد روی هاستت باز کن و outbom ذخیره کن درست میشه
اون بالا در قسمت ویرایشگر یه حرفی نوشته شده پاکش کن و ذخیره کن راه می افته
(۱۳-آذر-۱۳۹۲, ۱۹:۲۷:۱۱)kimiafars نوشته است: [ -> ]همون کدت را با یونی کد روی هاستت باز کن و outbom ذخیره کن درست میشه
اون بالا در قسمت ویرایشگر یه حرفی نوشته شده پاکش کن و ذخیره کن راه می افته
والا هم unicode هم out bom مشکل از چیز دیگس
اصلا فارسی هم ننویسیم با این مشکل هست اصلا ربطی به این چیزا نداره
مهندس
اول select میزنی به db بعد مقدار رو واکشی میکنی با یه حلقه Froeach از اون محتوی یه Table میسازی و درون $excel میریزی و میفرستی برای هدر ، با فارسی با پارسی هم هیچ مشکلی نداره
چون من تو -23 تا پروژه ازش استفاده کردم
کد باید درست کار کنه پیش پا افتاده بودن یا چند میلیون خط بودنش اصلا مهم نیست
الان من بخوام اون Table فایل excel خودمم بدم به متغیر excel$
مثلا:
داده من در ستون A1 برابر test
داده من در ستون B2 برابر Testyes
Table این به چه صورت میشه ؟
خیر
یک table از نوع html میسازین با اطلاعاتتون
خیلی راحت با تمام ستونهاش تو اکسل باز میشه و استاندارد هست
کد:
$excel='<table>';
foreach($rows as $row)
{
$excel.="<tr>
<td>{$row['col1']}</td>
<td>{$row['col2']}</td>
</tr>";
}
$excel.='</table>';
من این کار انجام دادم جواب گرفتم اما یه مشکلی هست
چرا وقتی فایل اکسل باز میکنیم خط های صفحه اکسل نیست ؟
عکس ضمیمه کردم ببینید