回答編集履歴
1
別回答にあったNPOI に再計算させてみたところ、セル参照程度であれば問題なくいけました。
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
var book = NPOI.SS.UserModel.WorkbookFactory.Create(file_name);
|
40
40
|
|
41
|
-
// read_sample: Range("C6:G6") = R[5]C[2..5] =
|
41
|
+
// read_sample: Range("C6:G6") = R[5]C[2..5] = sample!B2..6への参照
|
42
42
|
|
43
43
|
var sheet_rs = book.GetSheet("read_sample");
|
44
44
|
|
@@ -84,17 +84,21 @@
|
|
84
84
|
|
85
85
|
// ----
|
86
86
|
|
87
|
-
// https://teratail.com/questions/338753
|
88
|
-
|
89
87
|
// ForceFormulaRecalculationによって、
|
90
88
|
|
91
89
|
// 「次回読み込み時に」「Excelによって」再計算が強制される模様。
|
92
90
|
|
93
91
|
// ----
|
94
92
|
|
95
|
-
sheet.ForceFormulaRecalculation = true;
|
93
|
+
// sheet.ForceFormulaRecalculation = true;
|
96
94
|
|
97
95
|
}
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
// NPOIに再計算させる。
|
100
|
+
|
101
|
+
book.GetCreationHelper().CreateFormulaEvaluator().EvaluateAll();
|
98
102
|
|
99
103
|
|
100
104
|
|
@@ -102,7 +106,7 @@
|
|
102
106
|
|
103
107
|
// 期待: data6..10になって欲しいが、そのままでもよい。
|
104
108
|
|
105
|
-
// 結果: data
|
109
|
+
// 結果: data6..10
|
106
110
|
|
107
111
|
foreach (var c in Enumerable.Range(2, 5))
|
108
112
|
|
@@ -114,7 +118,7 @@
|
|
114
118
|
|
115
119
|
Console.WriteLine(cell.StringCellValue);
|
116
120
|
|
117
|
-
// data
|
121
|
+
// data6 data7 data8 data9 data10
|
118
122
|
|
119
123
|
}
|
120
124
|
|
@@ -132,7 +136,7 @@
|
|
132
136
|
|
133
137
|
// 期待: data6..10になって欲しい。
|
134
138
|
|
135
|
-
// 結果: data
|
139
|
+
// 結果: data6..10
|
136
140
|
|
137
141
|
foreach (var c in Enumerable.Range(2, 5))
|
138
142
|
|
@@ -144,7 +148,7 @@
|
|
144
148
|
|
145
149
|
Console.WriteLine(cell.StringCellValue);
|
146
150
|
|
147
|
-
// data
|
151
|
+
// data6 data7 data8 data9 data10
|
148
152
|
|
149
153
|
}
|
150
154
|
|