2015-06-11 2 views
1

Я только написал свои данные в 1 лист Excel, но я хочу создать новый лист и называть его «xxx» и записывать в него данные.Создайте новый лист Excel и назовите его

Вот что я сейчас:

private static Microsoft.Office.Interop.Excel.ApplicationClass appExcel; 
private static Workbook newWorkbook_First = null; 
private static _Worksheet objsheet = null; 

excel_init("C:\\Users\\me\\Desktop\\excel2.xlsx"); 

for (int i = 1; i < WindowsXPLijst.Count; i++) 
{ 
    excel_setValue("B" + i, WindowsXPLijst[i]); 
} 

excel_close(); 

static void excel_init(String path) 
{ 
    appExcel = new Microsoft.Office.Interop.Excel.ApplicationClass(); 

    if (System.IO.File.Exists(path)) 
    { 
     // then go and load this into excel 
     newWorkbook_First = appExcel.Workbooks.Open(path, true, true); 
     objsheet = (_Worksheet)appExcel.ActiveWorkbook.ActiveSheet; 
    } 
    else 
    { 
     try 
     { 
      appExcel = new Microsoft.Office.Interop.Excel.ApplicationClass(); 
      appExcel.Visible = true; 
      newWorkbook_First = appExcel.Workbooks.Add(1); 
      objsheet = (Microsoft.Office.Interop.Excel.Worksheet)newWorkbook_First.Sheets[1]; 
     } 
     catch (Exception e) 
     { 
      Console.Write("Error"); 
     } 
     finally 
     { 
     } 
    } 

} 

static void excel_setValue(string cellname, string value) 
{ 
    objsheet.get_Range(cellname).set_Value(Type.Missing, value); 
    objsheet.get_Range(cellname).Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); 
} 

Я не так много еще изменилось, потому что я понятия не имею, как изменить эту функцию:

static void excel_setValue(string cellname, string value, string tab) 
{ 
    objsheet = tab // No ica what to exactly put here 
} 

{ 
    excel_setValue("B" + i, WindowsXPLijst[i], "xxx"); 
} 

ответ

2

Это создаст новый лист после последнего листа:

Dim WS As Worksheet 
Set WS =Sheets.Add(After:=Sheets(Worksheets.count)) 
WS.name = "xxx" 

Этот код представляет собой сокращенный вариант кода найден here

+0

Глупый вопрос: он не может найти тип или пространство имен Dim. Как это исправить? – wouter

+2

Этот ответ написан в VBA, тогда как вы ищете ответ C#. Вероятно, было бы целесообразно удалить тег [tag: vba] из вопроса, @wouter – FreeMan

+0

Я не понимаю, почему я был занижен, когда я ответил на тег VBA – Paradox

Смежные вопросы