HOW TO:使用 COM Interop 來建立 Excel 試算表 (C# 程式設計手冊)

在下列程式碼中,示範如何使用 COM interop 建立 Excel 試算表。如需 Excel 的詳細資訊,請參閱 Microsoft Excel ObjectsOpen Method

這個範例說明如何在 C# 中使用 .NET Framework COM interop 功能開啟現有的 Excel 試算表。Excel 組件可用於開啟和輸入資料至 Excel 試算表中某個範圍的儲存格。

Note注意事項

您必須在系統上安裝 Excel,這段程式碼才能正確執行。

Note注意事項

您所看見的對話方塊與功能表命令可能會與 [說明] 中所描述的有所不同,視您所使用的設定或版本而定。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定

若要使用 COM Interop 建立 Excel 試算表

  1. 在 Visual Studio 中建立新的 C# 主控台應用程式,並命名為 CreateExcelWorksheet

  2. 加入 Excel 組件做為專案的參考:請以滑鼠右鍵按一下專案,然後選取 [加入參考]。

  3. 按一下 [加入參考] 對話方塊的 [COM] 索引標籤,然後找出 [Microsoft Excel 11 物件程式庫]。

  4. 按兩下 [Microsoft Excel 11 物件程式庫],然後按 [確定]。

    Note注意事項

    視安裝的 Office 版本而定,Excel 組件可能會稱為 [Excel 10 物件程式庫] 或 [Excel 11 物件程式庫]。

  5. 複製下列程式碼,然後貼上並覆蓋 Program.cs 檔案的內容。

    using System;
    using System.Reflection; 
    using Microsoft.Office.Interop.Excel;
    
    public class CreateExcelWorksheet
    {
        static void Main()
        {
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
    
            if (xlApp == null)
            {
                Console.WriteLine("EXCEL could not be started. Check that your office installation and project references are correct.");
                return;
            }
            xlApp.Visible = true;
    
            Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
            Worksheet ws = (Worksheet)wb.Worksheets[1];
    
            if (ws == null)
            {
                Console.WriteLine("Worksheet could not be created. Check that your office installation and project references are correct.");
            }
    
            // Select the Excel cells, in the range c1 to c7 in the worksheet.
            Range aRange = ws.get_Range("C1", "C7");
    
            if (aRange == null)
            {
                Console.WriteLine("Could not get a range. Check to be sure you have the correct versions of the office DLLs.");
            }
    
            // Fill the cells in the C1 to C7 range of the worksheet with the number 6.
            Object[] args = new Object[1];
            args[0] = 6;
            aRange.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, aRange, args);
        
            // Change the cells in the C1 to C7 range of the worksheet to the number 8.
            aRange.Value2 = 8;
        }
    }
    
    

安全性

若要使用 COM interop,您必須具備 [系統管理員] 或 [進階使用者] 安全權限。如需安全性的詳細資訊,請參閱 .NET Framework Security

請參閱

顯示: