Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to rename excel sheet name dynamically in C#

I have created an excel workbook with many sheets like sheet1, sheet2,... etc. How can I rename these tab names dynamically in C#?

like image 841
Dark Knight Avatar asked Dec 30 '10 08:12

Dark Knight


2 Answers

You didn't spedify how do you access the excel file. However, example from here might be useful for you if you're using Microsoft.Office.Interop.Excel. Note that it opens first sheet in the file, line: (Worksheet)xlBook.Worksheets.get_Item(1)

using Excel = Microsoft.Office.Interop.Excel; 

    object oMissing = System.Reflection.Missing.Value;
    Excel.ApplicationClass xl=new Excel.ApplicationClass();
        Excel.Workbook xlBook;
        Excel.Worksheet xlSheet;
        string laPath = Server.MapPath(@"\excel\xl_table.xls");
        xlBook = (Workbook)xl.Workbooks.Open(laPath,oMissing,
          oMissing,oMissing,oMissing ,oMissing,oMissing,oMissing
         ,oMissing,oMissing,oMissing,oMissing,oMissi ng,oMissing,oMissing);
        xlSheet = (Worksheet)xlBook.Worksheets.get_Item(1);
        xlSheet.Name = "CIAO";
        xlBook.Save();
        xl.Application.Workbooks.Close();
like image 191
nan Avatar answered Oct 15 '22 08:10

nan


One short note: If you don't need to specify them, you can get rid of all these optional parameters and use the short form:

xlBook = (Workbook)xl.Workbooks.Open(laPath);

Regards, Jörg

like image 22
jreichert Avatar answered Oct 15 '22 07:10

jreichert