在我的應用程序要導出到Excel工作表數據庫中的數據,我不得不做出這個文件爲只讀,我想如果用戶嘗試編輯Excel來顯示信息一樣,你不準編輯這張工作表我在控制檯應用程序中執行此操作。轉換SQL表到excel表格
我寫這樣的代碼:
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();
}
}
}
我得到的錯誤是這樣的:
ERROR [IM002] [微軟]找不到[ODBC驅動程序管理器]數據源名稱和沒有指定默認驅動程序
你的SqlConnection需要一個連接字符串? – Ben
雅我寫在我的代碼,但我沒有在這裏顯示.. – Sweety
它可能是文件路徑中的空間...?嘗試用'「'... –