PHPがexcelデータを導出するライブラリの使用例を実現しました。

4840 ワード

本論文の実例はPHPがエクセルデータを導出するためのクラスの使い方を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
今日のプロジェクトはPHPのデータをエクスポートしてエクセルで保存します。ネットで一つ見つけたのはもともとphpexcelを使いたいのですが、後に難しいことに気づきました。変えましたが、エクスポートした歌はXMLです。
このクラスは簡単ですが、とても実用的です。文字列と数字の2つの書式のみを簡単にエクスポートできます。
興味があれば、拡充してもいいです。十分です。

class Excel_XML
{
//      ,    
private $header = "<?xml version=\"1.0\" encoding=\"%s\"?\>
<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\">"; // private $footer = "</Workbook>"; // private $lines = array(); // private $sEncoding; // private $bConvertTypes; // sheet private $sWorksheetTitle; // public function __construct( $sEncoding = 'UTF-8',$bConvertTypes = false,$sWorksheetTitle = 'Table1') { $this->bConvertTypes = $bConvertTypes; $this->setEncoding($sEncoding); $this->setWorksheetTitle($sWorksheetTitle); } // , UTF-8 public function setEncoding($sEncoding) { $this->sEncoding = $sEncoding; } // excel public function setWorksheetTitle ($title) { $title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title); $title = substr ($title, 0, 31); $this->sWorksheetTitle = $title; } // ( ) private function 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 .= "<Cell><Data ss:Type=\"$type\">" . $v . "</Data></Cell>
"; } $this->lines[] = "<Row>
" . $cells . "</Row>
"; // } // public function addArray ($array) { foreach ($array as $k => $v) {$this->addRow ($v);} } // xml public function generateXML ($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=\"" . $filename . ".xls\""); echo stripslashes (sprintf($this->header, $this->sEncoding)); echo "
<Worksheet ss:Name=\"" . $this->sWorksheetTitle . "\">
<Table>
"; foreach ($this->lines as $line) echo $line; echo "</Table>
</Worksheet>
"; echo $this->footer; } }
原理は簡単です。データ配列を読み、XMLのラベルで閉じて、phpの持っているheader関数でビューアに教えてください。
呼び出し:

public function import()
{
 $data = array(
 1 => array ('    ',"    ")
 );
 foreach($this->team as $key=>$value)
 {
  array_push($data,array($key, $value));
 }
 $xls = new Excel_XML('UTF-8', false, 'My Test Sheet'); //     
 $xls->addArray($data);
 $xls->generateXML('school'); //       
}

上にはエクスポート方法を書いてあります。遊覧器の運転では、配列の中のキーと値を導出しました。
PHPについてもっと興味がある読者は、本駅のテーマを見てもいいです。「php操作officeドキュメント技術まとめ(word,excel,access,pptを含む)」、「PHP配列(Aray)操作テクニック大全」、「phpソートアルゴリズムのまとめ」、「PHP常用エルゴードアルゴリズムとテクニックのまとめ」、「PHPデータ構造とアルゴリズム教程」、「phpプログラム設計アルゴリズムのまとめ」、「PHP数学演算技術のまとめ」、「php正則表現の使い方のまとめ」、「PHP演算と演算子の使い方のまとめ」、および「php文字列(string)使い方のまとめ
本論文で述べたように、皆さんのPHPプログラムの設計に役に立ちますように。