Excel を生成するときに、誰もが phpExcel クラスを使用します。ここで、26 列を超え、Z より大きい Excel 列名を生成する問題の解決策を紹介します。
これはphpExcelクラスのメソッドです。今日見つけたのでメモしました。
コードは次のとおりです |
コードをコピー |
パブリック静的関数 stringFromColumnIndex($pColumnIndex = 0)
{
// ルックアップ キャッシュを使用すると、メモリのオーバーヘッドがわずかに追加されますが、速度が向上します
// メソッド内で static を使用したキャッシュは、クラス static より高速です
//ただし、追加のメモリオーバーヘッドが発生します
static $_indexCache = array();
If (!isset($_indexCache[$pColumnIndex])) {
// 列文字列を決定します
if ($pColumnIndex
$_indexCache[$pColumnIndex] = chr(65 + $pColumnIndex);
} elseif ($pColumnIndex < 702) {
$_indexCache[$pColumnIndex] = chr(64 + ($pColumnIndex / 26)) 。
chr(65 + $pColumnIndex % 26);
$_indexCache[$pColumnIndex] = chr(64 + (($pColumnIndex - 26) / 676))
chr(65 + ((($pColumnIndex - 26) % 676) / 26))
chr(65 + $pColumnIndex % 26);
}
$_indexCache[$pColumnIndex] を返します
}
列の数値シリアル番号を文字に変換するには、次を使用します:
| コードは次のとおりです
コードをコピー
PHPExcel_Cell::stringFromColumnIndex($i) //o | から開始
|
列の文字を数値のシリアル番号に変換するには、次を使用します:
| コードは次のとおりです
コードをコピー
PHPExcel_Cell::columnIndexFromString(‘AA’); |
|
http://www.bkjia.com/PHPjc/632927.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/632927.html技術記事 Excel を生成するときに phpExcel クラスを使用します。次に、26 列を超え、Z より大きい Excel 列名を生成する問題の解決策を紹介します。 phpExcelクラスのメソッドです。今日見つけました…
|