質問編集履歴
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,25 +1,68 @@
|
|
1
|
-
### 前提・実現したい
|
1
|
+
### 前提・実現したい
|
2
2
|
|
3
|
-
ここに質問の内容を詳しく書いてください。
|
4
|
-
|
3
|
+
C#でExcelを開いて、セルの文字列を取得したいです。
|
5
|
-
|
4
|
+
そのために、Range型をString型に変換したいのですが、できません。
|
6
5
|
|
7
6
|
### 発生している問題・エラーメッセージ
|
8
7
|
|
9
8
|
```
|
10
|
-
|
9
|
+
動的な式のコンパイルに必要な 1 つ以上の型が見つかりません。参照が指定されていることを確認してください。
|
11
10
|
```
|
12
11
|
|
13
12
|
### 該当のソースコード
|
14
13
|
|
15
|
-
```ここに言語名を入力
|
16
|
-
ソースコード
|
17
14
|
```
|
15
|
+
using System;
|
16
|
+
using System.Collections.Generic;
|
17
|
+
using System.Linq;
|
18
|
+
using System.Text;
|
19
|
+
using System.Threading.Tasks;
|
20
|
+
using Excel = Microsoft.Office.Interop.Excel;
|
18
21
|
|
22
|
+
namespace Test
|
23
|
+
{
|
24
|
+
public class TestExcel
|
25
|
+
{
|
26
|
+
public static void Main()
|
27
|
+
{
|
28
|
+
Excel.Application mApp = null;
|
29
|
+
Excel.Workbooks mWorkbooks = null;
|
30
|
+
Excel.Workbook mWorkbook = null;
|
31
|
+
Excel.Sheets mSheets = null;
|
32
|
+
Excel.Worksheet mSheet = null;
|
33
|
+
|
34
|
+
//Excelアプリケーション生成
|
35
|
+
mApp = new Excel.Application();
|
36
|
+
|
37
|
+
//既存のBookを開く
|
38
|
+
mWorkbooks = mApp.Workbooks;
|
39
|
+
mWorkbook = mWorkbooks.Open(@"localhost\Testアンケート.xlsx");
|
40
|
+
|
41
|
+
//シートを選択
|
42
|
+
mSheets = mWorkbook.Worksheets;
|
43
|
+
// 1シート目を操作対象に設定する
|
44
|
+
// ※Worksheets[n]はオブジェクト型を返すため、Worksheet型にキャスト
|
45
|
+
mSheet = mSheets[1] as Excel.Worksheet;
|
46
|
+
|
47
|
+
//Excelの表示
|
48
|
+
mApp.Visible = true;
|
49
|
+
|
50
|
+
//セルのオブジェクト
|
51
|
+
Excel.Range mRange;
|
52
|
+
Excel.Range mCells;
|
53
|
+
|
54
|
+
int i = 2
|
55
|
+
mCells = mSheet.Cells;
|
56
|
+
mRange = mCells[i, 2] as Microsoft.Office.Interop.Excel.Range;
|
57
|
+
|
58
|
+
//エラー箇所
|
59
|
+
string mVal = mRange.Text.ToString();
|
60
|
+
```
|
61
|
+
|
19
62
|
### 試したこと
|
20
63
|
|
21
|
-
|
64
|
+
キャストの方法は様々試しましたが全てエラーが出てしまいます。
|
22
65
|
|
23
66
|
### 補足情報(FW/ツールのバージョンなど)
|
24
67
|
|
25
|
-
|
68
|
+
Visual Studio2012
|