2014-03-19 204 views
0

我在SQL SERVER中有一個表(這是很多程序的返回值)。將表格數據導出到Excel。

現在我需要將該表格數據以Excel格式每天在上午12點給予客戶。 (需要寫一個job..Excel片應該在數據寫入每個day..old數據應被刪除)

我已經試過BCP ..但它是不是給完美的O/P ...(像頭(列名)■缺少

有人能幫助我....我使用的SQL Server Express版

+0

哪種編程語言,你知道嗎?例如,如果您有Qlikview,則可以安排報告,或者使用Java和Apache POI也可以執行此操作。 – AndreaTaroni86

+1

其他選項是您可以使用SSIS包並將其安排在SQL作業中。 – KuldipMCA

回答

0

當您使用的SQL Express不能使用SSIS其中將是明顯的選擇和最簡單的。

此代碼應該讓你開始,如果你使用的是C#

public void Exel2Sql() 
{ 

    string connString = @"server=myComputerName\sqlexpress;database=myDb;uid=sa;pwd=myPwd;"; 
    string excelConnString = @"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=c:\temp\my.xls"; 
    using (var excelConn = new OdbcConnection(excelConnString)) 
    { 
     var command = new OdbcCommand("Select * FROM [Sheet1$]", excelConn); 
     excelConn.Open(); 

     using (var dataReader = command.ExecuteReader()) 
     { 
      // Bulk Copy to SQL Server 
      using (var bulkCopy = new SqlBulkCopy(connString)) 
      { 
       bulkCopy.DestinationTableName = "MyDatabaseTableName"; 
       bulkCopy.WriteToServer(dataReader); 
      } 
      dataReader.Close(); 
     } 
     excelConn.Close(); 
    } 


}