การอ่านไฟล์ Excel หรือ CSV ไฟล์ด้วย PHPExcel ใน Codeigniter
เขียนเมื่อ 7 ปีก่อน โดย Ninenik Narkdeecodeigniter codeigniter 3 phpexcel
คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ codeigniter codeigniter 3 phpexcel
ไปที่
Copy

เนื้อหาตอนนี้ จะมาแสดงตัวอย่างการอ่านไฟล์ Excel หรือ CSV ไฟล์อย่างง่าย
ด้วยรูปแบบไม่ซับซ้อน เพื่อต้องการดึงข้อมูลจากไฟล์ Excel นั้นมาใช้งาน
เช่น บันทึกลงฐานข้อมูล เป็นต้น
ปล. เนื้อหานี้ต่อจากตอนที่แล้ว
การติดตั้ง PHPExcel ให้สามารถใช้งานกับ Codeigniter
http://www.ninenik.com/content.php?arti_id=689 via @ninenik
ข้อมูลไฟล์ simple_excel.xlsx สำหรับทดสอบของเรา

รูปแบบที่จะทำคือ สร้างฟอร์มเพื่อให้ผู้ใช้เลือกไฟล์ เพื่ออัพโหลดเข้ามา แล้ว
ทำการอ่านไฟล์ที่อัพโหลดนั้นทันทีโดยไม่ต้องบันทึกไฟล์นั้นไว้ในระบบ
<?php echo form_open_multipart('simplephpexcel',' name="form_simplephpexcel" '); ?> <input type="file" name="fileupload" id="fileupload"> <input type="submit" name="btn_upload" id="btn_upload" value="Upload"> <?php echo "</form>"; ?>
เมื่อสร้างฟอร์มสำหรับอัพโหลดไฟล์แล้วต่อไป เราก็จะรับค่าเมื่อมีการทำการอัพโหลดไฟล์
เข้ามา แล้วทำการเรียกใช้งาน PHPExcel เพื่ออ่านข้อมูลจากไฟล์นั้นมาแสดง
<?php // เมื่อส่งค่าปุ่มเพื่ออัพโหลดไฟล์เข้ามา คลิกที่ปุ่ม btn_upload if($this->input->post("btn_upload")){ $fileUpload=$_FILES['fileupload']['tmp_name']; // ไฟล์ที่อัพโหลด // ตรวจสอบว่ามีการอัพโหลดไฟล์หรือไม่ if(isset($fileUpload) && $fileUpload!=""){ // โหลด excel library $this->load->library('excel'); // อ่านไฟล์จาก path temp ชั่วคราวที่เราอัพโหลด $objPHPExcel = PHPExcel_IOFactory::load($fileUpload); // ดึงข้อมูลของแต่ละเซลในตารางมาไว้ใช้งานในรูปแบบตัวแปร array $cell_collection = $objPHPExcel->getActiveSheet()->getCellCollection(); // วนลูปแสดงข้อมูล foreach ($cell_collection as $cell) { // ค่าสำหรับดูว่าเป็นคอลัมน์ไหน เช่น A B C .... $column = $objPHPExcel->getActiveSheet()->getCell($cell)->getColumn(); // คำสำหรับดูว่าเป็นแถวที่เท่าไหร่ เช่น 1 2 3 ..... $row = $objPHPExcel->getActiveSheet()->getCell($cell)->getRow(); // ค่าของข้อมูลในเซลล์นั้นๆ เช่น A1 B1 C1 .... $data_value = $objPHPExcel->getActiveSheet()->getCell($cell)->getValue(); // เท่านี้เราก็สามารถแสดงข้อมูลจากการอ่านไฟล์ได้แล้ว และสามารถนำข้อมูลเหล่านี้ // ทำการบันทักลงฐานข้อมูล หรือแสดงได้เลย echo $data_value."<br>"; } } } ?>
หากเราต้องการแสดงเฉพาะคอลัมน์หรือแถวที่ต้องการ ก็สามารถใช้ if กำหนดค่า โดยเช็คค่า $column
หรือ $row ตามต้องการ ตัวอย่างเข่น ใช้เฉพาะข้อมูลในคอลัมน์ B เท่านั้น
// วนลูปแสดงข้อมูล foreach ($cell_collection as $cell) { // ค่าสำหรับดูว่าเป็นคอลัมน์ไหน เช่น A B C .... $column = $objPHPExcel->getActiveSheet()->getCell($cell)->getColumn(); // คำสำหรับดูว่าเป็นแถวที่เท่าไหร่ เช่น 1 2 3 ..... $row = $objPHPExcel->getActiveSheet()->getCell($cell)->getRow(); // ค่าของข้อมูลในเซลล์นั้นๆ เช่น A1 B1 C1 .... $data_value = $objPHPExcel->getActiveSheet()->getCell($cell)->getValue(); // เท่านี้เราก็สามารถแสดงข้อมูลจากการอ่านไฟล์ได้แล้ว และสามารถนำข้อมูลเหล่านี้ // ทำการบันทักลงฐานข้อมูล หรือแสดงได้เลย if($column=="B"){ echo $data_value."<br>"; } }
หรือดึงข้อมูลตั้งแต่แถวที่ 5 เป้นต้นไป เช่น
// วนลูปแสดงข้อมูล foreach ($cell_collection as $cell) { // ค่าสำหรับดูว่าเป็นคอลัมน์ไหน เช่น A B C .... $column = $objPHPExcel->getActiveSheet()->getCell($cell)->getColumn(); // คำสำหรับดูว่าเป็นแถวที่เท่าไหร่ เช่น 1 2 3 ..... $row = $objPHPExcel->getActiveSheet()->getCell($cell)->getRow(); // ค่าของข้อมูลในเซลล์นั้นๆ เช่น A1 B1 C1 .... $data_value = $objPHPExcel->getActiveSheet()->getCell($cell)->getValue(); // เท่านี้เราก็สามารถแสดงข้อมูลจากการอ่านไฟล์ได้แล้ว และสามารถนำข้อมูลเหล่านี้ // ทำการบันทักลงฐานข้อมูล หรือแสดงได้เลย if($row>5){ echo $data_value."<br>"; } }
เท่านี้เราก็สามารถดึงข้อมูลจากไฟล์ excel หรือไฟล์ csv ที่อัพโหลดได้แล้ว
สามารถนำไปประยุกต์เพิ่มเติมได้ตามต้องการ
กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ

อ่านต่อที่บทความ
-
17 Feb2016ออกรายงาน สร้างไฟล์ Excel ด้วย PHPExcel ใน Codeigniter อ่าน 14,149
จากเนื้อหาตอนที่แล้ว เราได้รู้วิธีการอ่านข้อมูลจากไฟล์ Excel หรือ CSV เบื้องต
เนื้อหาที่เกี่ยวข้อง
-
15 Feb2016การติดตั้ง PHPExcel ให้สามารถใช้งานกับ Codeigniter อ่าน 8,682
ก่อนอื่นให้เราไปดาวน์โหลด PHPExcel มาก่อน ดาวน์โหลดได้ที่
-
กำลังอ่านเนื้อหานี้อยู่16 Feb2016การอ่านไฟล์ Excel หรือ CSV ไฟล์ด้วย PHPExcel ใน Codeigniter อ่าน 8,761
เนื้อหาตอนนี้ จะมาแสดงตัวอย่างการอ่านไฟล์ Excel หรือ CSV ไฟล์อย่างง่าย ด้
-
17 Feb2016ออกรายงาน สร้างไฟล์ Excel ด้วย PHPExcel ใน Codeigniter อ่าน 14,149
จากเนื้อหาตอนที่แล้ว เราได้รู้วิธีการอ่านข้อมูลจากไฟล์ Excel หรือ CSV เบื้องต
-
12 Apr2017การอ่านไฟล์ Excel หรือ CSV ไฟล์ด้วย PHPExcel โดยใช้ php อย่างง่าย อ่าน 14,559
พิเศษ เฉพาะสมาชิก สำหรับเนื้อหานี้ เป็นแนวทางสำหรับใช้ในการอ่านไฟล์ข้อมูลที่อยู่ในรุปแบบไฟล์ Ex
URL สำหรับอ้างอิง
Top
Copy
ขอบคุณทุกการสนับสนุน
![]()