Problème pour lire un csv dans un website
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):
Code:
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];
}
}
} |
et celui dans le site web :
Code:
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];
}
} |
dans ce cas tout s'exécute bien mais le GridView reste désepérement vide :(