


Speculative: How to use PHP to export data to an Excel table (picture and text explanation)
1. Introduction
How to write data into an Excel file using the simplest, rough and violent method?
Since both ms word and excel documents support html text format, we can use html text format to output data based on this principle.
In HTML, we only need to put the data into the corresponding HTML table in the desired order.
We use PHP to obtain and organize the data and construct the corresponding html text, and finally download it to the user's local area through byte stream output.
2. Code
Go directly to the code. This is a very simple program with comments in it.
ExportExcel.class.php file
<?php class ExportExcel{ /** * @desc 将数据导出到Excel中 * @param $data array 设置表格数据 * @param $titlename string 设置head * @param $title string 设置表头 * @param $filename 设置默认文件名 * @return 将字符串输出,即输出字节流,下载Excel文件 */ public function excelData($data,$titlename,$title,$filename){ #xmlns即是xml的命名空间 $str = "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>"; #以下构建一个html类型格式的表格 $str .= $title; $str .="<table border=1><head>".$titlename."</head>"; foreach ($data as $key=> $rt ) { $str .= "<tr>"; foreach ( $rt as $k => $v ) { $str .= "<td>{$v}</td>"; } $str .= "</tr>\n"; } $str .= "</table></body></html>"; header( "Content-Type: application/vnd.ms-excel; name='excel'" ); #类型 header( "Content-type: application/octet-stream" ); #告诉浏览器响应的对象的类型(字节流、浏览器默认使用下载方式处理) header( "Content-Disposition: attachment; filename=".$filename ); #不打开此文件,刺激浏览器弹出下载窗口、下载文件默认命名 header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Pragma: no-cache" ); #保证不被缓存或者说保证获取的是最新的数据 header( "Expires: 0" ); exit( $str ); } } ?>
<?php $obj=new ExportExcel(); $data = array( array('a11','a22','a33'), array('b11','b22','b33'), array('c11','c22','c33'), array('d11','d22','d33'), array('e11','e22','e33'), array('f11','f22','f33'), ); $excelHead = "这个是Excel表格标题"; $title = "我的Excel表"; #文件命名 $headtitle= "<tr><th colspan='3' >{$excelHead}</th></tr>"; $titlename = "<tr> <th style='width:70px;'>表格1</th> <th style='width:70px;'>表格2</th> <th style='width:70px;'>表格3</th> </tr>"; $filename = $title.".xls"; $obj->excelData($data,$titlename,$headtitle,$filename); ?>
3. Test
Click to visit:
Download the Excel file
View the file after success:
After entering, Excel prompts that the file format is inconsistent with the suffix name. This also indirectly shows that the Excel file we exported only looks like Excel in appearance (it is actually an html file), and is not an Excel file in format.
Click to enter and view the content inside. It looks like Excel, haha. Just Jiang Zi
Change the suffix to html and enter to view:
You see, it is actually an html file, just Excel only supports this format.
4. Reference
"PHP Export Excel"
(above These are some of my own opinions. If there are any shortcomings or mistakes, please point them out)
The above is the detailed content of Speculative: How to use PHP to export data to an Excel table (picture and text explanation). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Validator can be created by adding the following two lines in the controller.

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an
