رفتن به مطلب
بهار

اشکال در خروجی گرفتن به صورت excel/csv

پست های پیشنهاد شده

سلام

من یک ماژول دارم که موقعی میخوام به صورت اکسل از آن خروجی بگیرم فونت های فارسی و توی اکسل به هم میریزه و قابل خواندن نیست.چه طور می تونم تنظیمات اون و درست کنم؟؟؟؟کد هم به صورت زیر است[/php]

function exportCSV()

{

$sessions = $this->getSessions() ;

foreach($sessions as &$session)

{

$session = $this->objectToArray($session) ;

if ($session['givenname'] != "")

{

$session['name'] = $session['givenname'] . " " . $session['familyname'] . " " . $session['email'] ;

array_pop($session) ; // givenname, familyname and email from the array

array_pop($session) ;

array_pop($session) ;

}

else

$session['name'] = JText::_('GUEST') ;

if($session['finished_on'] == '0000-00-00 00:00:00')

$session['finished_on'] = JText::_('UNFINISHED') ;

foreach ($session as $key => &$value) {

$value = $this->noAccented($value) ;

}

unset($value) ;

}

unset($session) ;

// inserting the header

$headerCSV = array(

'id' => '#',

'title' => $this->noAccented(JText::_('QUIZ')),

'name' => $this->noAccented(JText::_('USER')),

'profile' => $this->noAccented(JText::_('PROFILE')),

'score' => $this->noAccented(JText::_('SCORE')),

'maxScore' => $this->noAccented(JText::_('MAX_SCORE')),

'unanswered' => $this->noAccented(JText::_('IS_UNANSWERED')),

'evaluate' => $this->noAccented(JText::_('TO_CORRECT')),

'spent_time' => $this->noAccented(JText::_('SPENT_TIME')),

'started_on' => $this->noAccented(JText::_('STARTED_ON')),

'finished_on' => $this->noAccented(JText::_('FINISHED_ON')),

'ip_address' => $this->noAccented(JText::_('IP_ADDRESS')),

) ;

array_unshift($sessions, $headerCSV) ;

$csv = "" ;

// writing to the file

foreach($sessions as $session)

{

$csv .= implode(';', $session) ;

$csv .= "\n" ;

}

header('Content-Description: File Transfer');

header('Content-Type: text/csv') ;

header('Content-Disposition: attachment; filename=export.csv');

header('Content-Transfer-Encoding: binary');

header('Expires: 0');

header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

header('Pragma: public');

echo $csv ; exit() ;

}

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

اسم ماژول رو نگفتید!!!

انکدینگ جداول مربوط رو درست گذاشتید؟

اسم ماژول:آزمون آنلاین(jquarks)

یعنی توی mysql باید تنظیم کنم؟؟کجا encoding و درست کنم؟


سلام

اسم ماژول رو نگفتید!!!

انکدینگ جداول مربوط رو درست گذاشتید؟

اسم ماژول:آزمون آنلاین(jquarks)

یعنی توی mysql باید تنظیم کنم؟؟کجا encoding و درست کنم؟

همه ی جداول در mysql ، دارای Collation=utf8_general_ci هستند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جواب و گرفتم.ممنون از لطفتون.باید یه سری هدر اضافه کنیم به کد تا درست بشه

http://stackoverflow.com/questions/4348802/how-can-i-output-a-utf-8-csv-in-php-that-excel-will-read-properly

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

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

موفق باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...