"https://f.irbank.net/files/1944/qq-net-sales.csv"
上記のUrlにアクセスすると、csvファイルがダウンロードされます。
このファイルを捕まえて、行単位でループさせたいです。
次のコードでいけるかな?って思ったのですが、指定されたパスのフォーマットはサポートされていませんとでてしまいます。
一旦Excelファイルに取り込んで、処理しているのですが、直接csvファイルを扱う方法を教えて頂けないでしょうか?
Dim MyWorkBook As Excel.Workbook = Globals.ThisWorkbook.Application.Workbooks.Open("https://f.irbank.net/files/1944/qq-net-sales.csv")
宜しくお願い致します。
Dim sr As StreamReader = New StreamReader("https://f.irbank.net/files/1944/qq-net-sales.csv")
While Not sr.EndOfStream
Dim line As String = sr.ReadLine()
Dim values As String() = line.Split(","c)
Dim lists As List(Of String) = New List(Of String)()
lists.AddRange(values)
For Each list As String In lists
System.Console.Write("{0} ", list)
Next
System.Console.WriteLine()
End While
Dim wc As New System.Net.WebClient() Dim rawData As String = wc.DownloadString("https://f.irbank.net/files/1944/qq-net-sales.csv") Dim csv()() As String = rawData.Split(ControlChars.Lf).Select(Function(line) line.Split(","c)).ToArray()
(案2) My.Computer.Network.DownloadFile を使う
Dim tmp = My.Computer.FileSystem.GetTempFileName() My.Computer.FileSystem.DeleteFile(tmp) My.Computer.Network.DownloadFile("https://f.irbank.net/files/1944/qq-net-sales.csv", tmp) Dim csv()() As String = File.ReadLines(tmp).Select(Function(line) line.Split(","c)).ToArray() My.Computer.FileSystem.DeleteFile(tmp)