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

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

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

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

Q&A

解決済

1回答

953閲覧

C# エクセルファイルの内容を textboxへ出力したい

kazukikikuchi

総合スコア1

C#

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

0グッド

1クリップ

投稿2020/06/10 04:58

C#初心者です。
javaやphpを多少かじっているのである程度わかる部分もあるのですが、調べきれずお手上げな状態です。
初歩的すぎたらすみません。

https://www.ipentec.com/document/csharp-open-read-excel-book-and-sheet

上記サイト丸コピしてセル単一の抽出には成功しています。
Rangeで取得するセルの("A1")を("A1","A100")にすれば複数のデータを取得できると調べた結果わかったのですが、
それで出力するとSystemObject[]みたいなのだけが出て正しく出力できません。

何か書き方が間違っているのか、何か加えなければ行けないのか、失敗の方向もわからない状況なので助言をお願いします。

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

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

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

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

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

YAmaGNZ

2020/06/10 05:03

どのように出力しようとしたのですか? ソースを提示してください。
kazukikikuchi

2020/06/10 05:09

掲載したサイトのbottun2のクリックイベントの箇所です。 最終的にはエクセルの列と行をそのまま表示できるようにしたいのですが、まずは複数のデータを出力できないところの原因、解決法が知りたいです。
YAmaGNZ

2020/06/10 05:17

だから、何をどう書いた結果「SystemObject[]」と出力されているのですか? 「複数のデータを取得できると調べた結果わかったのですが」とありますが、その調べたページには値の取得の仕方はなかったのですか?
guest

回答1

0

ベストアンサー

複数範囲していしているので、抽出した結果が配列になります。
そりゃ、配列をそのまま見ようとしても、SystemObject[]となります。

以下のようにしてみてください。(Textboxの変数はtextBox2かな?)

c#

1Range range = ExcelApp.get_Range("A1", "A100"); 2if (range != null) { 3 for (int i = 1; i < range.Length; i++) { 4 var val = Convert.ToString(range.Value2[i, 1]); 5 textBox2.Text += val; 6 } 7}

投稿2020/06/10 05:45

Mashiro

総合スコア654

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

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

kazukikikuchi

2020/06/10 09:57

やはりデータは取得できてるけど表示ができてない感じだったんですね。 Forを使って表示の形式を定めてるって感じでしょうか。 明日試してみます!
kazukikikuchi

2020/06/11 13:56

すみません。 今日試してみたのですが for (int i = 1; i < range.Length; i++) のLengthの部分がエラー出てしまいました。 定義がないのでアセンブリとか確かめてみてねって感じのエラーだったんですが改善方法は何かありますか? アセンブリやusing設定の問題なのでしょうか。
Hey_CH

2020/06/11 14:07

Countはありませんか?
Mashiro

2020/06/11 14:12

ごめんなさい、たしかにRange型にLengthはありませんでしたね。 Hey_CHさんの言う通り、range.Countとしてみてどうですか?
kazukikikuchi

2020/06/24 14:04

返信遅れてすみません。 .Countで無事表示できました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問