ホームページ >バックエンド開発 >PHPチュートリアル >PHP は Excel ファイルのソース コードを生成します_PHP チュートリアル
phpはExcelファイルのソースコードを生成します
phpチュートリアルはExcelファイルのソースコードを生成します
クラスエクセル{
/**
/**
*ヘッダーExcelファイル(プレフィックス行)
*
※XML仕様はExcelからコピーしたものです。
*
* @プライベート訪問
*/
var $header = "
<ワークブック 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">";
* フッター付き Excel ファイル (行に追加)
* ドキュメント行 (配列内の行)
*
※XML仕様はExcelからコピーしたものです。
*
* @プライベート訪問
*/
var $footer = "";
/***
ワークシート名
* @アクセス非公開
* @var 配列
*/
var $lines = 配列();
/***
を追加します。 *
*単一のワークシート名が含まれます
*
* @プライベート訪問
*/
var $worksheet_title = "テーブル1";
/**
一行の docstring $* @プライベート訪問
// foreach キー -> セルに値を書き込みます
* @paramkuala配列一次元配列
*/
関数 addrow ($array) {
// この行のすべてのセルを初期化します
$cells = "";
; foreach ($array as $k => $v):
// 生成された Excel の文字列に数値が格納されているという警告を避けるために、文字列と数値の間の判定を追加します
if(is_numeric($v)) {
// 最初の文字が 0 の場合、Excel 生成後に 0 が失われるのを防ぎます
If(substr($v, 0, 1) == 0) {
$cells .= "" . } else { |
$cells .= "" . } |
} else {
$cells .= "" .$v . } |
エンドフォーリーチ;
// $cells の内容を 1 行に変換します
$this->lines[] = "n" .
}/**
*ドキュメントに配列を追加します
*
*これが Excel を生成する唯一の方法です
*書類。
*
* @一般公開
* @paramkumararraarray 二次元配列
* @Todo 項目は後で __construct() に転送できます
*/
関数 addarray ($array) {// 配列を実行して行に追加します
foreach ($array as $k => $v):
$this->addrow ($v);
エンドフォーリーチ;}
/**
ワークシート名を設定します
*
*チェックされた文字列には文字 (: /?*) は使用できません
※最大31文字までにカットしてタイトルを設定してください。くそー
*許可されていない文字がどこにも見つからないのはなぜですか?ウィンドウズ
*ヘルプは役に立ちません...
*
* @一般公開
* @paramkumarara string$title デザインタイトル
*/
関数 setworksheettitle ($title) {// 最初に特殊文字を削除します
$title = preg_replace ("/[|:|/|?|*|[|]]/", "", $title);// 許容される長さにカットします
$title = substr ($title, 0, 31);// タイトルを設定します
$this->worksheet_title = $title;}
/**
*Excelファイルを生成します
*
*最終的に生成されたExcelファイル、header()関数を使用します
※ブラウザに提供されます。
*
* @一般公開
* @Param Kumara string$filename 生成する Excel ファイルの名前 (...xls)
*/
functiongeneratexml ($filename) {// ヘッダーを配信します(PHP マニュアルで推奨されているように)
header("コンテンツタイプ: application/vnd.ms-excel; charset=utf-8");
header("content-disposition: inline; filename="" . $filename . ".xls"");// ドキュメントをブラウザに出力します
// 「>」にはストリップ教程まつげを使用する必要があります
エコー ストリップスラッシュ ($this->header);
echo "nworksheet_title . "">n n";n";
n
echo "n";
echo implode ("n", $this->lines);
echo "
echo $this->footer;}
}
/**
*cakephpの使い方
* 注 **cakephp 設定ファイルdefine('debug', 0);
*
* ベンダー ('Excel');
* $doc = 配列 (
* 0 => array ('中国', '中国人', '中国人', '123456');
* );
* $xls = 新しい Excel;
* $xls->addarray ( $doc );
* $xls->generatexml ("mytest");
*/
/**
* フレームワーク以外の使用
*
* require_once('excel.php');
* $doc = 配列 (
* 0 => array ('中国', '中国人', '中国人', '123456');
* );
* $xls = 新しい Excel;
* $xls->addarray ( $doc );
* $xls->generatexml ("mytest");
*/