default.aspx (必要部分) |
<form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <br /><br /> <asp:Button ID="Button2" runat="server" Text="Submit" /> <br /><br /> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageIndex="0" PageSize="30" PagerSettings-PageButtonCount="15"> <PagerSettings PageButtonCount="15" Position="Bottom" /> </asp:GridView> </div> </form> |
default.aspx.vb (必要部分) |
Imports System.Data Imports System.IO Imports System.Web Imports System.Configuration Imports System.Web.UI Imports System.Web.Security Imports System.Web.UI.HtmlControls Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Partial Class _Default Inherits System.Web.UI.Page Shared dt As DataTable Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click Dim reader As System.IO.StreamReader = New System.IO.StreamReader(Me.FileUpload1.PostedFile.InputStream) Dim csv As String = reader.ReadToEnd() dt = ConvertCSVtoDataTable(csv) GridView1.DataSource = dt GridView1.DataBind() End Sub Public Function ConvertCSVtoDataTable(ByVal csvContent As String) As DataTable Dim t As New DataTable Dim sr As New System.IO.StringReader(csvContent) Dim line As String = Nothing Dim i As Integer Dim p As String() line = sr.ReadLine() p = line.Split(",") If i = 0 Then For Each s As String In p t.Columns.Add(s, GetType(String)) Next End If line = sr.ReadLine() i = 0 While line IsNot Nothing And i < 1750 p = line.Split(",") t.Rows.Add(p) line = sr.ReadLine() i += 1 End While Return t End Function End Class |