Bon c'est surement pas ce qu'il y a de plus difficile au monde a faire ca...
Mais il reste que je n'arrive pas à le faire fonctionner comme il faut ! :(
J'arrive a me connecter, a mettre des données dans le dataset, mais il ne
mais pas les bon type de champs, donc je perds des données...
Exemple de fichier: 2 colonnes, 1 numéro de produit, 1 prix.
Mais il met ma premiere colonne en double, donc il importe des null pour les
produits alpha...
Peut-on forcer a ce qu'il importe tout en texte, car je ne connais pas le
nombre de colonne que le fichier contient.
Voici le code:
public static DataSet GetDataSetFromExcel(string excelFile, string
excelSheet)
{
OleDbConnection cnn = null;
DataSet ds = null;
OleDbDataAdapter da = null;
OleDbCommand cmd = null;
try
{
String cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="
+ excelFile + ";Extended Properties=Excel 8.0;";
// Create connection object by using the preceding connection string.
cnn = new OleDbConnection( cnnString );
cnn.Open();
// Create new OleDbCommand to return data from worksheet.
cmd = new OleDbCommand( "SELECT * FROM [" + excelSheet + "]", cnn );
da = new OleDbDataAdapter();
// Pass the Select command to the adapter.
da.SelectCommand = cmd;
// Create new DataSet with information from the worksheet.
ds = new DataSet();
da.Fill( ds );
return ds;
}
catch( Exception ex )
{
return null;
}
finally
{
// Clean up.
if( ds != null )
{
ds.Dispose();
}
if( da != null )
{
da.Dispose();
}
if( cmd != null )
{
cmd.Dispose();
}
if( cnn != null )
{
cnn.Close();
cnn.Dispose();
}
}
}
Et voici la nouvelle connectionstring String cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFile + ";Extended Properties="Excel 8.0;HDR=NO;IMEX=1"";
PePiCK
"PePiCK" wrote in message news:
Bonjour tous le monde,
Bon c'est surement pas ce qu'il y a de plus difficile au monde a faire ca... Mais il reste que je n'arrive pas à le faire fonctionner comme il faut ! :(
J'arrive a me connecter, a mettre des données dans le dataset, mais il ne mais pas les bon type de champs, donc je perds des données...
Exemple de fichier: 2 colonnes, 1 numéro de produit, 1 prix.
Mais il met ma premiere colonne en double, donc il importe des null pour les produits alpha... Peut-on forcer a ce qu'il importe tout en texte, car je ne connais pas le nombre de colonne que le fichier contient.
Voici le code:
public static DataSet GetDataSetFromExcel(string excelFile, string excelSheet) { OleDbConnection cnn = null; DataSet ds = null; OleDbDataAdapter da = null; OleDbCommand cmd = null; try { String cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";Extended Properties=Excel 8.0;"; // Create connection object by using the preceding connection string. cnn = new OleDbConnection( cnnString ); cnn.Open(); // Create new OleDbCommand to return data from worksheet. cmd = new OleDbCommand( "SELECT * FROM [" + excelSheet + "]", cnn ); da = new OleDbDataAdapter(); // Pass the Select command to the adapter. da.SelectCommand = cmd; // Create new DataSet with information from the worksheet. ds = new DataSet(); da.Fill( ds ); return ds; } catch( Exception ex ) { return null; } finally { // Clean up. if( ds != null ) { ds.Dispose(); } if( da != null ) { da.Dispose(); } if( cmd != null ) { cmd.Dispose(); } if( cnn != null ) { cnn.Close(); cnn.Dispose(); } } }
Bon, après m'être calmé un peu, et refait de bonnes recherches, j'ai trouvé
:)
Un lien si jamais ca intéresse quelqu'un !
Et voici la nouvelle connectionstring
String cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
excelFile +
";Extended Properties="Excel 8.0;HDR=NO;IMEX=1"";
PePiCK
"PePiCK" <pepick@hotmail.com> wrote in message
news:egWSieFFFHA.3312@TK2MSFTNGP15.phx.gbl...
Bonjour tous le monde,
Bon c'est surement pas ce qu'il y a de plus difficile au monde a faire
ca...
Mais il reste que je n'arrive pas à le faire fonctionner comme il faut !
:(
J'arrive a me connecter, a mettre des données dans le dataset, mais il ne
mais pas les bon type de champs, donc je perds des données...
Exemple de fichier: 2 colonnes, 1 numéro de produit, 1 prix.
Mais il met ma premiere colonne en double, donc il importe des null pour
les produits alpha...
Peut-on forcer a ce qu'il importe tout en texte, car je ne connais pas le
nombre de colonne que le fichier contient.
Voici le code:
public static DataSet GetDataSetFromExcel(string excelFile, string
excelSheet)
{
OleDbConnection cnn = null;
DataSet ds = null;
OleDbDataAdapter da = null;
OleDbCommand cmd = null;
try
{
String cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="
+ excelFile + ";Extended Properties=Excel 8.0;";
// Create connection object by using the preceding connection string.
cnn = new OleDbConnection( cnnString );
cnn.Open();
// Create new OleDbCommand to return data from worksheet.
cmd = new OleDbCommand( "SELECT * FROM [" + excelSheet + "]", cnn );
da = new OleDbDataAdapter();
// Pass the Select command to the adapter.
da.SelectCommand = cmd;
// Create new DataSet with information from the worksheet.
ds = new DataSet();
da.Fill( ds );
return ds;
}
catch( Exception ex )
{
return null;
}
finally
{
// Clean up.
if( ds != null )
{
ds.Dispose();
}
if( da != null )
{
da.Dispose();
}
if( cmd != null )
{
cmd.Dispose();
}
if( cnn != null )
{
cnn.Close();
cnn.Dispose();
}
}
}
Et voici la nouvelle connectionstring String cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFile + ";Extended Properties="Excel 8.0;HDR=NO;IMEX=1"";
PePiCK
"PePiCK" wrote in message news:
Bonjour tous le monde,
Bon c'est surement pas ce qu'il y a de plus difficile au monde a faire ca... Mais il reste que je n'arrive pas à le faire fonctionner comme il faut ! :(
J'arrive a me connecter, a mettre des données dans le dataset, mais il ne mais pas les bon type de champs, donc je perds des données...
Exemple de fichier: 2 colonnes, 1 numéro de produit, 1 prix.
Mais il met ma premiere colonne en double, donc il importe des null pour les produits alpha... Peut-on forcer a ce qu'il importe tout en texte, car je ne connais pas le nombre de colonne que le fichier contient.
Voici le code:
public static DataSet GetDataSetFromExcel(string excelFile, string excelSheet) { OleDbConnection cnn = null; DataSet ds = null; OleDbDataAdapter da = null; OleDbCommand cmd = null; try { String cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";Extended Properties=Excel 8.0;"; // Create connection object by using the preceding connection string. cnn = new OleDbConnection( cnnString ); cnn.Open(); // Create new OleDbCommand to return data from worksheet. cmd = new OleDbCommand( "SELECT * FROM [" + excelSheet + "]", cnn ); da = new OleDbDataAdapter(); // Pass the Select command to the adapter. da.SelectCommand = cmd; // Create new DataSet with information from the worksheet. ds = new DataSet(); da.Fill( ds ); return ds; } catch( Exception ex ) { return null; } finally { // Clean up. if( ds != null ) { ds.Dispose(); } if( da != null ) { da.Dispose(); } if( cmd != null ) { cmd.Dispose(); } if( cnn != null ) { cnn.Close(); cnn.Dispose(); } } }