A quick and dirty way to read directly from an offline CSV, without having to code a plugin, could be something simiular to this inline function:
(not tested, might require some fixing, but you get the basic idea...)
Public Class VAInline
Dim table As DataTable
Public Sub Main()
If VA.SessionState.ContainsKey("MyDataTable") Then
'File has already been read in a previous call, we get the DataTable from the state object
table = VA.SessionState("MyDataTable")
Else
'Read data from the CSV if the table is not already stored in memory
createDataTable()
End If
'Access the data you need from the DataTable object
'[...]
End Sub
Private Sub createDataTable()
table = New DataTable
Dim row As DataRow
Dim totalLines = IO.File.ReadLines("F:\Temp\test.csv")
Dim header = totalLines.First().Split(","c)
For i As Integer = 0 To header.Length - 1
table.Columns.Add(header(i))
Next
Dim dataCount As Integer = 1
Dim data As String()
Do While dataCount < totalLines.Count
data = totalLines.Skip(dataCount).First().Split(","c)
row = table.NewRow()
For i As Integer = 0 To header.Length - 1
row.Item(header(i)) = data(i)
Next
table.Rows.Add(row)
dataCount += 1
Loop
VA.SessionState.Add("MyDataTable", table)
End Sub
End Class