`

PHP生成Excel

    博客分类:
  • PHP
阅读更多
<?php    
   
class Excel{    
   
    /**   
     *
     *构建以个xml文件
     */   
    var $header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?\>   
<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"   
 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\">";    
   
    /**   
     
       以Workbook开头,根据xml规则,就要以Workbook结尾
     */   
    var $footer = "</Workbook>";    
   
    /**
     * 
     * 新建一个数组
     */  
    var $lines = array ();    
   
   /**
    * 
    * 给当前工作表一个默认的名称
    */ 
    var $worksheet_title = "Table1";    
   
    /**
     * 
     * 处理一维数组,每一行
     * 
     */
    function addRow ($array) {    
   
        // 每一行都由很多单元格组成,初始化这个单元格集合,采用字符串拼接的方式
        $cells = "";    
            
        // foreach key -> write value into cells    
        foreach ($array as $k => $v):    
                
         
                $cells .= "<Cell><Data ss:Type=\"String\">" . $v . "</Data></Cell>\n";    
              
   
        endforeach;    
   
        // 把这些单元格合成一行   
        $this->lines[] = "<Row>\n" . $cells . "</Row>\n";    
   
    }    
   
 /**
  * 
  * 
  * 
  * 处理二维数组
  */    
    function addArray ($array) {    
   
        // run through the array and add them into rows    
        foreach ($array as $k => $v):    
            $this->addRow ($v);    
        endforeach;    
   
    }    
   
  /**
   * 
   * 
   * 
   * 设置工作薄的名称
   */
    function setWorksheetTitle ($title) {    
   
        // strip out special chars first    
        $title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);    
   
        // now cut it to the allowed length    
        $title = substr ($title, 0, 31);    
   
        // set title    
        $this->worksheet_title = $title;    
   
    }    
   
    /**
     * 
     * 设置php下载名字,以及进行中文的乱码处理
     */
    function generateXML ($filename,$widthArr) {    
		$ua = $_SERVER["HTTP_USER_AGENT"];
		 $encoded_filename = urlencode($filename);
		 $encoded_filename = str_replace("+", "%20", $encoded_filename);
	     header("Content-Type: application/vnd.ms-excel; charset=UTF-8");  
		 if (preg_match("/MSIE/", $ua)) {	
		 	header('Content-Disposition: attachment; filename="' . $encoded_filename . '.xls"');
		 } else if (preg_match("/Firefox/", $ua)) {	
		 	header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '.xls"');
		 } else {
		 	header('Content-Disposition: attachment; filename="' . $filename . '.xls"');
		 }
         
        echo stripslashes ($this->header); //去掉反斜线字符,因为在 header的定义中的反斜线用来转义 
        echo "\n<Worksheet ss:Name=\"" . $this->worksheet_title . "\">\n<Table>\n"; 
    	print_r($widthArr);
        $length=sizeof($widthArr);
        for ($i = 0; $i <$length; $i++) {
        	$j=$i+1;
        	 echo "<Column ss:Index=\"$j\" ss:AutoFitWidth=\"1\" ss:Width=\"$widthArr[$i]\"/>\n";    
        }  
        echo implode ("\n", $this->lines);    
        echo "</Table>\n</Worksheet>\n";    
        echo $this->footer;   
   
    }    
   
}    
 ?>
 

 

分享到:
评论

相关推荐

    PHP生成excel

    在这个主题中,我们将深入探讨如何使用PHP生成Excel文件,主要参考`demo.php`提供的示例代码。 首先,PHP生成Excel文件最常用的是使用PHPExcel库。PHPExcel库提供了强大的功能,可以创建、读取和修改各种Excel文件...

    php生成excel类

    简单的php生成excel的类。操作很简单,直接传入相应的抬头和数据就行了。

    PHP 生成excel文件

    这篇博客“PHP生成excel文件”可能介绍了如何利用PHP创建和操作Excel文件,这对于数据分析、报表生成或用户下载功能非常有用。 生成Excel文件在PHP中最常见的库是PHPExcel和its newer version,叫做phpspreadsheet...

    php生成excel的标准类库,非常好用

    在您提供的信息中,标题和描述提到了一个“php生成excel的标准类库”,这很可能是指PHPExcel或者类似的库,如phpSpreadsheet,它们为PHP提供了强大的Excel文件操作功能。 PHPExcel(或phpSpreadsheet)是PHP中广泛...

    生成excel文件到指定目录的函数php类库

    总的来说,PHPSpreadsheet是PHP生成Excel文件的强大工具,它的灵活性和易用性使其成为开发中的首选。结合良好的编程实践,你可以轻松地实现从数据库导出数据到Excel、自定义报表格式等功能,大大提高了工作效率。

    php生成excel几种方式_实例

    以下将详细讲解PHP生成Excel的几种方法以及如何解决相关问题。 1. **使用PHP的原生函数** PHP虽然没有内置专门用于生成Excel的函数,但可以通过处理CSV(逗号分隔值)文件来实现。`fputcsv()`函数可以用来写入CSV...

    php生成excel文件到指定目录的函数类

    一个php生成excel文件到指定目录的函数类。检查别名导入,加载当前项目应用类,加载其他应用类库,如果类不存在则导入类库文件,需要指定导出的数据字段,排序必须和title一致,就是和查出数据的数组key值。

    php生成excel表格

    标题"php生成excel表格"指的是利用PHP编程语言来创建和处理Excel文件的过程。这通常涉及到以下几个关键知识点: 1. **PHPExcel库**:PHPExcel是PHP中一个功能强大的库,能够读取和写入多种电子表格格式,包括...

    PHP生成excel时单元格内换行问题的解决方法

    本文将详细探讨如何解决在用PHP生成Excel时遇到的单元格内无法换行的问题。 在PHP中生成Excel文件,可以使用多种方法,包括但不限于使用第三方库如PhpSpreadsheet或者直接使用HTML和CSS样式来生成。如果采用直接...

    一个可以生成excel文件的php类库.zip

    压缩包中的“02php生成excel文件源代码”文件很可能是该类库的核心代码文件。这个文件可能包含了实现Excel文件生成的所有函数和类,包括但不限于创建工作簿、工作表,添加单元格数据,设置样式等功能。开发者可以...

    PHP生成Excel的类库

    本文将详细介绍一个名为"PHP生成Excel的类库"的工具,它被誉为最新版且功能强大。 这个类库的核心功能是使PHP开发者能够在服务器端生成XLS或XLSX格式的Excel文件,而无需依赖Microsoft Office或其他桌面应用程序。...

    php输出excel php生成excel_.docx

    ### PHP生成Excel的基本原理 #### XML格式 Excel文件本质上是基于XML的格式。在早期版本中(如.xls),虽然它们看起来像是二进制文件,但实际上可以被解压为多个XML文件和其他资源。因此,创建Excel文件的一种常见...

    php生成excel文件类源代码.zip

    一个php生成excel文件类源代码,从excel复制的xml规格,包含一个单一的工作表名称,添加一个单行的文档字符串$,添加一个数组到文档,设置工作表名称,生成excel文件。

    PHP生成Excel报表并且修正编码格式错误事例带图

    "PHP生成Excel报表并且修正编码格式错误事例带图"是一个关于如何使用PHP创建Excel文件并处理可能出现的编码问题的教程。这个教程可能包含了代码示例和流程图,帮助开发者更好地理解和实现这一功能。 首先,我们要...

    php生成excel,已修改完全可用

    php生成excel,已修改完全可用,网上那些下了半天都是错,不能忍啊。。。

    php生成excel文件的简单方法

    以下是一段使用PHP生成Excel文件的简单代码示例: ```php &lt;?php header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=test.xls"); // 假设我们有从数据库获取...

    php生成Excel代码

    PHP,PHPExcel生成Excel代码

    php生成excel文件到指定目录的函数类.zip

    介绍一个php生成excel文件到指定目录的函数类。检查别名导入,加载当前项目应用类,加载其他应用类库,如果类不存在则导入类库文件,需要指定导出的数据字段,排序必须和title一致,就是和查出数据的数组key值。

    PHPExcel-1.7.0 php 生成excel

    PHPExcel是PHP中一个非常...总的来说,PHPExcel-1.7.0是PHP开发者处理Excel文件的强大工具,无论是在报表生成、数据导入导出还是数据分析场景中,都能发挥重要作用。掌握其基本用法和高级特性,能极大提升工作效率。

    基于PHP的-excel用于生成excel文档的函数库源码.zip

    总之,"基于PHP的-excel用于生成excel文档的函数库源码.zip"提供了一个学习和实践PHP生成Excel文档的平台。通过学习和使用这些源代码,开发者可以提升自己的技能,更好地服务于数据处理和报表生成的需求。

Global site tag (gtag.js) - Google Analytics