PDA

View Full Version : خروجی فایل excel



sara.ghavam
یک شنبه 23 خرداد 1395, 18:49 عصر
سلام دوستان گل و عزیزم
من میخوام از دیتابیس خروجی بگیرم و اون رو به صورت یک فایل اکسل حالا csv یا xls داشته باشم

توی CI چطوری میتونم این کارو انجام بدم؟ لطفا کمکم کنید دوستان عزیزم

plague
دوشنبه 24 خرداد 1395, 14:25 عصر
کد ایگنایتر همچین کاری نمیکنه
باید بری تو github کتابخونه های یکه براش نوشته شده رو استفاده کنی
مثل این
https://github.com/alemohamad/ci-excel

sara.ghavam
دوشنبه 24 خرداد 1395, 18:20 عصر
تشکر دوست عزیزم ممنون

plague
دوشنبه 24 خرداد 1395, 21:06 عصر
پیرو سوال دیگتون
این کدی که نمونش رو بهت دادم درجا فایل اکسل رو تولید میکنه
یعنی لینک دانلودی در کار نیست .... همون لحظه که کاربر به کنترلری بره که این کد ها توشه یه فایل اکسل ساخته میشه و بهش تحویل داده میشه
پس نیازی به دکمه ایجکس و این حرفا ندارید
برای لینک دانلود کافیه لینک متد / کنترلری رو بدی که این کد ها توشه

sara.ghavam
چهارشنبه 26 خرداد 1395, 17:44 عصر
خیلی ممنونم دوست عزیز من فایل اکسل رو تونستم بسازم اما یه مشکلی که هست اینه که با استفاده از این کد محتوای فارسی به صورت ???? (علامت سوال نشون داده میشه)

لطفا کمکم کنید

plague
چهارشنبه 26 خرداد 1395, 23:34 عصر
کدتون رو بزارید

sara.ghavam
پنج شنبه 27 خرداد 1395, 12:13 عصر
کد که همونیه که خودتون دادید بهم دیگه


کد کنترلر

public function create_result() {

$this->load->model('result_model');
$news = $this->result_model->getResult();

$this->load->helper('export_excel');
$fields = array(
'news_text' => 'news_text',
'news_source' => 'news_source',
'news_date' => 'news_date',
'news_url' => 'news_url',
'news_title' => 'news_title'


);

// the info inside $query is usually the response of a database query from a model
// an example of how to use this is calling a model method like: $query = $this->People->exportUsers();
// the following is just an example
$query = array();

foreach ($news->result() as $row)
{

$query[] = array(
'news_text' => $row->news_text,
'news_source' => $row->news_source,
'news_date' => $row->news_date,
'news_url' => $row->news_url,
'news_title' => $row->news_title );

}

echo arrayToExcel($query, $fields, "People");










}


کد مدل:



function getResult() {

return $this->db->get('news');

}

plague
پنج شنبه 27 خرداد 1395, 17:03 عصر
این کد رو بزار تو فایل هلپر به جای کد فعلی



<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
if (!function_exists('arrayToExcel'))
{
function arrayToExcel( $content , $ext , $filename = "Excel"){
$contents = $content;
@header('Content-Type: application/octetstream; name='.$filename);
@header('Content-Disposition: attachment; filename='.$filename);
echo '<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />';
echo $contents;

}
}



بعد توی کنترلر داده هایی که از دیتابیس خوندی رو بفرست به یه view و توی اون ویوی با داده ها یدونه table بساز
بعد این تیبل رو بده به تابع هلپر ( نمیخاد آرایه بسازی مثل کد نمونه کافیه یه تیبل html بسازی بهش بدی )
اینجوری میشه



$data = 'از دیتبایس میخونیم داده ها رو ';
$this->load->helper('export_excel');
$view = $this->load->view('excel-table' , $data , TRUE );
arrayToExcel($view, 'xls' , "name.xls');

sara.ghavam
پنج شنبه 27 خرداد 1395, 17:40 عصر
ممنونم دوست گلم اما قسمت دوم رو اصلا نفهمیدم میشه واضح تر توضیح بدی؟؟؟

plague
پنج شنبه 27 خرداد 1395, 18:21 عصر
یه تیبل html میسازی با داده هات که از دیتبایس خوندی
بعداون تیبل رو میدین به هلپر تا تبدیلش کنه به فایل اکسل براتون

sara.ghavam
پنج شنبه 27 خرداد 1395, 18:36 عصر
ممنون دوست گرم راستش من بازم نفهمیدم چیزی بیشتر از قبل توضیح ندادی

میشه لطف کنی در حق من و با مثال بهم بگی؟؟
واقعا شرمنده

plague
پنج شنبه 27 خرداد 1395, 20:35 عصر
من مثال رو همون اول زدم شما بگید کجاش رو متوجه نمیشید دقیقا
این مثال


$data = 'از دیتبایس میخونیم داده ها رو ';
$this->load->helper('export_excel');
$view = $this->load->view('excel-table' , $data , TRUE );
// این ویو میاد با داده هایی که از دیتبایس خوندیم یه
//<table> میسازه

arrayToExcel($view, 'xls' , "name.xls');

sara.ghavam
پنج شنبه 27 خرداد 1395, 22:20 عصر
ممنونم متوجه شدم و درست شد خیلی تشکر دوست عزیزم
راستی اسم شما چیه؟