Dans mon application, je veux que les données de base de données soient exportées vers la feuille Excel et que je doive faire ce fichier en lecture seule et je veux afficher le message si l'utilisateur essaye pour éditer cette feuille je fais ceci dans l'application de console.Conversion de la table sql en table excel
Je code écrit comme ceci:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data.Odbc;
namespace ConsoleApplication1{
class Program
{
static void Main(string[] args)
{
SqlConnection con = new SqlConnection
("");
con.Open();
SqlCommand cmd = new SqlCommand
("select Temprature,time,date from temprature3 ", con);
SqlDataReader data = cmd.ExecuteReader();
OdbcConnection dcon = new OdbcConnection();
dcon.ConnectionString = @"Driver={Microsoft Excel Driver(*.xls)};Create_DB=C:\Documents andSettings\Administrator\Desktop\Excel\Report.xls;DBQ=C:\Documents and Settings\Administrator\Desktop\Excel\Report.xls;
ReadOnly=True";
dcon.Open();
OdbcCommand dcom=new OdbcCommand
("create table Report new
(Temperature double,Time datetime,Date datetime)",dcon);
dcom.ExecuteNonQuery();
Console.WriteLine("table has been created");
OdbcCommand dinsert=new OdbcCommand("insert into Report values(?,?,?)",dcon);
OdbcParameter Temprature=new OdbcParameter("@Temperature",OdbcType.Double);
OdbcParameter Time=new OdbcParameter("@Temperature",OdbcType.DateTime);
OdbcParameter Date=new OdbcParameter("@Temperature",OdbcType.DateTime);
dinsert.Parameters.Add(Temprature);
dinsert.Parameters.Add(Time);
dinsert.Parameters.Add(Date);
int count=0;
while(data.Read())
{
Temprature.Value=data[0];
Time.Value=data[1];
Date.Value=data[2];
dinsert.ExecuteNonQuery();
count=count+1;
}
Console.WriteLine("------------------------------------------------------");
Console.WriteLine(count+"Number of rows are exported to excel");
Console.WriteLine("-------------------------------------------------------");
Console.ReadLine();
}
}
}
Je reçois une erreur comme ceci:
ERREUR [IM002] [Microsoft] [Pilote ODBC Manager] Nom de la source de données introuvable et pas de pilote par défaut spécifié
votre SqlConnection nécessite une chaîne de connexion? – Ben
ya que j'ai écrit dans mon code mais je n'ai pas affiché ici .. – Sweety
Pourrait-il être les espaces dans le chemin du fichier ...? essayez d'envelopper avec '" '... –