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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

0回答

2331閲覧

[NPOI]図形内の文字の位置を垂直、水平方向に移動させてExcelに出力したい

fukadai0314

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/08/03 06:33

編集2017/08/03 07:55

###前提・実現したいこと
使用言語:C# 環境:VisualStudio2015
NPOIを使用し、図形の中に文字を入力してExcel(.xls)に出力したいです。
その際に、入力した文字の位置を水平方向、垂直方向に動かして出力したいのですが、やり方がわからずに困っています。
図形に文字を入れて出力することはできたのですが、どうやって文字の位置を変更したらよいのかがわかりません。
よろしくお願いします。

###発生している問題・エラーメッセージ
図形内の文字の位置(水平方向、垂直方向)が変更できない。(左寄せなど)

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

C#

1using System; 2using System.IO; 3using NPOI.SS.UserModel; 4using NPOI.HSSF.UserModel; 5using NPOI.HSSF.Util; 6using static NPOI.HSSF.Util.HSSFColor; 7 8namespace Sample{ 9 class Program { 10 static void Main() { 11 string fName = string.Format("shape_test_{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss")); 12 try { 13 //ワークブックを生成 14 HSSFWorkbook workbook = new HSSFWorkbook(); 15 16 //シートの追加 17 HSSFSheet sheet = workbook.CreateSheet("Sheet") as HSSFSheet; 18 19 HSSFPatriarch patriarch = sheet.CreateDrawingPatriarch() as HSSFPatriarch; 20 21 HSSFClientAnchor clientAnchor; 22 HSSFSimpleShape shape; 23 //クライアントアンカーを生成する 24 clientAnchor = new HSSFClientAnchor( 25 0, 0, 0, 0, (short)2, 12, (short)6, 16); 26 27 //円を描画 28 shape = patriarch.CreateSimpleShape(clientAnchor); 29 shape.ShapeType = HSSFSimpleShape.OBJECT_TYPE_OVAL; 30 31 //塗りつぶし色を設定 32 shape.SetFillColor(System.Drawing.Color.YellowGreen.R, System.Drawing.Color.YellowGreen.G, System.Drawing.Color.YellowGreen.B); 33                //枠線の色を設定 34 shape.SetLineStyleColor(255, 0, 0); 35                //枠線の幅を設定 36 shape.LineWidth = HSSFSimpleShape.LINEWIDTH_ONE_PT * 1; 37                //枠線の種類を設定 38 shape.LineStyle = (LineStyle)LINE_STYLE[5]; 39 40 //文字を図形内に入れる 41 shape.String = new HSSFRichTextString("おはようおはよう"); 42 43 44---------------------------------------------------------------------------------- 45 ここに文字の位置の設定を追加 46---------------------------------------------------------------------------------- 47 48 //ファイルを保存する 49 using (var fs = new FileStream(fName, FileMode.Create)) { 50 workbook.Write(fs); 51 fs.Close(); 52 } 53 54 } 55 catch (Exception ex) { 56 Console.WriteLine(ex); 57 } 58 }

###試したこと
HSSFSimpleShapeやHSSFShapeの中を探しても、位置情報の設定が見当たりませんでした。
回答よろしくお願いします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問