2011-09-13 78 views

Respuesta

0

MSDN sabe:

((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete(); 

o

Globals.Sheet1.Delete(); 

Ver aquí: How to: Delete Worksheets from Workbooks

+0

Cuando estoy funcionando esto, se está lanzando un error como "Compilador mensaje de error: CS0103: El nombre 'Globals' no existe en el contexto actual ". Por favor, aclararme ... Y también cuando estoy corriendo por encima de uno, también aparece el error porque "CS1061: 'System.Web.HttpApplicationState' no contiene una definición para 'ActiveWorkbook' y ningún método de extensión 'ActiveWorkbook' acepta un primer argumento de tipo 'System.Web.HttpApplicationState' podría encontrarse (¿falta una directiva using o una referencia de ensamblado?) " –

+1

y ¿qué pasa si prueba la primera opción? ¿Leíste el artículo vinculado? –

+0

Consulte el enlace http://stackoverflow.com/questions/7376964/how-to-merge-two-excel-workbook-into-one-workbook-in-c?answertab=active#tab-top Aquí está generar el libro de trabajo dinámicamente mediante la fusión de libros de trabajo existentes, pero cuando está generando, tenía 3 hojas predeterminadas aparte de las hojas de trabajo fusionadas. Así que aquí necesito eliminar esas tres hojas predeterminadas. Por favor, ayúdenme en esto ... –

3

puede llamar a la .Delete() method, así:

Globals.Sheet1.Delete(); 

actualización, según su comentario:

Excel._Worksheet ws = (Excel._Worksheet)app.Workbooks[i].Worksheets[j]; 
ws.Delete(); 
+0

Cuando estoy ejecutando esto, arroja un error como "Mensaje de error del compilador: CS0103: El nombre 'Globals' no existe en el contexto actual". Por favor, aclareme ... –

+0

@Tripati Subudhi 'Globals' se refiere a su libro de trabajo, y Sheet1 - para la primera hoja de trabajo. Debe agregar sus propias variables para que este código funcione. También vea el MSDN. – VMAtm

+0

Consulte el enlace http://stackoverflow.com/questions/7376964/how-to-merge-two-excel-workbook-into-one-workbook-in-c?answertab = active # tab-top Aquí está generando el libro de trabajo dinámicamente mediante la fusión de libros existentes, pero cuando está generando, tenía 3 hojas predeterminadas aparte de las hojas de trabajo fusionadas. Así que aquí necesito eliminar esas tres hojas predeterminadas. –

0

Refiriéndose a su ejemplo (How to merge two excel workbook into one workbook in c#?), donde aplicación es su variable de tipo Excel.Application, usted debe escribir algo como esto:

for (int i = 1; i <= 3; i++) 
    ((Excel.Worksheet)app.ActiveWorkbook.Sheets[1]).Delete(); 

PD: me parece que la colección de hojas de cálculo se indexa comenzando desde 1, no desde 0, pero no estoy seguro y no puedo verificar en este momento. Si esto no funciona pruebe con valores de i de 0 a 2.

2

espero que este código le ayudará a:

app.DisplayAlerts = false; 
worksheet.Delete(); 
app.Displayalerts = true; 

donde aplicación es su XlsApplication.

0
Dim s1 as Excel.Worksheet 
s1 = wb.Sheets("Sheet1") 
s1.Visible = Excel.XlSheetVisibility.xlSheetVisible 
s1.Delete() 

es necesario cambiar la visibilidad porque no se puede eliminar una hoja con la visibilidad se establece en Excel.XlSheetVisibility.xlSheetVeryHidden

Cuestiones relacionadas