質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3372閲覧

PHPExcelで、セル内の特定文字列のみイタリックの設定および解除をしたい

chrismagenta

総合スコア13

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/06/21 01:58

###前提・実現したいこと

PHPExcelにて、セル単位でセル内の文字列をイタリックにするかどうか指定可能な
ことは確認済です。しかし、セル内の特定文字列のみイタリックの設定および解除
する方法が分かりません。

###該当のソースコード

$sheet->getStyleByColumnAndRow(列番,行番)->getFont()->setItalic(true);

###試したこと

上記ソースにて、セル内全ての文字がイタリックになることは確認しています。

###補足情報(言語/FW/ツール等のバージョンなど)

PHPExcel version 2.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは。
phpExcelをよく使うので、今後のためにも調べてみました。

「通常文字列(前)__装飾文字列__通常文字列(後)」
このような文字列を作成する場合、
通常文字列(前)+装飾文字列+通常文字列(後)と分けることで要件が実現できるようです。
下記、テスト済みです。

$objRichText = new PHPExcel_RichText(); $objRichText->createText('通常文字列(前)'); $objItalic = $objRichText->createTextRun('装飾文字列'); $objItalic->getFont()->setItalic(true); $objRichText->createText('通常文字列(後)'); $objPHPExcel->getActiveSheet()->getCell('A1')->setValue($objRichText);

stackoverflowの回答を編集しています。

投稿2017/06/29 00:36

Styler

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chrismagenta

2017/06/29 05:46

ご回答大変ありがとうございます。 提示頂いた内容で確認できました。 PHPExcel_RichTextを見つけることができませんでしたし、もし見つけたとしてもこれに関する詳細なドキュメントがほとんど無いので、この動作を実現できることを確認するのは困難でしょう。 まだ簡単例にての確認だけの段階なので、現在作成途中のシステムに適用するには時間を要します。 ありがとうございました。
guest

0

例えば、B2セルの2文字目から始まって、3文字をイタリックにする場合は下記の様に書けます。

Sub font変更() Cells(2, 2).Characters(2, 3).Font.Italic = True End Sub

投稿2017/06/21 02:05

motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

motuo

2017/06/21 02:13

スイマセン。PHP Excelの話だったんですね… VBAと勘違いしました。上記の投稿は忘れて下さい。
chrismagenta

2017/06/21 02:13

ご回答ありがとうございます。 頂いた回答は、マクロ(Excel VBA)での方法かと思いますが、実装環境はLinux上のWebサーバなので、あくまでもPHPExcelで実現できなければなりません。従って、折角ご回答頂きましたが、採用することができません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問