如何使用互操作命名Excel表

我在Excel文件中制作了一些表格。 我用这个代码同时做了很多:

newSheet2 = (Microsoft.Office.Interop.Excel._Worksheet)newWorkbook_First.Sheets.Add(Type.Missing,Type.Missing,5,Type.Missing); 

…但我不知道如何单独命名。 我认为它必须这样做:

 newSheet2[2].name = "hello" 

但是这给了一个错误。 我怎样才能做到这一点?

  private static Microsoft.Office.Interop.Excel.ApplicationClass appExcel; private static Workbook newWorkbook_First = null; private static _Worksheet newSheet2 = null; public void excel_create(String path) { try { appExcel = new Microsoft.Office.Interop.Excel.ApplicationClass(); appExcel.Visible = true; newWorkbook_First = appExcel.Workbooks.Add(1); newSheet2 = (Microsoft.Office.Interop.Excel._Worksheet)newWorkbook_First.Sheets.Add(Type.Missing,Type.Missing,5,Type.Missing); //How to name the sheets now? } catch (Exception e) { Console.Write("Error"); } finally { } } 

你很近,使用“名称”,而不是“名称”:

 Application.ActiveSheet.Name="myName"; 

请通过下面的示例进行参考。

 static void Main(string[] args) { Microsoft.Office.Interop.Excel.Application oXL; Microsoft.Office.Interop.Excel._Workbook oWB; Microsoft.Office.Interop.Excel._Worksheet oSheet; Microsoft.Office.Interop.Excel.Range oRng; object misvalue = System.Reflection.Missing.Value; try { //Start Excel and get Application object. oXL = new Microsoft.Office.Interop.Excel.Application(); oXL.Visible = true; //Get a new workbook. oWB = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add("")); oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.Sheets.Add(); //Add table headers going cell by cell. List<string> header=new List<string>(); header.Add("steve"); header.Add("JOb"); oSheet.Cells[1, 1] = header[0]; oSheet.Cells[1, 2] = header[1]; oSheet.Cells[1, 3] = "Salary"; oSheet.Cells[1, 4] = "Token 1 Rs"; //Format A1:D1 as bold, vertical alignment = center. oSheet.get_Range("A1", "D1").Font.Bold = true; oSheet.get_Range("A1", "D1").VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter; // Create an array to multiple values at once. string[,] saNames = new string[5, 2]; saNames[0, 0] = "John"; saNames[0, 1] = "Smith"; saNames[1, 0] = "Tom"; saNames[4, 1] = "Johnson"; //Fill A2:B6 with an array of values (First and Last Names). oSheet.get_Range("A2", "B6").Value2 = saNames; //Fill C2:C6 with a relative formula (=A2 & " " & B2). oRng = oSheet.get_Range("C2", "C6"); oRng.Formula = "=A2 & \" \" & B2"; //Fill D2:D6 with a formula(=RAND()*100000) and apply format. oRng = oSheet.get_Range("D2", "D6"); oRng.Formula = "=RAND()*100000"; oRng.NumberFormat = "$0.00"; //AutoFit columns A:D. oRng = oSheet.get_Range("A1", "D1"); oRng.EntireColumn.AutoFit(); oXL.Visible = false; oXL.UserControl = false; oWB.SaveAs("c:\\test506.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); oWB.Close(); } catch (Exception ex) { }