質問編集履歴

6

変更しました

2018/09/06 02:05

投稿

rura
rura

スコア70

test CHANGED
File without changes
test CHANGED
@@ -534,4 +534,4 @@
534
534
 
535
535
  ここにより詳細な情報を記載してください。
536
536
 
537
- C# 、ウィンドウズ2010 Excel 2010
537
+ C# 、Windows Excel 2010

5

変更しました

2018/09/06 02:05

投稿

rura
rura

スコア70

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,14 @@
54
54
 
55
55
 
56
56
 
57
+ いつもこのソースで下記内容のエラーが出現します。
58
+
59
+ 解決策をご教授ください
60
+
61
+ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''object' に
62
+
63
+ 'get_Range' の定義がありません'
64
+
57
65
 
58
66
 
59
67
  ```
@@ -62,227 +70,455 @@
62
70
 
63
71
  ```
64
72
 
73
+ using System;
74
+
75
+ using System.Collections.Generic;
76
+
77
+ using System.ComponentModel;
78
+
79
+ using System.Data;
80
+
81
+ using System.Drawing;
82
+
83
+ using System.Linq;
84
+
85
+ using System.Text;
86
+
87
+ using System.Threading.Tasks;
88
+
89
+ using System.Windows.Forms;
90
+
65
- private void button2_Click(object sender, EventArgs e)
91
+ using Excel = Microsoft.Office.Interop.Excel;
92
+
93
+ using System.Runtime.InteropServices;
94
+
95
+
96
+
97
+ namespace WindowsFormsApp1
98
+
99
+ {
100
+
101
+ public partial class Form1 : Form
102
+
103
+ {
104
+
105
+ public Form1()
66
106
 
67
107
  {
68
108
 
109
+ InitializeComponent();
110
+
111
+ }
112
+
113
+
114
+
115
+ private void button1_Click(object sender, EventArgs e)
116
+
117
+ {
118
+
119
+
120
+
69
- //Excel出力
121
+ // EXCEL起動
70
-
122
+
71
- //Excel出力確認
123
+ Excel.Application objExcel = new Excel.Application();
124
+
72
-
125
+ Excel.Workbook objWorkBook = objExcel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
126
+
127
+ Excel.Worksheet objWorkSheet = (Excel.Worksheet)objWorkBook.Sheets[1];
128
+
129
+
130
+
131
+
132
+
133
+
134
+
73
- // ンを選択したかを判断する
135
+ // DataGridViewセルのデー取得
74
-
136
+
75
- //本当に検索するのかをユーザー確認する
137
+ String[,] v = new String[
76
-
138
+
77
- DialogResult dr = MessageBox.Show("本当にこの内容でExcel出力を行ってもよろしいですか?\n\n", "Excel出力確認", MessageBoxButtons.YesNo);
139
+ dataGridView1.Rows.Count, dataGridView1.Columns.Count];
78
-
79
-
80
-
81
-
82
-
140
+
83
- if (dr == System.Windows.Forms.DialogResult.Yes)
141
+ for (int r = 0; r <= dataGridView1.Rows.Count - 1; r++)
84
142
 
85
143
  {
86
144
 
87
- MessageBox.Show("Yesを押しました。\n該当するデータをExcelに出力します。", "お知らせ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
88
-
89
-
90
-
91
-
92
-
93
- ////出力日の現在日時を取得
94
-
95
- DateTime now = DateTime.Now;
96
-
97
- String timestanpText = (now.ToString("yyyyMMdd_HHmmss"));
98
-
99
-
100
-
101
-
102
-
103
- //SaveFileDialogクラスのインスタンスを作成
104
-
105
- SaveFileDialog sfd = new SaveFileDialog();
106
-
107
-          
108
-
109
-        
110
-
111
- //はじめのファイル名を指定する
112
-
113
- //はじめに「ファイル名」で表示される文字列を指定する
114
-
115
- if (comboBox1.Text == "ミカン")
145
+ for (int c = 0; c <= dataGridView1.Columns.Count - 1; c++)
146
+
147
+ {
148
+
149
+ String dt = "";
150
+
151
+ if (dataGridView1.Rows[r].Cells[c].Value != null)
152
+
153
+ {
154
+
155
+ dt = dataGridView1.Rows[r].Cells[c].Value.
156
+
157
+ ToString();
158
+
159
+ }
160
+
161
+ v[r, c] = dt;
162
+
163
+ }
164
+
165
+ }
166
+
167
+
168
+
169
+ // EXCELにデータ転送
170
+
171
+
172
+
173
+ objWorkSheet.get_Range(
174
+
175
+ objWorkSheet.Cells[1, 1], objWorkSheet.Cells[
176
+
177
+ dataGridView1.Rows.Count, dataGridView1.Columns.Count]).Value2 = v;
178
+
179
+
180
+
181
+ // エクセル表示
182
+
183
+ objExcel.Visible = true;
184
+
185
+
186
+
187
+ // EXCEL解放
188
+
189
+ Marshal.ReleaseComObject(objWorkBook);
190
+
191
+ Marshal.ReleaseComObject(objExcel);
192
+
193
+ Marshal.ReleaseComObject(objWorkSheet);
194
+
195
+ objWorkSheet = null;
196
+
197
+ objWorkBook = null;
198
+
199
+ objExcel = null;
200
+
201
+
202
+
203
+ // //メッセージボックスを表示する
204
+
205
+ // DialogResult result = MessageBox.Show("データをExcelに出力しますか?",
206
+
207
+ // "質問",
208
+
209
+ // MessageBoxButtons.OKCancel,
210
+
211
+ // MessageBoxIcon.Exclamation);
212
+
213
+
214
+
215
+
216
+
217
+ // //何が選択されたか調べる
218
+
219
+ // if (result == DialogResult.Yes)
220
+
221
+ // {
222
+
223
+
224
+
225
+ // }
226
+
227
+ // else if (result == DialogResult.No)
228
+
229
+ // {
230
+
231
+ // //「いいえ」が選択された時
232
+
233
+ // MessageBox.Show("「いいえ」が選択されました\nシステムを終了します。");
234
+
235
+ // return;
236
+
237
+
238
+
239
+ // }
240
+
241
+
242
+
243
+
244
+
245
+ }
246
+
247
+
248
+
249
+ private void button2_Click(object sender, EventArgs e)
250
+
251
+ {
252
+
253
+
254
+
255
+ //OpenFileDialogクラスのインスタンスを作成
256
+
257
+ OpenFileDialog ofd = new OpenFileDialog();
258
+
259
+
260
+
261
+
262
+
263
+ //はじめに表示されるフォルダを指定する
264
+
265
+ //指定しない(空の文字列)の時は、現在のディレクトリが表示される
266
+
267
+ ofd.InitialDirectory = @"C:\";
268
+
269
+ //[ファイルの種類]に表示される選択肢を指定する
270
+
271
+ //指定しないとすべてのファイルが表示される
272
+
273
+ ofd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル (*.*)|*.*";
274
+
275
+ //[ファイルの種類]ではじめに選択されるものを指定する
276
+
277
+ //2番目の「すべてのファイル」が選択されているようにする
278
+
279
+ ofd.FilterIndex = 2;
280
+
281
+ //タイトルを設定する
282
+
283
+ ofd.Title = "開くファイルを選択してください";
284
+
285
+ //ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
286
+
287
+ ofd.RestoreDirectory = true;
288
+
289
+ //存在しないファイルの名前が指定されたとき警告を表示する
290
+
291
+ //デフォルトでTrueなので指定する必要はない
292
+
293
+ ofd.CheckFileExists = true;
294
+
295
+ //存在しないパスが指定されたとき警告を表示する
296
+
297
+ //デフォルトでTrueなので指定する必要はない
298
+
299
+ ofd.CheckPathExists = true;
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+ ////メッセージボックスを表示する
308
+
309
+ DialogResult result = MessageBox.Show("グリッドビューにExcelデータを読み込みしますか?",
310
+
311
+ "質問",
312
+
313
+ MessageBoxButtons.YesNo,
314
+
315
+ MessageBoxIcon.Question);
316
+
317
+
318
+
319
+ //
320
+
321
+ //何が選択されたか調べる
322
+
323
+ if (result == DialogResult.Yes)
324
+
325
+ {
116
326
 
117
327
 
118
328
 
329
+ //ダイアログを表示する
330
+
331
+ if (ofd.ShowDialog() == DialogResult.OK)
332
+
333
+ {
334
+
335
+ int MaxColumns = dataGridView1.Columns.Count - 1;
336
+
337
+ int MaxRows = dataGridView1.Rows.Count - 1;
338
+
339
+
340
+
341
+ //OKボタンがクリックされたとき、選択されたファイル名を表示する
342
+
343
+ MessageBox.Show("「はい」が選択されました" +
344
+
345
+ " \n選択したファイル名" + ofd.FileName +
346
+
347
+ " \n出力範囲 (縦 / 横) " + MaxColumns +" / "+ MaxRows,
348
+
349
+       "ファイル情報",
350
+
351
+ MessageBoxButtons.OK,
352
+
353
+ MessageBoxIcon.Exclamation);
354
+
355
+
356
+
357
+
358
+
359
+ //Excelを読み取りをOKした場合のイベント
360
+
361
+ //Excelデータのパス
362
+
363
+ string fileName = ofd.FileName;
364
+
365
+
366
+
367
+
368
+
369
+ // EXCEL起動&表示
370
+
371
+ Excel.Application objExcel = new Excel.Application();
372
+
373
+
374
+
375
+ //Excelファイルの中身を開いて確認
376
+
377
+ Excel.Workbook objWorkBook = objExcel.Workbooks.Open(fileName, // オープンするExcelファイル名
378
+
379
+ Type.Missing, // (省略可能)UpdateLinks (0 / 1 / 2 / 3)
380
+
381
+ Type.Missing, // (省略可能)ReadOnly (True / False )
382
+
383
+ Type.Missing, // (省略可能)Format
384
+
385
+ // 1:タブ / 2:カンマ (,) / 3:スペース / 4:セミコロン (;)
386
+
387
+ // 5:なし / 6:引数 Delimiterで指定された文字
388
+
389
+ Type.Missing, // (省略可能)Password
390
+
391
+ Type.Missing, // (省略可能)WriteResPassword
392
+
393
+ Type.Missing, // (省略可能)IgnoreReadOnlyRecommended
394
+
395
+ Type.Missing, // (省略可能)Origin
396
+
397
+ Type.Missing, // (省略可能)Delimiter
398
+
399
+ Type.Missing, // (省略可能)Editable
400
+
401
+ Type.Missing, // (省略可能)Notify
402
+
403
+ Type.Missing, // (省略可能)Converter
404
+
405
+ Type.Missing, // (省略可能)AddToMru
406
+
407
+ Type.Missing, // (省略可能)Local
408
+
409
+ Type.Missing // (省略可能)CorruptLoad
410
+
411
+ );
412
+
413
+
414
+
415
+ Excel.Worksheet objWorkSheet = (Excel.Worksheet)objWorkBook.Sheets[1];
416
+
417
+
418
+
419
+
420
+
119
- //DGVMikan.DataSource = table;
421
+ // EXCELの各セルの値をDataGridViewに表示
422
+
120
-
423
+ Object v;
424
+
425
+ int r = 0;
426
+
427
+ dataGridView1.Rows.Clear();
428
+
429
+ do
430
+
431
+ {
432
+
433
+ dataGridView1.Rows.Add();
434
+
435
+ Boolean blnNew = false;
436
+
437
+ for (int c = 0; c <= dataGridView1.Columns.Count - 1; c++)
438
+
439
+ {
440
+
121
- sfd.FileName = timestanpText + "ミカン.xlsx";
441
+ v = ((Excel.Range)objWorkSheet.Cells[r + 1, c + 1]).Value2;
442
+
443
+
444
+
122
-
445
+ if (v != null)
446
+
123
-
447
+ {
448
+
449
+ blnNew = true;
450
+
451
+ dataGridView1.Rows[r].Cells[c].Value = v.ToString();
452
+
453
+ }
454
+
455
+ }
456
+
457
+ if (blnNew == false)
458
+
459
+ {
460
+
461
+ dataGridView1.Rows.RemoveAt(r);
462
+
463
+ break;
464
+
465
+ }
466
+
467
+ r += 1;
468
+
469
+ } while (true);
470
+
471
+
472
+
473
+ // EXCEL解放
474
+
475
+ objWorkBook.Saved = true;
476
+
477
+ objWorkBook.Close(false, Type.Missing, Type.Missing);
478
+
479
+ objExcel.Quit();
480
+
481
+ Marshal.ReleaseComObject(objWorkSheet);
482
+
483
+ Marshal.ReleaseComObject(objWorkBook);
484
+
485
+ Marshal.ReleaseComObject(objExcel);
486
+
487
+ objWorkSheet = null;
488
+
489
+ objWorkBook = null;
490
+
491
+ objExcel = null;
124
492
 
125
493
  }
126
494
 
127
-
128
-
129
-   
130
-
131
-
132
-
133
-
134
-
135
- //はじめに表示されるフォルダを指定する
136
-
137
- sfd.InitialDirectory = @"C:\";
138
-
139
- //[ファイルの種類]に表示される選択肢を指定する
140
-
141
- //指定しない(空の文字列)の時は、現在のディレクトリが表示される
142
-
143
- sfd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*";
144
-
145
- //[ファイルの種類]ではじめに選択されるものを指定する
146
-
147
- //2番目の「すべてのファイル」が選択されているようにする
148
-
149
- sfd.FilterIndex = 2;
495
+ }
150
-
151
- //タイトルを設定する
496
+
152
-
153
- sfd.Title = "保存先のファイルを選択してください";
154
-
155
- //ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
156
-
157
- sfd.RestoreDirectory = true;
158
-
159
- //既に存在するファイル名を指定したとき警告する
160
-
161
- //デフォルトでTrueなので指定する必要はない
162
-
163
- sfd.OverwritePrompt = true;
164
-
165
- //存在しないパスが指定されたとき警告を表示する
166
-
167
- //デフォルトでTrueなので指定する必要はない
168
-
169
- sfd.CheckPathExists = true;
170
-
171
-
172
-
173
- //ダイアログを表示する
174
-
175
- if (sfd.ShowDialog() == DialogResult.OK)
497
+ else if (result == DialogResult.No)
176
-
177
- {
178
-
179
- //OKボタンがクリックされたとき、選択されたファイル名を表示する
180
-
181
- Console.WriteLine(sfd.FileName);
182
-
183
-  
184
-
185
-             // EXCEL起動      
186
-
187
-           Excel.Application objExcel = new Excel.Application();
188
-
189
-           Excel.Workbook objWorkBook = objExcel.Workbooks.Add(
190
-
191
-                       Excel.XlWBATemplate.xlWBATWorksheet);
192
-
193
-             Excel.Worksheet objWorkSheet = null;
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-            // DataGridViewのセルのデータ取得
202
-
203
-           String[,] v = new String[DGVMikan.Rows.Count,  DGVMikan.Columns.Count];
204
-
205
- for (int r = 0; r <= DGVMikan.Rows.Count - 1; r++)
206
-
207
- {
208
-
209
- for (int c = 0; c <= DGVMikan.Columns.Count - 1; c++)
210
-
211
- {
212
-
213
- String dt = "";
214
-
215
- if (DGVMikan.Rows[r].Cells[c].Value != null)
216
498
 
217
499
  {
218
500
 
501
+ //「いいえ」が選択された時
502
+
219
- dt = DGVMikan.Rows[r].Cells[c].Value.
503
+ MessageBox.Show("「いいえ」が選択されました");
220
-
221
- ToString();
222
504
 
223
505
  }
224
506
 
225
- v[r, c] = dt;
507
+
508
+
509
+
510
+
511
+
512
+
513
+
226
514
 
227
515
  }
228
516
 
229
517
  }
230
518
 
231
-
232
-
233
- // EXCELにデータ転送
234
-
235
- objWorkSheet = (Excel.Worksheet)objWorkBook.Sheets[1];
236
-
237
- objWorkSheet.get_Range(
238
-
239
- objWorkSheet.Cells[1, 1],objWorkSheet.Cells[
240
-
241
- DGVMikan.Rows.Count,DGVMikan.Columns.Count]).Value2 = v;
242
-
243
-
244
-
245
- // エクセル表示
246
-
247
- objExcel.Visible = true;
248
-
249
-
250
-
251
- // EXCEL解放
252
-
253
- Marshal.ReleaseComObject(objWorkBook);
254
-
255
- Marshal.ReleaseComObject(objExcel);
256
-
257
- Marshal.ReleaseComObject(objWorkSheet);
258
-
259
- objWorkSheet = null;
260
-
261
- objWorkBook = null;
262
-
263
- objExcel = null;
264
-
265
-
266
-
267
-  }
519
+ }
268
-
269
-
270
-
271
-
272
-
273
-
274
-
275
-
276
-
277
-
278
-
279
-
280
-
281
-
282
-
283
- }
520
+
284
-
285
- }
521
+
286
522
 
287
523
 
288
524
 

4

タイトルと内容を変更しました

2018/09/02 08:32

投稿

rura
rura

スコア70

test CHANGED
@@ -1 +1 @@
1
- C#のコンボボックスからSQLサバーから作ったデータをExcelファイルに出力したい
1
+ C#のコンボボックスからグリッドビュデータをExcelファイルに出力したい
test CHANGED
@@ -40,6 +40,10 @@
40
40
 
41
41
  問題の箇所
42
42
 
43
+
44
+
45
+ エクセルにgridviewのデータが正しく保存されない
46
+
43
47
  ```
44
48
 
45
49
  objWorkSheet.get_Range(

3

内容を変更しました

2018/08/31 06:22

投稿

rura
rura

スコア70

test CHANGED
File without changes
test CHANGED
@@ -16,9 +16,21 @@
16
16
 
17
17
  ■■な機能を実装中に以下のエラーメッセージが発生しました。
18
18
 
19
+
20
+
21
+ C#の初心者です。
22
+
19
- https://drive.google.com/open?id=133lTHoiYz4z67BYKCC3JT6Ez4Q-Igh4D
23
+ グリッドビューに登録した大量のデータをExcel出力ボタンで
24
+
20
-
25
+ 自分の好きなフォルダーに保存しようとしています。
26
+
21
-
27
+ 下記サイトなどを参考にやってますが、
28
+
29
+ どうしても、下記の部分をコピー使用するとエラーが発生してしまいます。
30
+
31
+ どのように直せばよいでしょうか?
32
+
33
+ よろしくお願いします。
22
34
 
23
35
 
24
36
 
@@ -26,61 +38,253 @@
26
38
 
27
39
  ### 発生している問題・エラーメッセージ
28
40
 
29
-
30
-
31
- ```
32
-
33
- SQLサーバーで食品データテーブルを作成し、
34
-
35
- 下記テーブルを一つの画面の
36
-
37
- コンボボックスから飲み物、麺類、調味料として登録しました
38
-
39
-
40
-
41
- 私がわからないことは下記のとおりです。
42
-
43
- 大量の商品をgridviewに登録しました。
44
-
45
- datagridviewに登録したこタを直接Excelファイルに登録する方法と
46
-
47
- いったんCSVファイルに保存してから、Excelファイルに変換保存する方法
48
-
49
-
50
-
51
- データAは飲み物
52
-
53
- 商品番号 D1
54
-
55
- 商品名はコーラ
56
-
57
- 価格は120円
58
-
59
-
60
-
61
- データBは麺類
62
-
63
- 商品番号はN1
64
-
65
- 商品名はラーメン
66
-
67
- 味は塩
68
-
69
- 価格は500円
70
-
71
-
72
-
73
- データCは調味料
74
-
75
- 商品名は醤油
76
-
77
- 価格は1本200円
78
-
79
- 賞味期限は2018/12/31/日
80
-
81
- ```
82
-
83
-
41
+ 問題の箇所
42
+
43
+ ```
44
+
45
+ objWorkSheet.get_Range(
46
+
47
+ objWorkSheet.Cells[1, 1],objWorkSheet.Cells[
48
+
49
+ this.Rows.Count,this.Columns.Count]).Value2 = v;
50
+
51
+
52
+
53
+
54
+
55
+ ```
56
+
57
+ 自分スコード
58
+
59
+ ```
60
+
61
+ private void button2_Click(object sender, EventArgs e)
62
+
63
+ {
64
+
65
+ //Excel出力
66
+
67
+ //Excel出力確認
68
+
69
+ // どのボタンを選択したかを判断する
70
+
71
+ //本当に検索するのかをユーザー確認する
72
+
73
+ DialogResult dr = MessageBox.Show("本当にこの内容でExcel出力を行ってもよろしいですか?\n\n", "Excel出力確認", MessageBoxButtons.YesNo);
74
+
75
+
76
+
77
+
78
+
79
+ if (dr == System.Windows.Forms.DialogResult.Yes)
80
+
81
+ {
82
+
83
+ MessageBox.Show("Yesを押しました。\n該当するデータをExcelに出力します。", "お知らせ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
84
+
85
+
86
+
87
+
88
+
89
+ ////出力日の現在日時を取得
90
+
91
+ DateTime now = DateTime.Now;
92
+
93
+ String timestanpText = (now.ToString("yyyyMMdd_HHmmss"));
94
+
95
+
96
+
97
+
98
+
99
+ //SaveFileDialogクラスのインスタンスを作成
100
+
101
+ SaveFileDialog sfd = new SaveFileDialog();
102
+
103
+          
104
+
105
+        
106
+
107
+ //はじめのファイル名を指定する
108
+
109
+ //はじめに「ファイル名」で表示される文字列を指定する
110
+
111
+ if (comboBox1.Text == "ミカン")
112
+
113
+
114
+
115
+ //DGVMikan.DataSource = table;
116
+
117
+ sfd.FileName = timestanpText + "ミカン.xlsx";
118
+
119
+
120
+
121
+ }
122
+
123
+
124
+
125
+   
126
+
127
+
128
+
129
+
130
+
131
+ //はじめに表示されるフォルダを指定する
132
+
133
+ sfd.InitialDirectory = @"C:\";
134
+
135
+ //[ファイルの種類]に表示される選択肢を指定する
136
+
137
+ //指定しない(空の文字列)の時は、現在のディレクトリが表示される
138
+
139
+ sfd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*";
140
+
141
+ //[ファイルの種類]ではじめに選択されるものを指定する
142
+
143
+ //2番目の「すべてのファイル」が選択されているようにする
144
+
145
+ sfd.FilterIndex = 2;
146
+
147
+ //タイトルを設定する
148
+
149
+ sfd.Title = "保存先のファイルを選択してください";
150
+
151
+ //ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
152
+
153
+ sfd.RestoreDirectory = true;
154
+
155
+ //既に存在するファイル名を指定したとき警告する
156
+
157
+ //デフォルトでTrueなので指定する必要はない
158
+
159
+ sfd.OverwritePrompt = true;
160
+
161
+ //存在しないパスが指定されたとき警告を表示する
162
+
163
+ //デフォルトでTrueなので指定する必要はない
164
+
165
+ sfd.CheckPathExists = true;
166
+
167
+
168
+
169
+ //ダイアログを表示する
170
+
171
+ if (sfd.ShowDialog() == DialogResult.OK)
172
+
173
+ {
174
+
175
+ //OKボタンがクリックされたとき、選択されたファイル名を表示する
176
+
177
+ Console.WriteLine(sfd.FileName);
178
+
179
+  
180
+
181
+             // EXCEL起動      
182
+
183
+           Excel.Application objExcel = new Excel.Application();
184
+
185
+           Excel.Workbook objWorkBook = objExcel.Workbooks.Add(
186
+
187
+                       Excel.XlWBATemplate.xlWBATWorksheet);
188
+
189
+             Excel.Worksheet objWorkSheet = null;
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+            // DataGridViewのセルのデータ取得
198
+
199
+           String[,] v = new String[DGVMikan.Rows.Count,  DGVMikan.Columns.Count];
200
+
201
+ for (int r = 0; r <= DGVMikan.Rows.Count - 1; r++)
202
+
203
+ {
204
+
205
+ for (int c = 0; c <= DGVMikan.Columns.Count - 1; c++)
206
+
207
+ {
208
+
209
+ String dt = "";
210
+
211
+ if (DGVMikan.Rows[r].Cells[c].Value != null)
212
+
213
+ {
214
+
215
+ dt = DGVMikan.Rows[r].Cells[c].Value.
216
+
217
+ ToString();
218
+
219
+ }
220
+
221
+ v[r, c] = dt;
222
+
223
+ }
224
+
225
+ }
226
+
227
+
228
+
229
+ // EXCELにデータ転送
230
+
231
+ objWorkSheet = (Excel.Worksheet)objWorkBook.Sheets[1];
232
+
233
+ objWorkSheet.get_Range(
234
+
235
+ objWorkSheet.Cells[1, 1],objWorkSheet.Cells[
236
+
237
+ DGVMikan.Rows.Count,DGVMikan.Columns.Count]).Value2 = v;
238
+
239
+
240
+
241
+ // エクセル表示
242
+
243
+ objExcel.Visible = true;
244
+
245
+
246
+
247
+ // EXCEL解放
248
+
249
+ Marshal.ReleaseComObject(objWorkBook);
250
+
251
+ Marshal.ReleaseComObject(objExcel);
252
+
253
+ Marshal.ReleaseComObject(objWorkSheet);
254
+
255
+ objWorkSheet = null;
256
+
257
+ objWorkBook = null;
258
+
259
+ objExcel = null;
260
+
261
+
262
+
263
+  }
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+ }
280
+
281
+ }
282
+
283
+
284
+
285
+
286
+
287
+ ```
84
288
 
85
289
 
86
290
 
@@ -90,4 +294,4 @@
90
294
 
91
295
  ここにより詳細な情報を記載してください。
92
296
 
93
- C# 、ウィンドウズ2010 SQLサーバ
297
+ C# 、ウィンドウズ2010 Excel 2010

2

質問内容を変換しました

2018/08/25 14:09

投稿

rura
rura

スコア70

test CHANGED
@@ -1 +1 @@
1
- C#のコンボボックスからSQLサーバーから作ったデータを検索やExcelファイルに取込やデータ結果を取得できるようにしたい
1
+ C#のコンボボックスからSQLサーバーから作ったデータをExcelファイルに出力したい
test CHANGED
@@ -40,15 +40,11 @@
40
40
 
41
41
  私がわからないことは下記のとおりです。
42
42
 
43
- わかる方がいましたら、よろしくおねがいします
43
+ 大量の商品をgridviewに登録しました。
44
44
 
45
- 1、コンボボックスで飲み物を選択すると1つ画面でデータグリッドビューSQLサーバーのデータ内容が切り替わ
45
+ datagridviewに登録したこのデータを直接Excelファイル登録す方法
46
46
 
47
-  例:コンボボックスで飲み物を選ぶと飲み物のデータがデータグリッドビュー表示され
47
+ いったんCSVファイル保存してから、Excelファイルに変換保存す方法
48
-
49
- 〇C#でSQLサーバーの出力方法もいまいちわかりません
50
-
51
- 〇ご理解できる方がいましたら、お願いします。
52
48
 
53
49
 
54
50
 

1

質問を絞り、使う画面のレイアウトをExcelからDLできるようにしました

2018/08/09 23:44

投稿

rura
rura

スコア70

test CHANGED
File without changes
test CHANGED
@@ -16,39 +16,11 @@
16
16
 
17
17
  ■■な機能を実装中に以下のエラーメッセージが発生しました。
18
18
 
19
+ https://drive.google.com/open?id=133lTHoiYz4z67BYKCC3JT6Ez4Q-Igh4D
19
20
 
20
21
 
21
- ###参考画像
22
22
 
23
- -----------------------------------------------------
24
23
 
25
- | |
26
-
27
- |    (ラベル)食品の画面切り分け          |         
28
-
29
- |                            |
30
-
31
- |      -----------------------          |
32
-
33
- | 食品選択|飲み物       △ |         |
34
-
35
- |      ------------------------ |        
36
-
37
- | |
38
-
39
- | ---------------------------------------- |
40
-
41
- | | (datagridView ) ここが切り替わる | |
42
-
43
- | ---------------------------------------- |
44
-
45
- |  |
46
-
47
- | |
48
-
49
- | |
50
-
51
- -----------------------------------------------------
52
24
 
53
25
 
54
26
 
@@ -72,13 +44,7 @@
72
44
 
73
45
  1、コンボボックスで飲み物を選択すると1つの画面でデータグリッドビューにSQLサーバーのデータ内容が切り替わること
74
46
 
75
- 2、1で切り替えた画面から検索ボタンで検索できること
76
-
77
- 3、2で検索して表示されたデータグリッドビューの結果がExcel出力ボタンでファイルを選んでExcelファイル出力できること
78
-
79
- 4、3出力したデータをExcel取り込みボタンで結果がデータグリッドビューに出力されること
47
+  例:コンボボックス飲み物を選ぶと飲み物のデータがデータグリッドビューに表示される
80
-
81
-
82
48
 
83
49
  〇C#でSQLサーバーの出力方法もいまいちわかりません
84
50