void Format::setNumFormat (
string $num_format
)
数値の表示形式を設定します。これには日付・時刻・通貨など……
も含まれます。以下の表では、使用可能な
$num_format
の値と
それぞれに対して引数として受け付ける型を示します。
0 | 十進数 | ゼロの数で、表示される桁数を指定します。 |
0.00 | 十進数 | 小数点以降のゼロの数で、表示される小数の桁数を指定します。 |
#.## | 十進数 | 小数点以降のシャープの数で、表示される小数の最大の桁数を指定します。 |
0% | パーセント | ゼロの数で、表示される桁数を設定します。 |
0.000% | パーセント | 小数点以降のゼロの数で、表示される小数の桁数を指定します。 |
$#.#;[Red]($#.#) | 通貨 | ゼロおよびシャープの意味は、他の書式と同じです。 |
??/?? | 分数 | 分母のクエスチョンマークの数で、値の精度 (分母の最大の桁数) を指定します。 |
# ??/?? | 分数 | 整数部分を持つ分数です。整数部の書式はゼロおよびシャープで 定義し、その意味は他の書式と同じです。 |
0.00E+# | 科学 | 科学的な表記法における基数および指数は、十進数と同様に書式化されます。 ゼロおよびシャープの意味は同じです。 |
D-MMM-YY | 日付 | 指定した表記法で日付を表します。月は 1 桁あるいは 2 桁の数値、 あるいは 3 文字の月名で表します。年は 2 桁あるいは 4 桁で指定します。 日付として扱われる値は、1899 年 12 月 30 日 (Excel のゼロ日) からの 経過日数です。ゼロ日より前の日付を表すには、負の数値を使用します。 |
D/M/YYYY h:mm:ss | 日付/時刻 | 指定した表記法で日付を表します。日付として扱われる値は、 Excel のゼロ日からの経過日数です。 |
h:mm:ss AM/PM | 時刻 | 指定した表記法で時刻を表します。時刻として扱われる値は、 日数で指定することに注意しましょう。例えば、0.5 という値は '12:00:00 PM' と表示されます。 |
この情報は、Microsoft Excel のファイル形式について書かれた OpenOffice.org のドキュメント (http://sc.openoffice.org/excelfileformat.pdf) から引用したものです。
string $num_format
-
数値の表示形式。
This function can not be called statically.
setNumFormat() の使用法
<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer();
$worksheet =& $workbook->addWorksheet();
// 4 桁の年、3 文字の月の形式で日付を表示します
$date_format =& $workbook->addFormat();
$date_format->setNumFormat('D-MMM-YYYY');
// 1 日の秒数
$seconds_in_a_day = 86400;
// Unix タイムスタンプと Excel の日付の差を秒数で表します
$ut_to_ed_diff = $seconds_in_a_day * 25569;
// Excel のゼロ日を表示します
$worksheet->write(0, 0, "Excel の day zero");
$worksheet->write(0, 1, 0, $date_format);
// 今日の日付を表示します
$now = time();
$worksheet->write(1, 0, "今日の日付:");
$worksheet->write(1, 1, ($now + $ut_to_ed_diff) / $seconds_in_a_day, $date_format);
$workbook->send('num_formatting.xls');
$workbook->close();
?>