2013-05-28 44 views
3

我需要創建一個Excel電子表格,然後我需要重新命名工作表。我究竟做錯了什麼?C#如何使用Interop重命名Excel工作表

這裏是我到目前爲止的代碼:

using System; 
using System.Reflection; 
using Excel = Microsoft.Office.Interop.Excel; 

public class CreateExcelWorksheet 
{ 
    static void Main() 
    { 
     Excel.Application oXL; 
     Excel._Workbook oWB; 
     Excel._Worksheet oSheet; 

     oXL = new Excel.Application(); 
     oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value)); 
     oSheet = (Excel._Worksheet)oWB.ActiveSheet; 

     oSheet.Cells[1, 1] = "First Name"; 
     oSheet.Cells[1, 2] = "Last Name"; 
     oSheet.Cells[1, 3] = "Full Name"; 
     oSheet.Cells[1, 4] = "Salary"; 

     //Format A1:D1 as bold, vertical alignment = center. 
     oSheet.get_Range("A1", "D1").Font.Bold = true; 
     oSheet.get_Range("A1", "D1").VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; 
     oSheet.Name = "NewOne"; 

     string filename = "C:\\" + DateTime.Now.ToString("dd_MM_yy_hhmmss"); 
     oWB.SaveAs(filename + "asdaa" + ".xlsx"); 

     oWB.Close(); 
    } 
} 

回答

6

oWB.Worksheets就是你找到的牀單。

可以帶他們通過索引Worksheets[1](或2或3 ...)

可以把他們的名字Worksheets["SheetName"]

他們來爲對象,​​因此將它們轉換成(Worksheet)

Worksheet oSheet = (Worksheet)oWB.Worksheets["TheSheetYouWant"]; 

要更改名稱:oSheet.Name = "NewName";

+0

好的,謝謝:-) –

5

更短: workbook.Worksheets[1].Name = "Sheet Name";

相關問題