2012-10-08 58 views
0

我在Visual Studio 2010中創建了一個SSIS包,用於從MS SQL數據庫提取數據並將數據插入到我創建的電子表格模板中。我試圖讓它開始在A3處寫輸出,但是因爲我有B11中的數據摘要:C13它總是從A14開始寫入。如何使用SSIS在現有Excel表格的2行之間插入新行

我也嘗試設置OpenRowset參數,但由於有數據在我想讓它啓動的地方不起作用。

是否有可能根據摘要數據進行操作?

回答

0

解決方法: 第一種方法是先在工作表中轉儲數據,然後在B11:C13中插入摘要。 B6細胞:

using System; 
using System.Drawing; 
using System.Windows.Forms; 
using Excel = Microsoft.Office.Interop.Excel; 

namespace WindowsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       System.Data.OleDb.OleDbConnection MyConnection ; 
       System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand(); 
       string sql = null; 
       MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\csharp.net-informations.xls';Extended Properties=Excel 8.0;"); 
       MyConnection.Open(); 
       myCommand.Connection = MyConnection; 
       sql = "Insert into [Sheet1$] (id,name) values('5','e')"; 
       myCommand.CommandText = sql; 
       myCommand.ExecuteNonQuery(); 
       MyConnection.Close(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show (ex.ToString()); 
      } 
     } 
    } 
} 

也可以加入這個總結,也可以使用SSIS腳本驅動與OLE技術出類拔萃它使您可以從SSIS.Below代碼片段在A6中插入過程添加此彙總從一個宏(所以你必須在轉儲數據在Excel文件後運行它),但它並不有趣,因爲它將您的應用程序分割成SSIS和Excel宏不太好...... ;-)

相關問題