Import CSV File
15:58Introduction
In this article I show how to import a csv file and view in a gridview.Create Simple Application
Go to Visual Studio > File > New > Project > Web > Asp.Net Empty Web ApplicationThe solution name is AspNETImportCsvFile the Ok
Now right click on the References click Add Reference... like below image:
In the Framework section, check Microsoft.VisualBasic and click Ok
Now create a new page name Test.aspx
Test.aspx code is below:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="AspNETImportCsvFile.Test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<style>
table {
/*border: 1px solid blue;*/
padding: 1px;
overflow:scroll;
}
table tbody tr th {
font-size: 18px;
background-color: brown;
color: #fff;
padding: 2px;
text-align: center;
}
table tbody tr td { font-size:14px; color:#000; padding:2px; text-align:center; border: 1px solid #808080; }
.head{background-color:#9f4b4b;color:#fff;font-size:50px;padding:5px;}
body{font-family:Verdana;}
</style>
</head>
<body>
<form id="form1" runat="server" style="background-color:eeeeef;">
<div style="margin-left: 35%; margin-top: 10%;">
<table>
<tr>
<td class="head">
Import CSV File
</td>
</tr>
<tr>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
</td>
</tr>
<tr>
<td align="center">
<asp:GridView ID="gvDetails" runat="server" BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" Width="506px" Height="183px">
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<RowStyle BackColor="White" ForeColor="#003399" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<SortedAscendingCellStyle BackColor="#EDF6F6" />
<SortedAscendingHeaderStyle BackColor="#0D4AC4" />
<SortedDescendingCellStyle BackColor="#D6DFDF" />
<SortedDescendingHeaderStyle BackColor="#002876" />
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Test.aspx.cs code:
Add namespace Microsoft.VisualBasic.FileIO
using Microsoft.VisualBasic.FileIO;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AspNETImportCsvFile
{
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string filename = FileUpload1.FileName.ToString();
string path = Server.MapPath("~/Document/" + filename);
FileUpload1.PostedFile.SaveAs(path);
FetchData(path);
}
}
protected void FetchData(string filepath)
{
DataTable dt = new DataTable();
bool IsFirstRowHeader = true;
string[] columnf = new string[] { "" };
using (TextFieldParser parser = new TextFieldParser(filepath))
{
parser.TrimWhiteSpace = true;
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
if (IsFirstRowHeader)
{
columnf = parser.ReadFields();
foreach (string sds in columnf)
{
DataColumn year = new DataColumn(sds.Trim().ToLower(), Type.GetType("System.String"));
dt.Columns.Add(year);
}
}
while (true)
{
if (IsFirstRowHeader == false)
{
string[] parts = parser.ReadFields();
if (parts == null)
{
break;
}
dt.Rows.Add(parts);
}
IsFirstRowHeader = false;
}
}
gvDetails.DataSource = dt;
gvDetails.DataBind();
}
}
}
Run the application and we can see the below screen:
Now choose csv file under the project Document folder Book.csv and click Submit
All the data will show in the grid view, we can see the screen below:





0 comments