He aquí una sencilla clase C# que programáticamente crea un libro de Excel y agrega dos hojas a la misma, y luego rellena las dos hojas. Por último, se guarda el libro en un archivo en el directorio raíz de la aplicación para que pueda inspeccionar los resultados ...
public class Tyburn1
{
object missing = Type.Missing;
public Tyburn1()
{
Excel.Application oXL = new Excel.Application();
oXL.Visible = false;
Excel.Workbook oWB = oXL.Workbooks.Add(missing);
Excel.Worksheet oSheet = oWB.ActiveSheet as Excel.Worksheet;
oSheet.Name = "The first sheet";
oSheet.Cells[1, 1] = "Something";
Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing)
as Excel.Worksheet;
oSheet2.Name = "The second sheet";
oSheet2.Cells[1, 1] = "Something completely different";
string fileName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
+ "\\SoSample.xlsx";
oWB.SaveAs(fileName, Excel.XlFileFormat.xlOpenXMLWorkbook,
missing, missing, missing, missing,
Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
oWB.Close(missing, missing, missing);
oXL.UserControl = true;
oXL.Quit();
}
}
Para ello, sería necesario añadir una referencia a Microsoft.Office.Interop.Excel a su proyecto (puede haberlo hecho ya que está creando una hoja).
El comunicado añade que la segunda hoja es ...
Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing)
as Excel.Worksheet;
el '1' argumento especifica una sola hoja, y puede ser más si desea agregar varias hojas a la vez.
Nota final: la declaración oXL.Visible = false; le dice a Excel que comience en modo silencioso.
Supongo que depende de cómo esté buscando crear el archivo de Excel. ¿Estás buscando crear una página por tabla en el conjunto de datos? – KreepN
Probablemente haya cambiado el comportamiento predeterminado de Excel. Consulte http://stackoverflow.com/questions/8066189/c-sharp-create-excel-workbook-with-1-sheet-by-default – JMax
Qué tecnología o componente está utilizando para la hoja suelta que ya está creando ? –