テンプレート処理サンプルコード

 ";
	$argument = rtrim(fgets(STDIN), "\n");

	$rtn = AXLS_put_values($book, $argument);
	if ($rtn != 0 ){
		$mesg = AXLS_error_mesg($book);
		echo "AXLS_put_values() rtn=", $rtn, " message=", $mesg, " argument=" . $argument . "\n";
		AXLS_scrap_book($book);
		die();
	}

	/* Excelブック保存 */
	$rtn= AXLS_save_book($book);
	if ($rtn != 0 ){
		$mesg = AXLS_error_mesg($book);
		echo "AXLS_save_book() rtn=", $rtn, " message=", $mesg, "\n";
		die();
	}

	/* 終了ログ出力 */
	list($micro, $Unixtime) = explode(" ", microtime());
	$sec = $micro + date("s", $Unixtime);
	echo "処理終了 " . date("m月d日 g:i:", $Unixtime).$sec."\n";
	print("memory_get_peak_usage: ".memory_get_peak_usage()/1024 . "k\n");

?>

	


解説
テンプレートブックオブジェクトの作成
	/* Excelブックオープン */
	$book = AXLS_open_book();
	if ($book == NULL){
		echo "ERROR: AXLS_open_book()\n";
		die();
	}
	
AXLS_open_template関数を使い、テンプレートブックオブジェクトを生成します。
オブジェクトの実体は、DLL/共有ライブラリ内に確保された、X-TRAiN用構造体の アドレスを16進数に変換した文字列です。
以降の関数呼び出し時には、この値を使用します。
エラー時は戻り値としてNULLが返却されますが、これはメモリ確保ができなかった場合のみです。
読み込みエラーの判定は、AXLS_error_code関数でエラーコードを、 AXLS_error_mesg関数でエラーメッセージを取得して行います。
異常終了する場合は、AXLS_scrap_book関数でメモリの解放を行ってください。

作成ブック名、更新対象シートの指定
	/* ブック名指定 */
	$argument = "BOOK=" . $output_book . " SHEET=SAMPLE";
	$rtn = AXLS_put_values($book, $argument);
	if ($rtn != 0 ){
		$mesg = AXLS_error_mesg($book);
		echo "AXLS_put_values() rtn=", $rtn, " message=", $mesg, " argument=" . $argument . "\n";
		AXLS_scrap_book($book);
		die();
	}
	
AXLS_put_values関数を使い、作成ブック名や更新対象シートのカレント化を行います。

セル値の更新

	/* キー入力内容でExcel更新 */
	echo "更新内容(セル値のみ上書き可能)\n";
	echo "> ";
	$argument = rtrim(fgets(STDIN), "\n");

	$rtn = AXLS_put_values($book, $argument);
	if ($rtn != 0 ){
		$mesg = AXLS_error_mesg($book);
		echo "AXLS_put_values() rtn=", $rtn, " message=", $mesg, " argument=" . $argument . "\n";
		AXLS_scrap_book($book);
		die();
	}

	
テンプレート処理では、セルの値のみを更新することができます。
罫線、セルの塗りつぶし、フォントの設定、書式の追加や変更を行うことはできません。
本サンプルは、標準入力(キーボード入力)より、A1=値 の形式で セルの値を指定して更新する仕様です。

ブックの保存

	/* Excelブック保存 */
	$rtn= AXLS_save_book($book);
	if ($rtn != 0 ){
		$mesg = AXLS_error_mesg($book);
		echo "AXLS_save_book() rtn=", $rtn, " message=", $mesg, "\n";
		die();
	}

	
AXLS_save_book関数を使い、ブックの保存を行います。