2010-12-15 54 views

回答

1

試試這個,

string src = @"Book1.xlsx"; 
    string dst = @"Book2.xlsx"; 

    object missing = Missing.Value; 

    ApplicationClass app = new ApplicationClass(); 
    WorkbookClass wb1 = (WorkbookClass) app.Workbooks.Open(src, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing,missing); 
    WorkbookClass wb2 = (WorkbookClass)app.Workbooks.Open(dst, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); 

    Worksheet sheet1 = (Worksheet) wb1.Worksheets["Sheet1"]; 
    Worksheet sheet2 = (Worksheet)wb2.Worksheets["Sheet1"]; 
    try 
    { 
     sheet1.Copy(sheet2,missing); 
    }catch (Exception ex){ 
     // 
    } 
    finally{ 
     app.Quit(); 
    } 
+0

您好,感謝您的回覆。它運作良好。我想獲得sheet2的二進制值。你能解釋我嗎?感謝和問候,Dhanraj.S – Dhanraj 2010-12-15 14:18:29

+0

您是否想將Excel表格序列化爲流對象?查看 - http://weblogs.asp.net/mecitatmaca/archive/2008/11/02/office-integration-4-serializing-and-de-serializing-excel-spreadsheet-by-using-excelpackage.aspx – adatapost 2010-12-16 02:07:01

1

你的問題有點含糊,我不知道爲什麼你提到的SQL Server,但這裏有一些基本的建議:

你可以使用Excel Automation,但是這通常不建議在服務器上,這是我承擔你提到ASP.Net以來就在談論你。

因爲這代碼項目本文中描述的另一種選擇可能是OLEDB:Reading and Writing Excel using OLEDB
然而,這可能不是除非數據以表格格式是合適的。

0

ASP.net和SQL Server 2005在這裏並不真正相關,因爲它們都與Excel沒有任何關係(除非您在SQL Server中存儲您的電子表格)。

您可以使用自動化客戶端從託管代碼訪問Excel。您可以從任何託管代碼執行此操作(假定已安裝相關庫)。

http://support.microsoft.com/kb/302084

這提供了Excel中,工作表,細胞等的對象模型,你可以在代碼中操縱。

1

如果您使用的是Excel 2007或更新版本,則文件格式實際上只是一堆XML文件。有一個SDK可用於處理Office文件,這可能是您所追求的。這意味着不需要Excel,醜陋的自動化等,因爲它只是使用開放格式編輯XML。

開發人員主頁在這裏 - http://msdn.microsoft.com/en-us/office/ee358824.aspx - 有下載,樣本,視頻等在那裏,希望可以幫助你。

相關問題