`
nedvedheqing
  • 浏览: 105351 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP 输出带格式的 Excel 文件

    博客分类:
  • PHP
阅读更多

第一步:生成一个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文件

    在PHP中导出Excel文件是一项常见的任务,尤其在数据处理和报表生成方面。要实现这一功能,我们可以使用一些专门的库,比如PHPExcel。PHPExcel是一个强大的PHP类库,它允许我们创建、读取和修改Microsoft Excel文件。...

    PHP 导出Excel (注:导出带图片的EXCEL也支持)

    本教程将专注于使用PHP生成带有图片的Excel文件,并解决文件保存后可能出现的乱码问题。我们将探讨如何利用PHP的第三方库来实现这一功能,以及处理过程中需要注意的关键点。 首先,PHP自身并不直接支持创建Excel...

    PHP导出数据到excel文件

    在IT行业中,尤其是在Web开发领域,常常需要将数据库中的数据导出为用户友好的格式,例如Excel文件。这种操作在数据分析、报表生成或数据备份时非常常见。标题"PHP导出数据到excel文件"和描述中提到的"PHP导出MySQL...

    php导入导出excel文件数据库

    Excel文件主要有两种格式:老版本的.XLS(基于二进制的BIFF格式)和较新的.XLSX(基于XML的OpenXML格式)。PHP中常用的一个库是PHPExcel,它支持读取和写入这两种格式。 **导入Excel文件到数据库** 1. **安装...

    php上传excel

    Excel XML 是一种基于 XML 的文件格式,用于描述 Excel 文件的结构和内容。通过使用 PHP 生成 Excel XML 代码,我们可以创建一个 Excel 文件。Excel XML 代码由多个部分组成,包括 Worksheet、Table、Row、Cell 等。...

    phpExcel 导入导出带图片的excel表格

    在PHP开发中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`phpExcel`是一个广泛使用的PHP库,它允许开发者创建、读取和修改Microsoft Excel文件,即使这些文件包含图像。本篇文章将深入...

    php读取excel,xlsx文件

    Excel文件主要有两种格式:`.xls`(旧版的BIFF格式)和`.xlsx`(较新的OpenXML格式)。本篇文章将详细讲解如何使用PHP读取这两种类型的Excel文件。 首先,我们需要一个库来处理Excel文件,因为PHP本身并不直接支持...

    php输出excel php生成excel_.docx

    根据提供的文件信息,我们可以深入探讨如何使用PHP生成并输出Excel文件。这涉及到使用自定义类来构造Excel文档的XML格式,并通过HTTP响应头将其发送给客户端。以下是对该过程的详细解析: ### PHP生成Excel的基本...

    php导出带样式的excel

    4. **输出Excel文件**:通过`fetch`方法获取填充后的HTML字符串,再将其转换为Excel文件。 综上所述,通过这种方式,我们可以非常方便地生成带有复杂样式的Excel文件。这种方法不仅简化了开发过程,还提高了Excel...

    php excel导出 导入

    在PHP开发中,处理Excel文件是一项常见的任务,...综上所述,PHP与Excel文件的交互涉及到多个层面,包括文件操作、数据处理和格式化。使用正确的库和策略,可以有效地实现Excel的导出和导入功能,满足各种业务需求。

    PHP100视频教程47:PHP输出CSV和EXCEL两种简单的方法.rar

    这篇教程“PHP100视频教程47:PHP输出CSV和EXCEL两种简单的方法”将深入讲解如何利用PHP来生成和输出这两种文件格式。 首先,让我们来了解CSV文件。CSV是一种纯文本格式,用逗号分隔每个数据字段。它适用于存储表格...

    CSV数据文件转换为Excel文件

    在需要更复杂的格式化或功能时,如公式、条件格式和图表,人们通常会将CSV数据转换为Excel文件。 Excel是一款由Microsoft开发的强大电子表格应用程序,它提供了丰富的数据处理和分析工具。相比CSV,Excel支持更多的...

    php 将数据库表导成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_...

    excel_class(1).rar_excel_php excel

    本文将深入探讨如何使用PHP来读取、编辑和输出Excel文件,以满足【标题】"excel_class(1).rar_excel_php excel"所涵盖的主题。 首先,我们要了解PHP中处理Excel文件的主要库。其中最常用的是PHPExcel和...

    PHP EXCEL写入类(分离的pear的Excel操作模块)

    4. 设置样式:对单元格应用各种样式,包括字体、颜色、边框、对齐方式等,以美化输出的Excel文件。 5. 保存文件:完成所有操作后,将内存中的Excel对象保存到磁盘上,生成实际的.xls文件。 这个类的使用方法通常...

    【PHP】phpoffice实现excel导入导出

    PHPoffice 实现 Excel 导入导出 PHPoffice 是一个基于 PHP 的 Excel 操作库,提供了强大的 Excel...PHPoffice 库提供了强大的 Excel 操作功能,使用 PHPoffice 库可以快速实现 Excel 文件的导入和导出,提高开发效率。

    php下载excel表

    以下是一些关于如何在PHP中生成和下载Excel文件的关键知识点: 1. **PHPExcel库**: PHPExcel是一个广泛使用的库,它允许开发者创建、读取和修改Microsoft Excel文件。在描述中提到的"20141020"可能是指该库的一个...

    php导出数据为excel的demo

    4. **保存或输出文件**:最后,根据需求选择保存Excel文件到服务器,或者直接输出给客户端下载。 ```php header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('...

    php读取excel的类库

    当我们需要处理Excel数据时,PHP提供了一些库来方便我们直接读取和操作Excel文件,而无需通过导入数据库这一中间步骤。这样的做法可以提高效率,减少资源消耗,尤其在处理大量数据时更为实用。 标题中的"php读取...

    php 操作 Excel的函数库

    在这个场景中,"php 操作 Excel的函数库"是一个关键的知识点,它意味着我们将探讨如何在PHP中使用特定的库来与Excel文件交互。 首先,我们可以考虑使用PHP的PHPExcel库,这是一个非常流行的用于处理Excel文件的开源...

Global site tag (gtag.js) - Google Analytics