Bonsoir à tous,
J'essai désepèrement de charger un csv dans un GridView (site web) en C#.
J'ai réussi sans problème, dans une application windows form, à le faire.
Voici le code windows form (qui fonctionne bien donc):
et celui dans le site web :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Data.OleDb; namespace AfficheCsv { public partial class Form1 : Form { private DataSet GetCVSFile(string pathfilename) { string path = Path.GetDirectoryName(pathfilename); string filename = Path.GetFileName(pathfilename); OleDbConnection ExcelConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"text;HDR=Yes;FMT=Delimited\""); OleDbCommand ExcelCommand = new OleDbCommand(@"SELECT * FROM " + filename, ExcelConnection); OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter(ExcelCommand); ExcelConnection.Open(); DataSet ExcelDataSet = new DataSet(); ExcelAdapter.Fill(ExcelDataSet, filename); ExcelConnection.Close(); return ExcelDataSet; } public Form1() { InitializeComponent(); string pathfilename = @"D:\Mes Documents\Visual Studio 2005\WebSites\csv\restaurants.csv"; DataSet ds = GetCVSFile(pathfilename); dataGridView1.AutoGenerateColumns = true; dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dataGridView1.DataSource = ds.Tables[0]; } } }
dans ce cas tout s'exécute bien mais le GridView reste désepérement vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 using System; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; public partial class liste_restaurants : System.Web.UI.Page { // Convert CSV file to dataset private DataSet GetCVSFile(string pathfilename) { string path = Path.GetDirectoryName(pathfilename); string filename = Path.GetFileName(pathfilename); OleDbConnection ExcelConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"text;HDR=Yes;FMT=Delimited\""); OleDbCommand ExcelCommand = new OleDbCommand(@"SELECT * FROM " + filename, ExcelConnection); OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter(ExcelCommand); ExcelConnection.Open(); DataSet ExcelDataSet = new DataSet(); ExcelAdapter.Fill(ExcelDataSet, filename); ExcelConnection.Close(); return ExcelDataSet; } protected void Page_Load(object sender, EventArgs e) { string pathfilename = Request.ServerVariables["APPL_PHYSICAL_PATH"] + @"\csv\restaurants.csv"; DataSet ds = GetCVSFile(pathfilename); GridView1.AutoGenerateColumns = true; GridView1.DataSource = ds.Tables[0]; } }
Partager