ホームページ > バックエンド開発 > PHPチュートリアル > PHP は Excel を生成し、Excel セル内の改行を制御します

PHP は Excel を生成し、Excel セル内の改行を制御します

WBOY
リリース: 2016-06-13 13:07:32
オリジナル
1004 人が閲覧しました

PHP は Excel を生成し、Excel セル内の改行を制御します

同社はバグ管理に Mantis を使用しています。Mantis にはバグを Excel にエクスポートする機能があります。

しかし、mantis の現在のバージョンでは、Excel にエクスポートする際に、「概要、説明、問題を再現する手順の説明、追加情報、コメント」などの情報のうち、

バグを送信するときの復帰と改行文字がすべて消えてしまったので、Excel で読むのは非常に不便です。

?

今考えてみると、これは改善された問題です

PHP を使用して Excel を作成する場合、Excel のセルに改行を記述し、セルの形式を制御する方法。

?

テストしたところ、Excel の生成時に rn が無効であり、フィルターされることがわかりました。

ただし、
と記述すると、セル内の行が変更されるのではなく、新しいセルが変更されます。

Google で検索した後、セル内で行を折り返すという目的を達成するには、次の文字列を挿入する必要があります

?

'<br style="mso-data-placement:same-cell;" />'
ログイン後にコピー
?

?

さらに、調査中に別の興味深い質問を発見しました。

前述したように、PHP を使用して Excel を生成する場合、rn には行の折り返しを制御する機能がありません。

ただし、 の間に rn が混在する場合は、</p> <p>形は以下の通りですので、この時のrnは<br>に相当し、結果のExcelには新しいセルが作成されます。</p> <div class="quote_title"> が </p> を書きました <div class="quote_div"><前><br> ……ん<br> ……ん<br> ……ん<br>

?

この動作は明らかに私たちが望んでいることではありません。

それでは、これらをすべて以下のように置き換えてみましょう。

$p_new_lines   = array("\r\n", "\n", "\r","\r\n", "<pre class="brush:php;toolbar:false">","
","
","
","
"); $p_change_line_in_excel_cell = '<br style="mso-data-placement:same-cell;" />'; $p_result = str_replace( $p_new_lines,$p_change_line_in_excel_cell,$p_input);
ログイン後にコピー
?

?

?

?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート