Home  >  Article  >  Backend Development  >  PHP generates excel file source code_PHP tutorial

PHP generates excel file source code_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:04:33806browse

php生成excel文件源代码

php教程生成excel文件源代码

class excel{

    /**
*Header excel file (prefixed row)
*
*Xml specification copied from excel.
*
* @visit private
                  ​​*/
    var $header = "
 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">";

    /**

* Excel file with footer (append to row)
*
*Xml specification copied from excel.
*
* @visit private
                  ​​*/
    var $footer = "";

    /**

     * document lines (rows in an array)

     *
     * @access private
     * @var array
    */
    var $lines = array ();

    /**

Worksheet name

*
*Contains a single worksheet name
*
* @visit private
​​​​ ​​*/
    var $worksheet_title = "table1";

    /**
Add a single line docstring $

*

* @visit private
* @Param Kumara array one-dimensional array
* @ To-do list to create cost reduction-> addarray
​​*/
    function addrow ($array) {

        // initialize all cells for this row
        $cells = "";

       

        // foreach key -> write value into cells
        foreach ($array as $k => $v):
   
         // 加个字符串与数字的判断 避免生成的 excel 出现数字以字符串存储的警告
         if(is_numeric($v)) {
          // 防止首字母为 0 时生成 excel 后 0 丢失
          if(substr($v, 0, 1) == 0) {
           $cells .= "" . $v . "n";
          } else {
           $cells .= "" . $v . "n";
          }
         } else {
             $cells .= "" . $v . "n";
         }

        endforeach;

        // transform $cells content into one row

        $this->lines[] = "n" . $cells . "n";

    }

    /**
*Add an array to the document
*
*This should be the only way to generate an excel
*document.
*
* @Access to the public
* @Param Kumara array two-dimensional array
* @Todo items can be transferred to __construct() later
​​*/
    function addarray ($array) {

        // run through the array and add them into rows
        foreach ($array as $k => $v):
            $this->addrow ($v);
        endforeach;

    }

    /**
Set worksheet name
*
*The checked string does not allow characters (: /?*),
*Cut it to a maximum of 31 characters and set a title. Damn
*Why are unallowed characters nowhere to be found? Windows
*Help is not helpful...
*
* @Access to the public
* @paramkumarara string$title design title
​​*/
    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;

    }

   /**
*Generate excel file
*
*The final generated excel file, and use the header() function
* Provided to the browser.
*
* @Access to the public
* @Param Kumara string$filename name of the excel file to generate (...xls)
​​*/
    function generatexml ($filename) {

        // deliver header (as recommended in php manual)
        header("content-type: application/vnd.ms-excel; charset=utf-8");
        header("content-disposition: inline; filename="" . $filename . ".xls"");

        // print out document to the browser
        // need to use strips教程lashes for the damn ">"
        echo stripslashes ($this->header);
        echo "nworksheet_title . "">n

n";
        echo "n";
        echo implode ("n", $this->lines);
        echo "
nn";
        echo $this->footer;

    }

}

/**
* How to use cakephp
* Note ** cakephp configuration file define('debug', 0);
*
* vendor ('excel');
* $doc = array (
*     0 => array ('China', 'Chinese people', 'Chinese people', '123456');
* );
* $xls = new excel;
* $xls->addarray ( $doc );
* $xls->generatexml ("mytest");
​*/

/**
* Non-framework usage
*
* require_once('excel.php');
* $doc = array (
*     0 => array ('China', 'Chinese people', 'Chinese people', '123456');
* );
* $xls = new excel;
* $xls->addarray ( $doc );
* $xls->generatexml ("mytest");
​*/

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/630838.htmlTechArticlephp generate excel file source code php tutorial generate excel file source code class excel{ /** *Header excel file (prefixed rows) * *xml specification copied from excel. * * @access private * @无码 string...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn