سلام
من نحوه اکسپورت کردن به اکسل رو در PHP می خوام. البته داده ها هم در دیتابیس قرار داره.
با تشکر
سلام
من نحوه اکسپورت کردن به اکسل رو در PHP می خوام. البته داده ها هم در دیتابیس قرار داره.
با تشکر
کلاس php exel رو بگیر باهاش اکسل بده بیرون .. کمی سخته ولی اگه خیلی راحتتر میخوای . CSV درست کن ... به این ترتیب که شما برای جداسازی هر خانه از هم باید از ( ; ) استفاده کنی ... و هر سطر درواقع یک خط هستش .. بطور مثال این الان 4 خانه و 4 سطر داره :
1;2;3;4
5;6;7;8
9;10;11;12
13;14;15;16
اگه الان اینو توی یک فایل بریزی و اسمشو بذاری test.csv و با اکسل بازش کنی ساختار اکسل رو داره
ممنون
کلاسی رو که معرفی کردید از کجا دانلود کنم؟
من همین الان تست کردم جواب میده ! البته روی آفیس 2010 ... اینم فایلش : http://test.gsmeshop.com/1.csv
برید توی phpclasses ... این آدرس دسته بندی هستش : http://www.phpclasses.org/browseممنون
کلاسی رو که معرفی کردید از کجا دانلود کنم؟
اینجا سرچ کنید Exel ... برای دانلود نیاز به یک اکانت دارید ... اکانت رو بسازید تا آخر عمر بدردتون میخوره !
خب چطری هر عدد رو در یه خانه جدا بزاریم ؟
این همشو توی یه خونه میزاره
این پست را ببینید
https://barnamenevis.org/showthread.p...A7%D9%86%DA%A9)
<?php
class connectdb
{
function query($sql)
{
$host = "localhost";
$user= "user-name-of-database";
$password = "password-of-database";
$dbname = "name-of-database";
$connect = mysqli_connect($host,$user, $password,$dbname);
if($connect)
{
if(mysqli_select_db($connect, $dbname))
{
mysqli_query($connect, "SET NAMES utf8");
mysqli_query($connect, "set charset utf8");
mysqli_query($connect,"SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
$result = mysqli_query($connect, $sql);
return $result;
}
}
}
}
require 'function/filter.php';
$connect = new connectdb;
$check = new secu;
// ایجاد خروجی فایل اکسل
$table_name = 'tbl_user';
$sql = "select * from $table_name ";
$result = $connect->query($sql);
//$row = mysqli_fetch_assoc($result);
//$select_db = mysql_select_db($db_name, $link);
$host = "localhost";
$user= "user_admin";
$password = "123";
$dbname = "db_sait_j";
$connect = mysqli_connect($host,$user, $password,$dbname);
mysqli_query($connect, "SET NAMES utf8");
//$query = "SELECT * FROM " . $table_name;
//$result = mysql_query($query, $link) or die("Could not complete database query");
$tedade_record = mysqli_num_rows($result);
$tedade_field=mysqli_num_fields($result);
//$query="SHOW COLUMNS FROM ".$table_name;
//echo "tedade_record : ".$tedade_record."<br>";
//echo "tedade_field : ".$tedade_field."<br>";
//$result1=mysql_query($query);
//echo chr_utf8(9405).chr_utf8(9402).chr_utf8(9409).chr_u tf8(9409).chr_utf8(9412);
// با کد زیر، فارسی درست میشود اما سلول های جدول را به هم می چسباند
//echo "\xEF\xBB\xBF"; //UTF-8 BOM
//echo "\xEF\xBF"; //UTF-8 BOM
// تابع بدست آوردن نام فیلدها
function mysqli_field_name($result, $field_offset) {
$properties = mysqli_fetch_field_direct($result, $field_offset);
return is_object($properties) ? $properties->name : null;
}
$name_field="";
$data="";
for ($i = 0; $i < $tedade_field; $i++) {
$name_field .= mysqli_field_name($result, $i) . "\t";}
while($row = mysqli_fetch_row($result)) {
$satr_line_record = '';
foreach($row as $val) {
if ((!isset($val)) OR ($val == "")) {
$val = "\t";
} else {
//$val = str_replace('"', '""', $val);
// به احتمال قوی انکودینگ ما یا BDSKBD است یا WINDOWS-1251
//با کد زیر یونیکد نشان میده
//$val = utf8_encode($val);
//$val = tabdil_farsi($val);
/* Convert WINDOWS-1251 to UTF-8 */
//$val = mb_convert_encoding($val, 'utf-8', 'WINDOWS-1251');
//$val = iconv(mb_detect_encoding($val, mb_detect_order(), true), "UTF-8", $val);
// یافتن انکودینگ
//echo mb_detect_encoding($val, "auto")."<br>";
// دو خط زیر با هم هستند
//$val = mb_convert_encoding($val, 'UTF-8', mb_detect_encoding($val));
//$val = mb_convert_encoding($val, 'UTF-8',mb_detect_encoding($val, 'UTF-8, ASCII', true));
//$val = htmlentities($val, ENT_QUOTES, 'UTF-8', false);
//$val = iconv('WINDOWS-1251', 'UTF-8', $val);
$val = '"' . $val . '"' . "\t";
}
// val مقدار هر یک سلول این جدول است
// با کنار هم گذاشتن این سلول ها، یک رکورد یا بعبارتی یک سطر این جدول را تشکیل میدهیم
$satr_line_record .= $val;
//echo "<script>var url = '$val'; alert('val: ' + url); </script>";
//echo "<script>var url = '$satr_line_record'; alert('satr_line_record: ' + url); </script>";
}
// با زیر هم قرار دادن این سطرها کل این جدول را تشکیل میدهیم
$data .= trim($satr_line_record)."\n";
//echo utf8_encode($name_field\n$data);
//echo "<script>var url = '$data'; alert('data: ' + url); </script>";
}
$data = str_replace("\r","",$data);
//$data = mb_convert_encoding($data,'utf-8','windows-1251');
if ($data == "") {
$data = "\n(0) Records Found!\n";
}
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=Report.xls");
header('Content-Type: text/html; charset=UTF-8');
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
//print "\xEF\xBB\xBF"; //UTF-8 BOM
//print "$name_field\n$data";
// با این کد درست شد
print chr(255) . chr(254) . mb_convert_encoding("$name_field\n$data", 'UTF-16LE', 'UTF-8');
//print_r(iconv('UTF-8', 'ASCII//TRANSLIT', $name_field\n$data));
//print utf8_encode($name_field\n$data);
//echo mb_convert_encoding($name_field\n$data,'utf-16','utf-8');
?>