PDA

View Full Version : Mysql به Excel



mhd.ghavam
جمعه 21 آبان 1389, 12:14 عصر
سلام دوستان عزیز من یک سایتی طراحی کردم با PHP و می خوام که بتونم از دوتا جدول دیتا بیس که با Mysql هست یک فایل Excel و اگر Access هم بشه خوبه ،خروجی بگیریم یعنی محتوای فایل Excel ترکیبی از دو جدول دیتا بیس خواهد بود خیلی گشتم اما چیزی دستگیرم نشد لطفا کمکم کنید ممنونم

Keramatifar
جمعه 21 آبان 1389, 14:50 عصر
دوست عزیز
یه سری به اینجا بزن:

گرفتن خروجی Excel از MySql توسط php
http://keramatifar.ir/ShowTopic.php?id=%2024

mhd.ghavam
شنبه 22 آبان 1389, 06:08 صبح
دوست عزیز
یه سری به اینجا بزن:

گرفتن خروجی Excel از MySql توسط php
http://keramatifar.ir/ShowTopic.php?id=%2024

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

ravand
شنبه 22 آبان 1389, 15:01 عصر
ببخشید داداش
من این کد شما رو امتحان کردم ولی فایل اکسل درست نمیشه با اینکه اکسل هم توی سیستمم نصب دارم . و فقط مطالب داخل دیتابیس منو که شامل مطالب وارد شده به فیلد هاست رو چاپ می کنه. :متفکر:

ravand
شنبه 22 آبان 1389, 18:42 عصر
من کامپیوترم رو خاموش کردم و دوباره روشن کردم اینبار فایل اکسل امد ولی اخطار رم داد تا اینکه آنتی ویروس کسپراسکای رو غیرفعال کردم و این بار امد ولی مشکل من هم مثل اون دوست عزیز سازگار نبودن با فارسی بود .
من توی همین سایت گشتم و یه کد پیدا کردم که گفته بود این کد با utf-8 سازگار است اونم امتحان کردم ولی بازم همین مشکل رو داشت . میذارمش اگه دوستان می تونن یه کاریش بکنن که با فارسی سازگار باشه.

Keramatifar
شنبه 22 آبان 1389, 19:35 عصر
خیلی از دوستان دارن توی گزارشاتشون از این کد استفاده می کنن و مشکلی هم ندارند ...

mhd.ghavam
شنبه 22 آبان 1389, 20:13 عصر
دستت درد نکنه دوست عزیز اما یه لطفی کنید مشکل مارو حل کنید تورو خدا

Keramatifar
شنبه 22 آبان 1389, 20:44 عصر
برای فارسی شدنش باید یه تغییراتی توی کدش ایجاد کنم؛
به محض اینکه فرصت لازم برای انجام اینکار بوجود بیاد نسخه ی فارسی رو هم تو سایت می ذارم

funpatogh
یک شنبه 23 آبان 1389, 00:54 صبح
من کامپیوترم رو خاموش کردم و دوباره روشن کردم اینبار فایل اکسل امد ولی اخطار رم داد تا اینکه آنتی ویروس کسپراسکای رو غیرفعال کردم و این بار امد ولی مشکل من هم مثل اون دوست عزیز سازگار نبودن با فارسی بود .
من توی همین سایت گشتم و یه کد پیدا کردم که گفته بود این کد با utf-8 سازگار است اونم امتحان کردم ولی بازم همین مشکل رو داشت . میذارمش اگه دوستان می تونن یه کاریش بکنن که با فارسی سازگار باشه.
این کدی که گزاشتید رو من تست کردم و درست کار میکرد به شرطی که Collation جدولم هم utf8_persian_ci باشه

mhd.ghavam
یک شنبه 23 آبان 1389, 01:16 صبح
این کدی که گزاشتید رو من تست کردم و درست کار میکرد به شرطی که Collation جدولم هم utf8_persian_ci باشه

آخه فقط اطلاعات دیتا بیس نسیت که من می خوام بعضی جاها هم اطلاعات فارسی دیگه رو بذارم تو فایل اکسل

ravand
یک شنبه 23 آبان 1389, 01:24 صبح
من تمام فیلدها و خود جدول رو روی utf8_persian_ci تنظیم کردم . و از این نظر مشکلی ندارم.
به نظرتون میشه گفت چون اکسل من نسخه ی 2003 هست برای همین ازش پشتبانی نمی کنه؟یا شایدم یه تنظیمی توی اکسل باید انجام بدم؟
خیلی از بچه های دیگه توی همین سایت می گفتن که با فارسی مشکل دارن.و هر کاری کردن نشده.:متفکر:

funpatogh
یک شنبه 23 آبان 1389, 01:59 صبح
برنامه excel بنده هم نسخه 2003 هست

mhd.ghavam
یک شنبه 23 آبان 1389, 08:48 صبح
بچه ها دست در دست هم دهیم به مهر Excel مارا کنیم آباد
خدا خیرتون بده یکی مارم کمک کنه دیگه

mhd.ghavam
سه شنبه 25 آبان 1389, 22:38 عصر
سلام من از این کد استفاده کردم به نظرم خیلی بهتره الان اگر یک چیزی فارسی تایپ کنم تو فایل اکسل درست نشون میده اما مطاب فارسی که از Mysql میاد خراب نشود میده لطفا کمکم کنید با تشکر


<?php
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-type: application/vnd.ms-excel;charset:UTF-8");
header("Content-Disposition: attachment; filename=filename.xls");
print "\n"; // Add a line, unless excel error..

$dbhost = 'localhost';
$dbname = 'joomfa';
$dbuser = 'root';
$dbpass = '';
$con=mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error()); //

mysql_query("SET NAMES 'UTF-8'");


$result = mysql_query('select * from jos_dabirkhane_register',$con);

$row = mysql_fetch_assoc($result);
?>



<table border="1">
<tr>
<th>لتالتال</th>
<th>header 2</th>
</tr>
<tr>
<td><?php echo $row['name']; ?></td>
<td>سیبلسیبل</td>
</tr>
</table>

ravand
چهارشنبه 26 آبان 1389, 10:54 صبح
این کد رو یه نفر توی این سایت گذاشته بود در همین مبحث . ولی من چیزی ازش نفهمیدم گفتم شاید شما چیزی ازش بفهمید .
http://pizzaseo.com/files/articles/excel.zip
:لبخند:

funpatogh
چهارشنبه 26 آبان 1389, 14:10 عصر
سلام من از این کد استفاده کردم به نظرم خیلی بهتره الان اگر یک چیزی فارسی تایپ کنم تو فایل اکسل درست نشون میده اما مطاب فارسی که از Mysql میاد خراب نشود میده لطفا کمکم کنید با تشکر


<?php
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-type: application/vnd.ms-excel;charset:UTF-8");
header("Content-Disposition: attachment; filename=filename.xls");
print "\n"; // Add a line, unless excel error..

$dbhost = 'localhost';
$dbname = 'joomfa';
$dbuser = 'root';
$dbpass = '';
$con=mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error()); //

mysql_query("SET NAMES 'UTF-8'");


$result = mysql_query('select * from jos_dabirkhane_register',$con);

$row = mysql_fetch_assoc($result);
?>



<table border="1">
<tr>
<th>لتالتال</th>
<th>header 2</th>
</tr>
<tr>
<td><?php echo $row['name']; ?></td>
<td>سیبلسیبل</td>
</tr>
</table>



mysql_query("SET NAMES 'UTF-8'");

آیا COLLATION و فیلد های شما utf8_persian_ci هست که از این استفاده کردید

ravand
چهارشنبه 26 آبان 1389, 17:07 عصر
من حتی زبان mysql رو هم در قسمت Interface و سپس Language فارسی کردم ولی فرقی نمی کنه و فایده ای نداره.
کارهایی که کردم از این قراره :
1) توی کدها از utf-8 استفاده کردم کدهاشم اینجا گذاشتم دیدید.
2) در قسمت ساخت پايگاه داده جديد utf8_persian_ci
رو انتخاب کردم . برای MySQL connection collation هم utf8_persian_ci رو انتخاب کردم Language رو هم فارسی کردم. تک تک فیدهای جدول رو فارسی کردم یعنی از utf8_persian_ci براشون انتخاب کردم. اگه این کار رو نمی کردم که اصلا در خروجی متن فارسی به من نمی داد . پس مشکل ما چیز دیگه ای هست !!! :متفکر:

funpatogh
چهارشنبه 26 آبان 1389, 23:15 عصر
عزیز شما از اول این کارو کردید ؟ و بعد مطلب توش گزاشتید یا اینکه این کار هارو کردید و بعد انتظار فارسی دارید؟

ravand
پنج شنبه 27 آبان 1389, 10:11 صبح
داداش من از همون اولم این کار رو کرده بودم و می دونستم برای فارسی باید چه چیزی رو انتخاب کنم. از یه چند تا از بچه ها هم شنیدم که مشکل منو داشتن .

ravand
جمعه 28 آبان 1389, 10:28 صبح
بالاخره نشسته ام و از سر یه دیتابیس ساختم و یه جدول و دو تا فیلد و در قسمت درج دو تا مطلب واردش کردم . و utf8_persian_ci رو هم انتخاب کردم.خروجی اکسل گرفتم دیدم کار می کنه و با فارسی مشکلی نداره . هنوز برام عجیبه چرا فیلد های قبلیم این مشکل رو داشت با اینکه این موارد رو رعایت کردم :متفکر::لبخند:
شایدم وقتی مطالبم به دیتابیس ارسال میشده اینطوری شده . مثلا باید از این کد استفاده می کردم که نکردم.

mysql_query("SET CHARACTER SET utf8",$dblink);نظرتون چیه؟