第一步:生成一个excel的xml模板,保存为excel-xml.tpl
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Diana</Author>
<LastAuthor>Diana</LastAuthor>
<Created>2006-04-25T11:58:52Z</Created>
<LastSaved>2006-04-25T13:10:20Z</LastSaved>
<Version>11.5606</Version>
</DocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>12495</WindowHeight>
<WindowWidth>16035</WindowWidth>
<WindowTopX>0</WindowTopX>
<WindowTopY>105</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Center"/>
<Borders/>
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s21">
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="18" ss:Bold="1"/>
</Style>
<Style ss:ID="s29">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
</Style>
<Style ss:ID="s35">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<NumberFormat ss:Format="@"/>
</Style>
</Styles>
<Worksheet ss:Name="Sheet1">
<Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="21" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="17.25">
<Column ss:AutoFitWidth="0" ss:Width="36"/>
<Column ss:AutoFitWidth="0" ss:Width="69"/>
<Column ss:AutoFitWidth="0" ss:Width="78.75"/>
<Row ss:Height="22.5">
<Cell ss:StyleID="s21"><Data ss:Type="String">员工信息表</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0"/>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s29"><Data ss:Type="String">序号</Data></Cell>
<Cell ss:StyleID="s29"><Data ss:Type="String">工号</Data></Cell>
<Cell ss:StyleID="s29"><Data ss:Type="String">姓名</Data></Cell>
<Cell ss:StyleID="s29"><Data ss:Type="String">性别</Data></Cell>
<Cell ss:StyleID="s29"><Data ss:Type="String">年龄</Data></Cell>
</Row>
{section name=list loop=$Emps}
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s29"><Data ss:Type="Number">{$smarty.section.customer.rownum}</Data></Cell>
<Cell ss:StyleID="s35"><Data ss:Type="String">{$Emps[list].id}</Data></Cell>
<Cell ss:StyleID="s29"><Data ss:Type="String">{$Emps[list].name}</Data></Cell>
<Cell ss:StyleID="s29"><Data ss:Type="String">{$Emps[list].sexual}</Data></Cell>
<Cell ss:StyleID="s29"><Data ss:Type="Number">{$Emps[list].age}</Data></Cell>
</Row>
{/section}
</Table>
</Worksheet>
</Workbook>
说明:上面的模板里用到了smarty的标签,要使用上面的模板,请通过smarty来调用。
第二步:
生成一个测试用的php文件,excel.php
<?php
// 实验资料,实际作业中,这里应该是从数据库取得资料
$emps[0]['id'] = '00001';
$emps[0]['name'] = 'ABC';
$emps[0]['sexual'] = '男';
$emps[0]['age'] = 28;
$emps[1]['id'] = '00002';
$emps[1]['name'] = 'BBC';
$emps[1]['sexual'] = '男';
$emps[1]['age'] = 23;
$emps[2]['id'] = '00003';
$emps[2]['name'] = 'CBA';
$emps[2]['sexual'] = '女';
$emps[2]['age'] = 20;
ini_set('include_path', '/data/website/htdocs/includes');
require_once('Smarty.php');
$smarty = new Smarty();
$smarty->assign('Emps', $emps);
// 输出文件头,表明是要输出 excel 文件
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");
$smarty->display('excel-xml.tpl');
?>
最后生成的excel效果:
- 大小: 34.9 KB
分享到:
相关推荐
在PHP中导出Excel文件是一项常见的任务,尤其在数据处理和报表生成方面。要实现这一功能,我们可以使用一些专门的库,比如PHPExcel。PHPExcel是一个强大的PHP类库,它允许我们创建、读取和修改Microsoft Excel文件。...
本教程将专注于使用PHP生成带有图片的Excel文件,并解决文件保存后可能出现的乱码问题。我们将探讨如何利用PHP的第三方库来实现这一功能,以及处理过程中需要注意的关键点。 首先,PHP自身并不直接支持创建Excel...
在IT行业中,尤其是在Web开发领域,常常需要将数据库中的数据导出为用户友好的格式,例如Excel文件。这种操作在数据分析、报表生成或数据备份时非常常见。标题"PHP导出数据到excel文件"和描述中提到的"PHP导出MySQL...
Excel文件主要有两种格式:老版本的.XLS(基于二进制的BIFF格式)和较新的.XLSX(基于XML的OpenXML格式)。PHP中常用的一个库是PHPExcel,它支持读取和写入这两种格式。 **导入Excel文件到数据库** 1. **安装...
Excel XML 是一种基于 XML 的文件格式,用于描述 Excel 文件的结构和内容。通过使用 PHP 生成 Excel XML 代码,我们可以创建一个 Excel 文件。Excel XML 代码由多个部分组成,包括 Worksheet、Table、Row、Cell 等。...
在PHP开发中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`phpExcel`是一个广泛使用的PHP库,它允许开发者创建、读取和修改Microsoft Excel文件,即使这些文件包含图像。本篇文章将深入...
Excel文件主要有两种格式:`.xls`(旧版的BIFF格式)和`.xlsx`(较新的OpenXML格式)。本篇文章将详细讲解如何使用PHP读取这两种类型的Excel文件。 首先,我们需要一个库来处理Excel文件,因为PHP本身并不直接支持...
根据提供的文件信息,我们可以深入探讨如何使用PHP生成并输出Excel文件。这涉及到使用自定义类来构造Excel文档的XML格式,并通过HTTP响应头将其发送给客户端。以下是对该过程的详细解析: ### PHP生成Excel的基本...
4. **输出Excel文件**:通过`fetch`方法获取填充后的HTML字符串,再将其转换为Excel文件。 综上所述,通过这种方式,我们可以非常方便地生成带有复杂样式的Excel文件。这种方法不仅简化了开发过程,还提高了Excel...
在PHP开发中,处理Excel文件是一项常见的任务,...综上所述,PHP与Excel文件的交互涉及到多个层面,包括文件操作、数据处理和格式化。使用正确的库和策略,可以有效地实现Excel的导出和导入功能,满足各种业务需求。
这篇教程“PHP100视频教程47:PHP输出CSV和EXCEL两种简单的方法”将深入讲解如何利用PHP来生成和输出这两种文件格式。 首先,让我们来了解CSV文件。CSV是一种纯文本格式,用逗号分隔每个数据字段。它适用于存储表格...
在需要更复杂的格式化或功能时,如公式、条件格式和图表,人们通常会将CSV数据转换为Excel文件。 Excel是一款由Microsoft开发的强大电子表格应用程序,它提供了丰富的数据处理和分析工具。相比CSV,Excel支持更多的...
// 输出Excel文件 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="database_table.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_...
本文将深入探讨如何使用PHP来读取、编辑和输出Excel文件,以满足【标题】"excel_class(1).rar_excel_php excel"所涵盖的主题。 首先,我们要了解PHP中处理Excel文件的主要库。其中最常用的是PHPExcel和...
4. 设置样式:对单元格应用各种样式,包括字体、颜色、边框、对齐方式等,以美化输出的Excel文件。 5. 保存文件:完成所有操作后,将内存中的Excel对象保存到磁盘上,生成实际的.xls文件。 这个类的使用方法通常...
PHPoffice 实现 Excel 导入导出 PHPoffice 是一个基于 PHP 的 Excel 操作库,提供了强大的 Excel...PHPoffice 库提供了强大的 Excel 操作功能,使用 PHPoffice 库可以快速实现 Excel 文件的导入和导出,提高开发效率。
以下是一些关于如何在PHP中生成和下载Excel文件的关键知识点: 1. **PHPExcel库**: PHPExcel是一个广泛使用的库,它允许开发者创建、读取和修改Microsoft Excel文件。在描述中提到的"20141020"可能是指该库的一个...
4. **保存或输出文件**:最后,根据需求选择保存Excel文件到服务器,或者直接输出给客户端下载。 ```php header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('...
当我们需要处理Excel数据时,PHP提供了一些库来方便我们直接读取和操作Excel文件,而无需通过导入数据库这一中间步骤。这样的做法可以提高效率,减少资源消耗,尤其在处理大量数据时更为实用。 标题中的"php读取...
在这个场景中,"php 操作 Excel的函数库"是一个关键的知识点,它意味着我们将探讨如何在PHP中使用特定的库来与Excel文件交互。 首先,我们可以考虑使用PHP的PHPExcel库,这是一个非常流行的用于处理Excel文件的开源...