سلام
من میخوام از دیتابیسم خروجی اکسل بگیرم
ولی حروف فارسی رو به صورت هش شده پس میده بهم
کسی میدونه چطور میشه درستش کرد؟
به ssh هاست هم دسترسی ندارم
سلام من از fastexel استفاده کردم و مشکلی با حروف فارسی نداره و راضی هستم ازش
https://github.com/rap2hpoutre/fast-excel
امیدوارم کمکت کنه
سلام
این فانکشن مشکلت رو برطرف میکنه و با توجه به اینکه پروژه لاراولی نیست، با فانکشن زیر نیازی به پکیج و... هم نداری. خروجی فارسی هم طبیعتاً باید بدون مشکل در فایل اکسل قابل مشاهده باشه و من خودم دارم ازش استفاده میکنم. فقط من کوئری رو توی جایی که مشخص کردم با کوئری بیلدر زدم که شما باید به صورت ساده بزنی و بفرستی به متغیر دیتا.
امیدوارم مشکلت برطرف بشه.
public function export()
{
$data = DB::table('users')
->select('name', 'lastname')->where('role', '!=', 'admin')->get(); //به جای این کوئری مورد نظرت رو به دیتابیس بزن و پاس بده به متغیر data
$data = json_decode(json_encode($data), True);
function cleanData(&$str)
{
if ($str == 't') $str = 'TRUE';
if ($str == 'f') $str = 'FALSE';
if (preg_match("/^0/", $str) || preg_match("/^\+?\d{8,}$/", $str) || preg_match("/^\d{4}.\d{1,2}.\d{1,2}/", $str) || preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $str)) {
$str = " $str";
}
if (strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
// filename for download
$filename = "export_" . date('Ymd') . ".csv";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: text/csv");
$out = fopen("php://output", 'w');
fprintf($out, chr(0xEF) . chr(0xBB) . chr(0xBF)); //جهت نمایش صحیح کاراکترهای فارسی
$flag = false;
foreach ($data as $row) {
if (!$flag) {
// display field/column names as first row
fputcsv($out, array_keys($row), ',', '"');
$flag = true;
}
array_walk($row, __NAMESPACE__ . '\cleanData');
fputcsv($out, array_values($row), ',', '"');
}
fclose($out);
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟