1 فایل پیوست
خواندن فايل هايexcel با php
چند روز پيش يكي از دوستام دنبال كدي بود كه بتونه باهاش فايل هاي excel رو پردازش كنه و بونه نمايش بده يا در mysql ذخيره كنه و ...
گشتم و به يك برنامه open source جامع رسيدم،گفتم اينجا هم بذارم شايد بدرد برنامه نويس ديگه اي خورد!چون معمولا اينجور برنامه ها زياد كاربرد دارند و نمونه هاي استفاده زيادي رو ميشه مثال زد مثل وارد كردن شماره تلفن همراه از فايل excel به سيستم و ...
پاسخ : خواندن فايل هايexcel با php
این کد برعکس اینی که شما گفتین هم میتونه کار کنه ؟ یعنی فایل excel ایجاد کنه ؟ (این خیلی مفید تره مثلا برای ارئه گزارش) :D
پاسخ : خواندن فايل هايexcel با php
نقل قول:
نوشته اصلی توسط
rn4j1m1
این کد برعکس اینی که شما گفتین هم میتونه کار کنه ؟ یعنی فایل excel ایجاد کنه ؟ (این خیلی مفید تره مثلا برای ارئه گزارش) :D
ايجاد فايل هاي excel آسون تر هست:
کد:
<?php
$excel = "first \t second \t third \t \n this \t is \t test";
header("Content-type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename=wht.xls');
header("Content-type: application/octet-stream");
header("Pragma: no-cache");
header("Expires: 0");
echo $excel;
?>
---------- Post added at 12:23 AM ---------- Previous post was at 12:21 AM ----------
البته اگر ميخوايد از شر پيغام هاي مزاحم به خصوص تو آفيس 2007 خلاص بشيد از اين استفاده كنيد:
AppServNetwork - Easy way to create XLS file from PHP
چيزي كه تو كد بالا دادم در واقع يك csv سادست ولي اوني تو لينك هست يك فايل excel درست حسابي :دي
پاسخ : خواندن فايل هايexcel با php
نقل قول:
نوشته اصلی توسط
hello
ايجاد فايل هاي excel آسون تر هست:
کد:
<?php
$excel = "first \t second \t third \t \n this \t is \t test";
header("Content-type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename=wht.xls');
header("Content-type: application/octet-stream");
header("Pragma: no-cache");
header("Expires: 0");
echo $excel;
?>
---------- Post added at 12:23 AM ---------- Previous post was at 12:21 AM ----------
البته اگر ميخوايد از شر پيغام هاي مزاحم به خصوص تو آفيس 2007 خلاص بشيد از اين استفاده كنيد:
AppServNetwork - Easy way to create XLS file from PHP
چيزي كه تو كد بالا دادم در واقع يك csv سادست ولي اوني تو لينك هست يك فايل excel درست حسابي :دي
اینا رو من بلدم :)
واسه ملت بیشتر توضیح بدین
پاسخ : خواندن فايل هايexcel با php
نقل قول:
نوشته اصلی توسط
rn4j1m1
اینا رو من بلدم :)
واسه ملت بیشتر توضیح بدین
rn4j1m1 عزيز ، قصد جسارت نداشتم :)
فكر كردم سوالتون واقعي هست ، جواب دادم.
بازم معذرت ميخوام اگه بي احترامي كردم!
بيخيال :d
پاسخ : خواندن فايل هايexcel با php
دوست عزیز ممکنه بیشتر توضیح بدید
یعنی باید فایل آپلود بشه داخل پوشه مربوطه(Senator.xls/)
حال چطور این اطلاعات وارد دیتابیس بشه
فایل اکسلی دارم که باید فقط انتهای اون اضافه بشه،فایل یه جا آوررایت بشه،اتومات بره تو دیتابیس،سرچی از این دیتابیس اطلاعات رو بخونه و نشون بده
با تشکر از همه:77:
پاسخ : خواندن فايل هايexcel با php
فايل رو باز كنيد :
کد PHP:
$data->read('Senator.xls');
اينجا اسم فايل هست كه باز ميشه
و در يك حلقه دريافت اطلاعات اكسل:
کد PHP:
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
پاسخ : خواندن فايل هايexcel با php
ممکنه بفرمایید چطور میتونم این اطلاعاتیکه خونده میشه توسط ExcelRead.php رو بفرستم به دیتابیس
چون کلیت کارم رو در پست بالا شرح دادم
نقل قول:
فایل اکسلی دارم که باید فقط انتهای اون اضافه بشه،فایل یه جا آوررایت بشه،اتومات بره تو دیتابیس،سرچی از این دیتابیس اطلاعات رو بخونه و نشون بده
با تشکر از شما مدیر عزیز که سریعا جواب میدید :53:
پاسخ : خواندن فايل هايexcel با php
مثلا در داخل حلقه for من براي چاپ مقدار يك فيلد از echo استفاده كردم.
به جاي همين echo ميشه كوئري درج در ديتابيس رو بنويسيم
مثال :
کد PHP:
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->read('filename.xls');
error_reporting(E_ALL ^ E_NOTICE);
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
{
$field1 = $data->sheets[0]['cells'][$j+1][1];
$field2 = $data->sheets[0]['cells'][$j+1][2];
//and so on...
//query
mysql_query("INSERT INTO `table_name` SET `field_name_1`='$field1',`field_name_2`='$field2' ");
}
پاسخ : خواندن فايل هايexcel با php
سلام
من که ننتونستم از این فایل اکسل که کاراکتر های قارسی داره خروجی بگیرم لطفا کمکم کنید
فایل نمونه رو ضمیمه کردم لطفا رو ی اون اصلاحات انجام بدید منم سر در بیارم ممنون
Hotfile.com: One click file hosting: help me.rar
ببینم یه مرد پیدا میشه قد دو دقیقه وقت بزار و همش ارجاع ندن به سایت های دیگه(خسته شدم )
با تشکر فراوان
پاسخ : خواندن فايل هايexcel با php
به یک چیزی مشابه html dom نیاز است. وقت بگذارم می نویسمش مثل xml parser اما ارزش نداره فعلا در هیچ پروژم بدرد نمی خوره
باتشکر از دوستمون rezash
---------- Post added at 12:09 AM ---------- Previous post was at 12:06 AM ----------
یک سر هم بریم سر مهندسی مع***: ابتدا فایل که دوست دارید تولید شه رو با notepad++ باز کنید و تلاش کنید سر در بیارید ساختارش رو بفهمید مانند تگ های html که معمولا ساختار word هم مانند html آسونه سپس با php مانند آقا رضا که گفتند هدر ست کنید و خروجی بدهید
البته یک کلک بزنید خروجی رو بصورت plain text یا Html بدهید ولی هدر رو از نوع excell ست کنید. چرا ؟ چون تمام نرم افزارهای آفیس فرمت html رو ساپورت می کنند و احتمالا در خروجی درست نشون بدهند
این قضیه رو من در word تست کردم ولی در اکسل تست نشده. عضذرخواهی می کنم پس اگر رفتی و انجام دادی و نشه درحد پیشنهاد بود.
مرسی از همه
پاسخ : خواندن فايل هايexcel با php
نقل قول:
نوشته اصلی توسط
Rezash
مثلا در داخل حلقه for من براي چاپ مقدار يك فيلد از echo استفاده كردم.
به جاي همين echo ميشه كوئري درج در ديتابيس رو بنويسيم
مثال :
کد PHP:
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->read('filename.xls');
error_reporting(E_ALL ^ E_NOTICE);
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
{
$field1 = $data->sheets[0]['cells'][$j+1][1];
$field2 = $data->sheets[0]['cells'][$j+1][2];
//and so on...
//query
mysql_query("INSERT INTO `table_name` SET `field_name_1`='$field1',`field_name_2`='$field2' ");
}
ممنون دوست من فقط یک سوال تویه خروجی یا همون اینپورت به دیتابیس فقط 5 فیلد رو وارد می کنه.
مثلا الان ما 1000 سطر دیتا داریم و می خوایم وارد دیتابیس بشه (یعنی field1 و fiield2 هر کودون 1000 سطر دیتا داره) ولی فقط 5تاش وارد میشه.
کچاشو باید تغییر داد؟
پاسخ : خواندن فايل هايexcel با php
دوست عزیز اینجت تو خط 5 یه اشکال هست و اونم کنترلر مقدار $J هست که باید سطر ها رو چک کنه ، نه ستون ها
پس تو سطر 5 به جای
کد PHP:
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
باید اینو بزنید:
کد PHP:
for ($j = 1; $j <= $data->sheets[0]['numRows']; $j++)
ولی مشکلی که هست اینه که تعداد سطر هارو یدونه بیشتر حساب میکنه.
در ضمن با سلولهای فارسی اکسل هم سازگار نیست.
پاسخ : خواندن فايل هايexcel با php
نقل قول:
نوشته اصلی توسط
reza.rr
سلام
من که ننتونستم از این فایل اکسل که کاراکتر های قارسی داره خروجی بگیرم لطفا کمکم کنید
فایل نمونه رو ضمیمه کردم لطفا رو ی اون اصلاحات انجام بدید منم سر در بیارم ممنون
Hotfile.com: One click file hosting: help me.rar
ببینم یه مرد پیدا میشه قد دو دقیقه وقت بزار و همش ارجاع ندن به سایت های دیگه(خسته شدم )
با تشکر فراوان
فرمت متغییر به صورت utf-16EL هستش که باید utf-8 کنیش.
واسه این کار
مثلا سلول i=1 , j=2 رو با این کد
کد PHP:
$string=($data->sheets[0]['cells'][2][1]);
میریزیم تو متغیر $string بعد ایم کد رو زیرش وارد میکنیم که مقدار متغیر utf-8 بشه.
کد PHP:
$string=iconv("UTF-16LE","UTF-8", $string);
پاسخ : خواندن فايل هايexcel با php
پاسخ : خواندن فايل هايexcel با php
فقط یه مشکل:
دستور زیر در سرور یا هاست اجرا نمیشه؟
("data->read("filname.xls
پاسخ : خواندن فايل هايexcel با php
با سلام ...
عذر خواهی میکنم از مدیران انجمن بابت بالا آوردن این تایپیک ولی خب حیاتیه ... ;)
من از این اسکریپت استفاده کردم و در هاست خانگی راضی بودم ...
اما در هاست اصلی با این ارورر مواجه میشم ...
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32 bytes) in /home/samanehn/domains/......../public_html/workbook/includes/Excel/oleread.inc on line 27
در خیلی از انجمن ها پیگیری کردم ولی به جوابی نرسیدم حتی به پشتیبانی هاستم تیکت زدم و اونا گفتن هاستم اشتراکیه و مقدار رم رویه 256 است ...
خیلی برام مهمه لطفا راهنمایی بفرمائید ...
قابل ذکره در هاست اشتراکی به php.ini دسترسی ندارم ...
- - - Updated - - -
سلام .....
یعنی این مشکل هیچ راه حلی نداره ؟؟؟؟؟؟؟
اصلا دوستان این اسکریپتو رویه هاست اصلی امتحان کردن ؟؟؟؟؟؟!!!!!!!!
2 فایل پیوست
پاسخ : خواندن فايل هايexcel با php
سلام دوستان عزیز.
لطفا یک راهنمایی به من بدهید تا بتوانم آدرس فایل را که در آخرین ستون اکسل گذاشته ام بصورت لینک در خروجی (نمایش) فایل php نمایش داده شود.
در این کد چه چیزی باید اضافه شود تا مقدار cell که از ستون 5 ام فایل اکسل خوانده می شود بصورت یک لینک قابل کلیک نمایش داده شود:
echo $data->sheets[0]['cells'][$j+1][5]
لطفا راهنمایی کنید خیلی به راه حلش نیاز دارم
فایل پیوست 38324فایل پیوست 38323