Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > เขียน PHP Link File Excel ขึ้นมาแสดงยังครับ เขียน PHP Link File Excel ขึ้นมาแสดงยังครับ ช่วยบอกหน่อยครับ



 

เขียน PHP Link File Excel ขึ้นมาแสดงยังครับ เขียน PHP Link File Excel ขึ้นมาแสดงยังครับ ช่วยบอกหน่อยครับ

 



Topic : 016207

Guest




เขียน PHP Link File Excel ขึ้นมาแสดงยังครับ ช่วยบอกหน่อยครับ ขอบคุณครับ


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 16 ต.ค. 2550 15:43:02 By : mac_ View : 6027 Reply : 4
 

 

No. 1

Guest


ลองใช้อันนี้ดูครับ แต่เป็นการ import จาก XML file นะครับ

ขั้นแรก คุณต้อง save ไฟล์ เป็น XML format ก่อน โดย
File >> Save as >> เลือก save as type เป็น "XML Spreadsheet"
ขั้นที่สอง สร้าง page สำหรับอัพโหลด XML File (ชื่อ "XML_upload.php")









Code
<?php // XML_upload.php
$error=$_GET['error'];
if (!empty($error))
{
echo $error.'<br>';
}
?>
<html>
<body>
<form action="import.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>Load XML file:</td>
</tr>
<tr>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input type="file" name="file" />
<input type="submit" value="Upload" />
</td>
</tr>
</table>
</form>
</body>
</html>

จากคุณ crisis.php
เมื่อ 04:08pm (3/01/2007)
IP : 124.120.163.122
________________________________________
ขั้นที่สาม สร้าง page รับไฟล์ XML (ชื่อ "import.php")
และทำการตรวจสอบ error

ในขั้นตอนของการสร้าง table ทุก field ผมใช้เป็นค่า default เหมือนกัน ทั้งหมดเพื่อความสะดวกครับ แต่ก็สามารถปรับแต่งได้ตามใจชอบ

การ save file จาก excel เป็น CSV กับ XML
มีข้อดี ข้อด้อยต่างกันพอสมควร ลองศึกษาดูครับ
Code
<?php //import.php
$filename =$_FILES['file']["tmp_name"];
$file_type =$_FILES['file']["type"];
if (empty($filename))
{
$error = "Empty file!!";
echo "<meta http-equiv="refresh" content="0; URL=XML_upload.php?error=".$error."">" ;
exit;
}
if ($file_type!="text/xml")
{
$error = "File type is incorrect!!";
echo "<meta http-equiv="refresh" content="0; URL=XML_upload.php?error=".$error."">" ;
exit;
}
$data = array();
if ($filename)
{
$dom = DOMDocument::load($filename);
$rows = $dom->getElementsByTagName('Row');
/*ถ้าเป็น File XML ที่ไม่ได้ save as โดย excel อาจต้องแก้ tagname จาก "Row" และ "Cell" เป็น Tagname ของ ไฟล์นั้นๆ ครับ*/
foreach ($rows as $row)
{
$cells = $row->getElementsByTagName('Cell');
$datarow = array();
$current_cell=1;
foreach ($cells as $cell)//สำหรับวนรับ-ส่งค่าที่เป็น empty filed ครับ - จะใช้กับ XML ที่มาจาก Excel เท่านั้น
{
$ind = $cell->getAttribute( 'Index' );
if ($ind > 0)
{
if ($ind == $current_cell)
$datarow[]= $cell->nodeValue;
else
for ($j=$current_cell;$j<$ind;$j++)
{
$datarow[]="-";
$current_cell++;
}
$datarow[]= $cell->nodeValue;
$current_cell++;
}
else
{
$datarow[]= $cell->nodeValue;
$current_cell++;
}
}
$data[] = $datarow;
}
}
?>
<html>
<body>
<table align="center" width="90%" border="1" cellpadding="0" cellspacing="0" bordercolor="#0000AA">
<?php
$this_rows=0;
$this_cols=0;
$cols_max=0;
foreach ($data as $row) {
echo '<tr>';
foreach ($row as $item) {
if (strlen($item)>0)
echo '<td>'.$item.'</td>';
else
echo '<td>-</td>';
$this_cols++;
}
if ($this_rows==0)
{
$cols_max=$this_cols;
}
else
for($i=$this_cols;$i<$cols_max;$i++)
{
echo '<td>-</td>';
}
$this_rows++;
$this_cols=0;
echo '</tr>';
}
?>
</table>
</body>
</html>
<?php
$host = "localhost";
$dbname = "myDB";
$username = "root";
$password = "";
mysql_connect ($host,$username,$password);
mysql_select_db($dbname);
//Create new table
$item_num=0;
$table_name = 'mytable'; //
$sql = "CREATE TABLE `".$table_name."` (";
$sql_insert = "INSERT INTO `".$table_name."` (";
foreach ($data[0] as $item)
{
if ($item_num!=0)
{
$sql .= ",";
$sql_insert .= ",";
}
$sql .= " `".$item."` ";
$sql_insert .= " `".$item."` ";
$sql .= " VARCHAR(30) CHARACTER SET tis620 COLLATE tis620_thai_ci NOT NULL";
$item_num++;
}

$sql .= ") ENGINE = myisam CHARACTER SET tis620 COLLATE tis620_thai_ci";
$sql_insert .= ") VALUES ( ";
$result=mysql_query($sql);
$item_row=0;
$item_col=0;
foreach ($data as $row) {
foreach ($row as $item) {
if ($item_row!=0)
{
if ($item_col!=0)
{
$sql_insert_item .= ",";
}
$sql_insert_item .= " "".$item."" ";
}

$item_col++;
}
for($i=$item_col;$i<$cols_max;$i++)
{
$sql_insert_item .= ", "" ";
}
$sql_insert_item .= ")";
$item_row++;
$item_col=0;
$sql_query .= $sql_insert;
$sql_query .= $sql_insert_item;
$result=mysql_query($sql_query);
$sql_query = "";
$sql_insert_item = "";
}

?>
จากคุณ crisis.php
เมื่อ 04:38pm (3/01/2007)
IP : 124.120.163.122






















PHP กับการเก็บข้อมูลในไฟล์ .CSV
ในบทครั้ง การเขียนโปรแกรมเพื่อเชื่อมต่อกับ mySQL เพื่อ dump ข้อมูลออกมา show หรือสร้างระบบเล็กๆ อาจจะดูห่างไกลกันไป เพราะ DB กับตัว php อยู่คนละที่กัน หรือถ้าท่านไปทำงานในที่ ๆ ไม่มี mySQL เอาล่ะครับ งานนี้ล่ะ เราจะทําอย่างไร แบบนี้จะต้องใช้ความสามารถในด้าน file processing ของ PHP ล้วน ๆ เช่น fopen, ฯลฯ แต่การจัดการไฟล์ใน PHP เมื่อเทียบกับ Perl แล้วล่ะก็ Perl ยังดูง่ายกว่า แต่ไม่เป็นไรครับ... ยังมีวิธีการหนึ่งครับที่จะช่วยให้ PHP จัดการไฟล์ง่ายขึ้น นั่นคือ เก็บข้อมูลโดยใช้ไฟล์แบบ CSV หรือไฟล์แบบ Comma separated version คือ ไฟล์ที่แต่ละบรรทัดคือ 1 record และใน 1 record นั้นแบ่งเป็น field คั่นด้วยเครื่องหมายคอมม่า ,

ไฟล์ CSV นี้ล่ะครับ สามารถใช้แทนตารางในแบบ Database ได้ เพราะคุณสมบัติของ CSV เพียบพร้อมในการนําไปใช้งานด้านนี้อยู่แล้ว ท่านสามารถ convert หรือ save as จาก Excel มาเป็น CSV ได้ ไฟล์ที่ได้ก็เป็น text file อันหนึ่ง นามสกุล .csv ครับ... ข้างในก็จะแบ่งเป็นแถว ๆ แต่ละแถวก็จะแบ่งเป็น field คั่นด้วยเครื่องหมาย , ดังตัวอย่าง
Book1.CSV
4621005,นายวิภาส อริยะพงษ์
4621213,นายขวัญ เปลี่ยนเพ็ง
4621223,นายธงชัย ชาวัน
4621239,นามสมเกียรติ เรียมพินิจ
4621240,นายประมุข หลงสมบุญ
เห็นมั้ยครับ นี่คือตัวอย่างข้อมูลในไฟล์ .CSV ซึ่งเราสามารถใช้ PHP อ่านเข้ามาแล้ว show ออกมาเป็นหน้าเว็บได้เลย โดยไม่ต้องทําการ Connect เข้า mySQL หรือไม่ต้องใช้ mySQL ในการเก็บข้อมูล เพราะถ้าลําพังเราจะสร้างโปรแกรมที่แสดงข้อมูลแบบนี้ออกมาแล้ว ถ้าเราไม่มี mySQL เราก็ใช้ CSV นี้เก็บข้อมูลแทนได้
ฟังก์ชั่นในการอ่านข้อมูล .CSV ใน PHP ก็คือ fgetcsv ดังตัวอย่างต่อไปนี้
TESTCSV.PHP
<p>
<?
$FILE = fopen( "book1.csv", "r");
$data = fgetcsv( $FILE , 1024 );
do
{
print "code : $data[0] name : $data[1]<br>";
$data = fgetcsv( $FILE , 1024 );
}while ( !feof( $FILE ) );
?>
<hr>
จากข้างต้น จะเห็นว่าเราได้เขียนโปรแกรมให้แสดงข้อมูลใน CSV ชื่อ Book1.CSV ซึ่งก็เป็นการเปิดไฟล์ Text file ธรรมดา ๆ นี่เองล่ะครับ CSV ไม่ใช่ไฟล์อะไรที่มโหฬารนะครับ แต่เป็นเพียงแค่ text file แบบหนึ่งที่มีนามสกุล .csv เท่านั้น ข้างในจะมีการแบ่งเป็นบรรทัด ๆ ๆ ๆ และแต่ละบรรทัดก็แบ่งออกเป็นหลาย ๆ field แค่นั้นเอง เหมือนกับโครงสร้างของตารางในระบบ database ไงครับ
ดังนั้น ถ้าเราต้องการปรับปรุงระบบ CSV นี้มาเป็นระบบฐานข้อมูลเล็ก ๆ ที่ให้ Query ข้อมูลออกมาได้ ก็ไม่ยากครับ เพียงแค่ทําการรับค่าตัวแปรที่ต้องการค้นหาเข้ามทาง Query String จากนั้นก็เข้าไปค้นหาใน CSV คือ ค้นหาในไฟล์ถ้าเจอก็แสดงออกมา ถ้าไม่เจอก็ผ่านไป แบบนี้ครับ...
TESTCSV.PHP
<p>
<?
$FILE = fopen( "book1.csv", "r");
$data = fgetcsv( $FILE , 1024 );
do
{
if ( $data[0] == $id )
{
print "code : $data[0] name : $data[1]<br>";
break;
}
$data = fgetcsv( $FILE , 1024 );
}while ( !feof( $FILE ) );
?>
<hr>
ในกรณีที่เราต้องการแสดงข้อมูลของ ID ที่ 4621239 เวลาใช้เราก็เรียกแบบนี้ครับ
http://www.yourdomain.com/testcsv.php?id=4621239
มันก็จะวนและแสดงออกมาให้ ง่ายมั้ยครับ คราวนี้จะให้ดีเราก็สร้างเป็น Form ขึ้นมา เช่นรับรหัส นศ. เข้ามา เป็นตัวแปร $id และก็ให้ค้นจากไฟล์ CSV ในลักษณะนี้
เอาล่ะครับ ทดลองนําไปใช้กันดูนะครับ... บางครั้ง ถ้าเรารู้วิธีการบริหาร text file ดี ๆ เราก็อาจจะไม่ต้องพึ่ง mySQL หรือระบบ Database เสมอไปนะครับ.. แต่ถ้างานใหญ่ ๆ ที่ต้องการเก็บข้อมูลปริมาณมาก ๆ หรือต้องการเงื่อนไขเยอะ ๆ ในการ Query ล่ะก็ใช้ SQL ดีกว่าครับ...








Date : 16 ต.ค. 2550 17:20:19 By : lomdx
 


 

No. 2



โพสกระทู้ ( 264 )
บทความ ( 5 )



สถานะออฟไลน์


จากคำถามเนี่ย ให้ดึง excel มาแสดงหน้าเว็บ หรือจะเอาข้อมูล excel มาแสดง กันแน่เนี่ย เห็นโค้ด แล้วงง
Date : 17 ต.ค. 2550 03:29:58 By : ravatna
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

PHP Excel (Excel.Application)
Date : 2009-04-28 06:04:32 By : webmaster
 


 

No. 4



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


สามารถดึง excel มาแสดงหน้าเว็บเลยได้ไหมค่ะ แบบเราแก้ข้อมูลในไฟล์เดิม พอ save แล้วให้มันสามารถแสดงขึ้นเว็บได้เลยอ่ะค่ะ
Date : 2011-08-05 13:26:06 By : Elmo
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เขียน PHP Link File Excel ขึ้นมาแสดงยังครับ เขียน PHP Link File Excel ขึ้นมาแสดงยังครับ ช่วยบอกหน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่