回答編集履歴

1

追記

2020/03/18 07:23

投稿

ttyp03
ttyp03

スコア16998

test CHANGED
@@ -39,3 +39,119 @@
39
39
  excelBook.SaveAs(outputFile)
40
40
 
41
41
  ```
42
+
43
+
44
+
45
+ ---
46
+
47
+ 追記
48
+
49
+ 「配列」という定義が曖昧ですが、1行読んで、配列に展開して、それをExcelに貼り付けるという愚直な処理を書いてみました。
50
+
51
+ ```VBNET
52
+
53
+ '入力ファイル(input.csv)
54
+
55
+ Dim inputFile As String = "C:\Usersプログラミング\input.csv"
56
+
57
+
58
+
59
+ '出力ファイル(output.csv)
60
+
61
+ Dim outputFile As String = "C:\Users\プログラミング\output.xlsx"
62
+
63
+
64
+
65
+ 'output.xlsxを新規作成
66
+
67
+ Dim excelApp As New Excel.Application()
68
+
69
+ Dim excelBooks As Excel.Workbooks = excelApp.Workbooks
70
+
71
+ Dim excelBook As Excel.Workbook = excelBooks.Add()
72
+
73
+ Dim excelSheet As Excel.Worksheet = excelBook.Worksheets(1)
74
+
75
+
76
+
77
+ Dim row As Long
78
+
79
+
80
+
81
+ row = 1
82
+
83
+
84
+
85
+ '出力ファイルをオープンする
86
+
87
+ Using writer As New StreamWriter(outputFile, False, Encoding.Default)
88
+
89
+
90
+
91
+ '入力ファイルをオープンする
92
+
93
+ Using reader As New StreamReader(inputFile, Encoding.Default)
94
+
95
+
96
+
97
+ '読み取り可能文字が存在しない(ファイルの末尾に到着)すると -1が返される
98
+
99
+ While (reader.Peek() > -1)
100
+
101
+
102
+
103
+ '1行ずつ読み込み、出力ファイルに書き込む
104
+
105
+ Dim line As String = reader.ReadLine()
106
+
107
+ Dim cols() = line.Split(",")
108
+
109
+ Dim col As Long
110
+
111
+ For col = 1 To cols.GetLength(0)
112
+
113
+ excelSheet.Cells(row, col) = cols(col - 1)
114
+
115
+ Next
116
+
117
+ row = row + 1
118
+
119
+
120
+
121
+ End While
122
+
123
+
124
+
125
+ 'ファイルを閉じる
126
+
127
+ reader.Close()
128
+
129
+
130
+
131
+ End Using
132
+
133
+
134
+
135
+ 'ファイルを閉じる
136
+
137
+ writer.Close()
138
+
139
+
140
+
141
+ End Using
142
+
143
+
144
+
145
+ 'excelを見えるように表示する
146
+
147
+ ' excelApp.Visible = True
148
+
149
+
150
+
151
+ '名前を付けて保存
152
+
153
+ excelBook.SaveAs(outputFile)
154
+
155
+ excelBook.Close()
156
+
157
+ ```