fb_ads

www.รับเขียนโปรแกรม.net รับเขียนโปรแกรม ระบบต่างๆ เช่น ระบบข้อมูลบุคคล ระบบข้อมูลลูกค้า ระบบซื้อขาย คลังสินค้า ระบบเช่าจอง ทำงานบน Website ด้วย PHP MySql NodeJs HTML5 JavaScript Ajax

ตัวอย่าง Export รายงานเป็น Excel บนหน้าเว็บ ด้วย PHP MySql และ Javascript

สำหรับกำารสร้าง Web Application ที่เกี่ยวข้องกับ ฐานข้อมูล การ export ข้อมูลจาก database ออกมาเป็นไฟล์ excel นั้นจะช่วยให้ผู้ใช้นำข้อมูลที่ได้ไปวิเคราะห์ต่อได้สะดวกขึ้น ในตัวอย่างนี้จะเป็นการนำข้อมูลจาก MySql ออกมาแสดงในหน้าเว็บ ด้วย PHP และให้ผู้ใช้สามารถ Download เป็น ไฟล์ excel ได้ดังนี้

Link ที่เกี่ยวข้อง การอ่านข้อมูลจากไฟล์ excel โดยใช้ PHP

รับเขียนโปรแกรม PHP ออกรายงานเป็น excel

<?php
    /*กำหนด username password และ database name ของ mysql */
    $servername = "localhost";
    $username = "....";
    $password = "....";
    $dbname = "....";

    /*------เชื่อมต่อ Database----*/
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error) {
      die("Connection Error: " . $conn->connect_error);
    }

    /*------ถ้ายังไม่มีตาราง ให้สร้างตาราง ชื่อ food----*/
    $sql = "CREATE TABLE IF NOT EXISTS food  (
        food_name VARCHAR(100),
        price INT(5)

    )";

    $conn->query($sql);

    $sql = "SELECT * FROM food";
    $result = $conn->query($sql);

    if ($result->num_rows == 0)
    {
          /*----ถ้ายังไม่มีข้อมูลในตาราง food ให้เพิ่มข้อมูลเข้าไป----*/

        $sql = "INSERT INTO food (food_name, price)
        VALUES ('Hamburger', '199')";
        $conn->query($sql);

        $sql = "INSERT INTO food (food_name, price)
        VALUES ('Pizza', '399')";
        $conn->query($sql);

        $sql = "INSERT INTO food (food_name, price)
        VALUES ('Doughnut', '59')";
        $conn->query($sql);

    }

 /*สร้างปุ่มสำหรับ Download ไฟล์ excel โดยกำหนดว่าเมื่อกดปุ่ม Downlaod แล้วจะทำงานที่ javascript function ชื่อว่า ExcelReport()*/
     echo "<a href='#' id='download_link' onClick='javascript:ExcelReport();''>Download</a>";

    echo "<table id='myTable'>";
         echo "<tr>";
                echo "<td>Food Name</td>";
                echo "<td>Price</td>";
        echo "</tr>";
    /*นำข้อมูลจากตาราง food มาแสดง*/
    $sql = "SELECT * FROM food";
    $result = $conn->query($sql);
    while($row = $result->fetch_assoc())
    {
        echo "<tr>";
            echo "<td>$row[food_name]</td>";
            echo "<td>$row[price]</td>";
        echo "</tr>";
    }
    echo "</table>";

    $conn->close();

?>
<!-- เรียกใช้ javascript สำหรับ export ไฟล์ excel  -->
<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"  ></script>
<script src="https://unpkg.com/file-saver@1.3.3/FileSaver.js"  ></script>

<script>
function ExcelReport()//function สำหรับสร้าง ไฟล์ excel จากตาราง
{
    var sheet_name="excel_sheet";/* กำหหนดชื่อ sheet ให้กับ excel โดยต้องไม่เกิน 31 ตัวอักษร */
    var elt = document.getElementById('myTable');/*กำหนดสร้างไฟล์ excel จาก table element ที่มี id ชื่อว่า myTable*/

    /*------สร้างไฟล์ excel------*/
    var wb = XLSX.utils.table_to_book(elt, {sheet: sheet_name});
    XLSX.writeFile(wb,'report.xlsx');//Download ไฟล์ excel จากตาราง html โดยใช้ชื่อว่า report.xlsx
}
</script>
<style type="text/css">

table {
  border-collapse: collapse;
  width:40%;
}

table, th, td {
  border: 1px solid black;
}

</style>


ผลลัพธ์ข้องหน้าเว็บคือ


ข้อมูลใน File Excel จะแสดงดังรูป