オープンしているMS Excel(またはこれを想定している)やLibreOffice Calc(テスト済み)をクラックさせると、セルにstuffを入力したり、セル内のテキストの一部のフォントを変更することができます。 1つのセルに、やって:このテキストは、このテキストは再びApache POI:パーシャルセルフォント
をイタリックにする大胆とある
は、この文字列に1つのセルのような形式で存在することができることを、私はあらためて表明しましょう。
このレベルのカスタマイズはApache POIで達成できますか?検索は、セル全体にフォントを適用する方法を示しているようです。
おかげ
=== === UPDATE
以下示唆したように、私は(私はHSSFで働いているとして)HSSFRichTextString一緒に行くことになりました。しかし、フォントを適用した後(私は太字とアンダーラインを試しました)、私のテキストは変わりません。これは私が試みたものです。文脈を踏まえて、私はスポーツ関連のものに取り組んでいます。これは、 "awayteam" @ "hometeam"の形式で試合を表示するのが一般的です。特定の外部条件に応じて、もう一方は太字です。
String away = "foo";
String home = "bar";
String bolden = "foo"
HSSFRichTextString val = new HSSFRichTextString(away+"@"+home);
if(bolden.equals(home)) {
val.applyFont(val.getString().indexOf("@") + 1, val.length(), Font.U_SINGLE);
} else if(bolden.equals(away)) {
val.applyFont(0, val.getString().indexOf("@"), Font.U_SINGLE);
}
gameHeaderRow.createCell(g + 1).setCellValue(val);
あなたが見ることができるように、これはコードのスニペットが表示されているよりも多くの複雑な関数からですが、これの矛先は、実際のコードです:私のコードは次のようになります。ご覧のとおり、val.applyを使用して文字列の一部を入力してから、その文字列でセルの値を設定しています。だから、私がそこで何をやったのかが完全にはわかっていない。アドバイスをいただければ幸いです。
おかげ
KFJ
は私の質問に答えてくれてありがとう。私は仕事中です。これはサイドプロジェクトのためのものです。今夜はこれを試してみましょう。もしうまくいけば、私はあなたの答えをチェックマークします:) –
うわー。それは私が予想していたよりもずっと時間がかかりました。申し訳ありません。とにかく、うまくいかなかった。エラーはありませんが、テキストはフォーマットされていません。私はここに私の投稿を編集し、何が起こっているかを示します。 –
そのフォントを(スタイルを使って)セル全体に適用すると、期待通りに見えますか? (それはあなたが正しいフォントを持っているかどうかを確認するのに良い方法です) – Gagravarr