ホームページ >php教程 >php手册 >Simple Excelを使ったxlsエクスポートの実装方法

Simple Excelを使ったxlsエクスポートの実装方法

WBOY
WBOYオリジナル
2016-06-13 11:56:26818ブラウズ

数日前に php-excel-reader クラスを使用して Excel コンテンツをインポートした記事を書きました。ところで、私は単純な Excel という非常に単純なエクスポート xls クラスを使用しています。とても使いやすいです!
簡単な Excel ソース コードは次のとおりです:

コードをコピー コードは次のとおりです:


/**
* PHP5 から生成する単純な Excel
*
* @package Utilities
* @license http://www.opensource.org/licenses/mit-license.php
* @author Oliverシュワルツ
* @バージョン 1.0
*/
class Excel_Xml
{
private $header = "n";
private $footer = "
";
private $lines = array();
プライベート $sEncoding;
プライベート $bConvertTypes;
プライベート $sWorksheetTitle;
パブリック関数 __construct($sEncoding = 'UTF-8', $bConvertTypes = 'Table1')
{
$ this->bConvertTypes = $bConvertTypes;
$this->setEncoding($sEncoding);
$this->setWorksheetTitle($sWorksheetTitle); >public function setEncoding($sEncoding )
{
$this->sEncoding = $sEncoding;
}
public function setWorksheetTitle ($title)
{
$title = preg_replace ("/[\|: |/|?|*|[|]]/", "", $title);
$title = substr ($title, 0, 31); >sWorksheetTitle = $title;
}
プライベート関数 addRow ($array)
{
$cells = ""
foreach ($array as $k => $v) :
$type = 'String';
if ($this->bConvertTypes === true && is_numeric($v)):
$type = 'Number'; 🎜>$v = htmlentities( $v, ENT_COMPAT, $this->sEncoding);
$cells .= "" . "n";
endforeach;
$this->lines[] = "n" 。 ;
}
public function addArray ($array)
{
foreach ($array as $k => $v)
$this->addRow ($v); 🎜>}
public functiongenerateXML ($filename = 'excel-export')
{
$filename = preg_replace('/[^aA-zZ0-9_-]/', '', $filename );
header( "Content-Type: application/vnd.ms-excel; charset=" . $this->sEncoding);
header("Content-Disposition: inline; filename="" . $ファイル名 . ".xls"" );
echo Stripeslashes (sprintf($this->header, $this->sEncoding));
echo "nsWorksheetTitle . "" >n

n";
foreach ($this->lines as $line)
echo $line;
echo "
n< /Worksheet>n";
echo $this->footer;
}
}
?>


php の使用例は次のとおりです。 🎜>


コードをコピーします
コードは次のとおりです:

/*** @author mckee * @blog www.phpddt.com */

require_once 'excel.class.php';

$xls = new Excel_Xml('UTF-8',false,'test');
$data = array(
1 => array( '名前','アドレス')、
2 = > array('php diandiantong','www.phpddt.com')、
3 => array('Baidu','www.baidu. com')
);
$xls ->addArray($data);

?>

エクスポート結果は以下のようになります:

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。