6

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();
    }
}
4

2 に答える 2

8

oWB.Worksheetsあなたがシートを見つける場所です。

インデックスWorksheets[1](または2、または3 ...)でそれらを取ることができます

名前でそれらを取ることができますWorksheets["SheetName"]

それらはオブジェクトとして来るので、 にキャストします(Worksheet)

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

名前を変更するには:oSheet.Name = "NewName";

于 2013-05-28T16:19:35.663 に答える
6

さらに短い: workbook.Worksheets[1].Name = "Sheet Name";

于 2015-09-16T08:59:34.853 に答える