読者です 読者をやめる 読者になる 読者になる

C#_NetOffice シート名変更、シートの追加

シート名変更

sheet.Name = "シート名";

 

シート追加

book.Worksheets.Add( BeforeAfterCount,  Type );

Afterでシート追加する時、第一引数指定なしを意味するType.Missing が必要。
Count を省略すると 1
Type を省略するとワークシート( xlWorksheet )が追加。

 

ex) ファイルを読み込んでファイル名変更

using (var excelApp = new NetOffice.ExcelApi.Application())
{
    Workbook book = excelApp.Workbooks.Open(@"ファイルパス\ファイル名.xlsx");
   
    //■↓
    //sheet取得
    var sheet = (NetOffice.ExcelApi.Worksheet)book.Worksheets[2];

    //シート名変更
    //Sheet2 を Profit に変更
    sheet.Name = "Profit";
    //■↑

    book.Save();
    excelApp.Quit();
}

 

下記を■内に書けば動く。

ex) 既存でシートが 3 枚あるとする。
//先頭に追加

book.Worksheets.Add(book.Worksheets.First());
//シート名「Sheet4」「Sheet1」「Sheet2」「Sheet3」

 

//先頭2 枚追加

book.Worksheets.Add(book.Worksheets.First(), Type.Missing, 2);
//シート名「Sheet5」「Sheet4」「Sheet1」「Sheet2」「Sheet3」

 

//末尾にシート追加

book.Worksheets.Add(Type.Missing, book.Worksheets.Last());
//シート名「Sheet1」「Sheet2」「Sheet3」「Sheet4」

 

//末尾にシート 2 枚追加

book.Worksheets.Add(Type.Missing, book.Worksheets.Last(),2);
//シート名「Sheet1」「Sheet2」「Sheet3」「Sheet4」「Sheet5」

 

//シート2と3の間に作成

var sheet = (Sheets)book.Worksheets[new[] { 3, 2 }];
sheet.Add(sheet.First());
//シート名「Sheet1」「Sheet2」「Sheet4」「Sheet3」

 

//シート1 の後ろにシート追加

var sheet = (NetOffice.ExcelApi.Worksheet)book.Worksheets[1];
book.Worksheets.Add(Type.Missing, sheet);
//シート名「Sheet1」「Sheet4」「Sheet2」「Sheet3」

Add(sheet);だとシート1の前に追加になる。

 

Type.Missing は後ほど。

こちらから参照
http://pro.art55.jp/?eid=1304082
https://msdn.microsoft.com/ja-jp/library/office/ff838966.aspx
https://msdn.microsoft.com/ja-jp/library/office/ff194464.aspx
https://msdn.microsoft.com/ja-jp/library/syyd7czh(v=vs.80).aspx

 

以上。