PHP が Excel の列名を生成する、26 列を超える列が Z より大きい 問題解決_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:46:51
オリジナル
862 人が閲覧しました

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’);

www.bkjia.com本当http://www.bkjia.com/PHPjc/632927.html技術記事 Excel を生成するときに phpExcel クラスを使用します。次に、26 列を超え、Z より大きい Excel 列名を生成する問題の解決策を紹介します。 phpExcelクラスのメソッドです。今日見つけました…
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート