回答編集履歴
1
追記
test
CHANGED
@@ -1,22 +1,64 @@
|
|
1
|
+
出力したい内容は下記の内容だと思います。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
見出し1,見出し2,見出し3,見出し4
|
8
|
+
|
9
|
+
データ1-1,データ1-2,データ1-3,データ1-4
|
10
|
+
|
11
|
+
データ2-1,データ2-2,データ2-3,データ2-4
|
12
|
+
|
13
|
+
データ3-1,データ3-2,データ3-3,データ3-4
|
14
|
+
|
15
|
+
データ4-1,データ4-2,データ4-3,データ4-4
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
---
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
上記の内容を出力しようとすると、ヘッダ部は最初に1回だけ
|
24
|
+
|
25
|
+
出力すればいいだけです。
|
26
|
+
|
27
|
+
ですので、データ部分の出力のループに入れるのではなく、
|
28
|
+
|
1
29
|
ヘッダ部の出力とデータ部の出力を分けてください。
|
30
|
+
|
31
|
+
|
2
32
|
|
3
33
|
```
|
4
34
|
|
35
|
+
List<String> strList;
|
5
36
|
|
6
37
|
|
38
|
+
|
39
|
+
strList = new List<String>();
|
40
|
+
|
7
41
|
// ヘッダ部の出力
|
42
|
+
|
43
|
+
// Columns.Count カルムと同じ数だけループする
|
8
44
|
|
9
45
|
for (int j = 0; j < DataGrid.Columns.Count; j++)
|
10
46
|
|
11
47
|
{
|
12
48
|
|
13
|
-
//ヘッダを
|
49
|
+
//カラムのヘッダのテキストをリストに追加
|
14
50
|
|
15
51
|
}
|
16
52
|
|
53
|
+
// 配列へ変換
|
54
|
+
|
55
|
+
// CSV 形式に変換(ファイル出力)
|
17
56
|
|
18
57
|
|
58
|
+
|
19
|
-
// データの出力
|
59
|
+
// データ部の出力
|
60
|
+
|
61
|
+
// rowCount 行数文ループ
|
20
62
|
|
21
63
|
for (int i = 0; i < rowCount; i++)
|
22
64
|
|
@@ -24,7 +66,7 @@
|
|
24
66
|
|
25
67
|
// リストの初期化
|
26
68
|
|
27
|
-
|
69
|
+
strList = new List<String>();
|
28
70
|
|
29
71
|
|
30
72
|
|
@@ -34,9 +76,13 @@
|
|
34
76
|
|
35
77
|
{
|
36
78
|
|
37
|
-
//
|
79
|
+
//列と行を追加していく。
|
38
80
|
|
39
81
|
}
|
82
|
+
|
83
|
+
// 配列へ変換
|
84
|
+
|
85
|
+
// CSV 形式に変換(ファイル出力)
|
40
86
|
|
41
87
|
}
|
42
88
|
|
@@ -44,6 +90,10 @@
|
|
44
90
|
|
45
91
|
```
|
46
92
|
|
93
|
+
元ソースのコメントを入れて、分かりやすくしてみました。
|
94
|
+
|
95
|
+
|
96
|
+
|
47
97
|
DataGridViewからCSVへ出力するサンプルは検索すればたくさん出てきますから
|
48
98
|
|
49
99
|
参照されてはどうでしょう?
|