آپلود، خواندن و نمایش داده های فایل CSV در ASP.Net
چهارشنبه 20 اردیبهشت 1396در این مقاله قصد داریم که مباحث اپلود ، خواندن و نمایش داده های فایل CSV در Asp.net با استفاده از GrigView را مورد بررسی و بحث قرار بدهیم.
فایل SCV فایلی متنیست که مقادیر در آن با کاما از یکدیگر جدا شده اند.داده های فایل SCV خوانده خواهد شد و سپس مقادیر که با کاما از یکدیگر جدا شده اند در جدول داده که قصد داریم آن را با استفاده از populate در کنترل GridView در Asp.netMvc ایجاد کنیم قرار خواهند گرفت.
HTML Markup
کدهای Html باید مانند زیر شامل کنترل FileUpload و یک دکمه و یک GridView است.
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnImport" runat="server" Text="Import" OnClick="ImportCSV" /> <hr /> <asp:GridView ID="GridView1" runat="server"> </asp:GridView>
فضای نام ها
شما باید فضا نام های زیر را به پروژه اضافه کنید.
using System.IO; using System.Data;
آپلود کردن و خواندن و نمایش داده های فایل CSV در GridView
زمانیکه دکمه قرار داده شده برای اولین بار کلیک میشود ، فایل CSV ابتدا آپلود و سپس در فایلی با نام Folders ذخیره میشود.داده های فایل CSV در یک متغییر با استفاده از کلاس فایل ReadAllText method خوانده میشود.
Data Table با استفاده از همان روش ستون های جدول مقصد ساخته شده است و سپس داده های فایل CSV که با استفاده از (\n) و (,) از یکدیگر جدا شده اند با استفاده از یک حلقه در جدول جدید ذخیره میشوند.در نهایت Data Table با استفاده از کنترل GridView محدود شده است.
#C
protected void ImportCSV(object sender, EventArgs e) { //Upload and save the file string csvPath = Server.MapPath("~/Files/") + Path.GetFileName(FileUpload1.PostedFile.FileName); FileUpload1.SaveAs(csvPath); //Create a DataTable. DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("Country",typeof(string)) }); //Read the contents of CSV file. string csvData = File.ReadAllText(csvPath); //Execute a loop over the rows. foreach (string row in csvData.Split('\n')) { if (!string.IsNullOrEmpty(row)) { dt.Rows.Add(); int i = 0; //Execute a loop over the columns. foreach (string cell in row.Split(',')) { dt.Rows[dt.Rows.Count - 1][i] = cell; i++; } } } //Bind the DataTable. GridView1.DataSource = dt; GridView1.DataBind(); }
تصاویر
فایل CSV
نمایش GridView داده های فایل CSV
- ASP.net
- 2k بازدید
- 2 تشکر