Skip to main content

Export MySQL data into Excel using PHP

To fetch data from a MySQL database and export it to Excel, you can use PHP along with a library like PHPExcel or PHPSpreadsheet (which is the successor of PHPExcel). Here, I'll provide an example using PHPExcel.

Please note that PHPExcel is now deprecated, and PHPSpreadsheet is recommended for new projects. If you're starting a new project, consider using PHPSpreadsheet. However, if you need to work with PHPExcel for any reason, you can still find it on GitHub (https://github.com/PHPOffice/PHPExcel).

1. Install PHPSpreadsheet:

You can install PHPSpreadsheet using Composer:

composer require phpoffice/phpspreadsheet

2. Create a PHP Script (export_excel.php):

<?php
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// Database connection details
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";

// Create a new Spreadsheet object
$spreadsheet = new Spreadsheet();

// Fetch data from the database
$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

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

// Set column headers
$spreadsheet->setActiveSheetIndex(0)
    ->setCellValue('A1', 'ID')
    ->setCellValue('B1', 'Name')
    ->setCellValue('C1', 'Email');

// Populate data
$row = 2; // Start from row 2
while ($row_data = $result->fetch_assoc()) {
    $spreadsheet->getActiveSheet()
        ->setCellValue('A' . $row, $row_data['id'])
        ->setCellValue('B' . $row, $row_data['name'])
        ->setCellValue('C' . $row, $row_data['email']);

    $row++;
}

// Rename worksheet
$spreadsheet->getActiveSheet()->setTitle('Sheet 1');

// Redirect output to a client's web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="exported_data.xlsx"');
header('Cache-Control: max-age=0');

$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
exit;
?>

3. Note: 
Replace your_table with the actual name of your database table. Ensure you have Composer installed and run composer require phpoffice/phpspreadsheet in your project directory to install PHPSpreadsheet. When you access export_excel.php, it will generate an Excel file with the data fetched from your MySQL database.

Comments

Popular posts from this blog

WordPress migrations need an overhaul. Here’s why.

 WordPress migration is the bare necessity of running an active website. All WordPress customers need to deal with the aggravations with migrating their site beginning with one web host onto the next web host. It is known by the web society that WordPress migration is a overwhelming undertaking. This is clear with the by and large wide number of instructional exercises and articles concerning it. Even more importantly, the expenses incurred in this system are a wide sum. In the 21st century, we would look for our prerequisites to be fulfilled intuitively for a comprehensive customer endeavour. For the particular strategies to stay reasonable to this day and age, it is fundamental for the required virtual processes to be quick, i.e. they ought to be simple for the customer. WordPress has profitable strength of 14 years on the web. Even so, after this time, migration must be done manually. This is genuinely tiresome. You will be responsible for content creation an

A comprehensive guide for best practices and tools to build responsive websites

Building Responsive Websites: Best Practices and Tools In the fast-paced digital world, having a responsive website has become a necessity. With the increasing use of mobile devices and varying screen sizes, it’s crucial to ensure your website looks and functions flawlessly across all platforms. In this comprehensive guide, we’ll explore the best practices and essential tools for building responsive websites that deliver optimal user experiences. Why Responsive Design Matters in Today’s Digital Landscape In today’s mobile-centric era, users expect websites to adapt seamlessly to their devices, whether they’re browsing on a desktop, tablet, or smartphone. Responsive design is the key to meeting these expectations. It allows your website to automatically adjust its layout, images, and content based on the screen size and orientation of the device. By implementing responsive design, you provide a consistent and user-friendly experience, regardless of how users acces

How to choose the right content management system for your website

Creating a website can be an exciting process, but it can also be overwhelming, especially when it comes to choosing the right Content Management System (CMS). A CMS is an essential component of any website, as it allows you to manage and publish your digital content. With so many CMS options available, it can be challenging to decide which one is the right fit for your website. In this article, we will guide you through the process of selecting the perfect CMS that fits your website’s needs, with real examples to help you make an informed decision. Determine Your Website’s Purpose The first step in choosing the right CMS for your website is to determine your website’s purpose. Are you creating a blog, an e-commerce site, or a portfolio website? Different CMS platforms cater to different website types, and choosing the right one will ensure that you have access to the necessary tools and features. For example, if you’re building an e-commerce site, you may want to