Voici une simple classe C# qui crée un classeur Excel programatically et ajoute deux feuilles, et les deux feuilles puis remplit. Enfin, il enregistre le WorkBook dans un fichier dans le répertoire racine de l'application afin que vous puissiez vérifier les résultats ...
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();
}
}
Pour ce faire, vous devez ajouter une référence à Microsoft.Office.Interop.Excel à votre projet (vous l'avez déjà fait depuis que vous créez une feuille).
La déclaration qui ajoute la deuxième feuille est ...
Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing)
as Excel.Worksheet;
l'argument « 1 » spécifie une seule feuille, et il peut être plus si vous voulez ajouter plusieurs feuilles à la fois.
Note finale: l'instruction oXL.Visible = false; dit à Excel de démarrer en mode silencieux.
Je suppose que cela dépend de la façon dont vous envisagez de créer le fichier Excel. Cherchez-vous à créer une page par table dans l'ensemble de données? – KreepN
Vous avez probablement modifié le comportement Excel par défaut. Voir http://stackoverflow.com/questions/8066189/c-sharp-create-excel-workbook-with-1-sheet-by-default – JMax
Quelle technologie ou composant utilisez-vous pour la feuille unique que vous créez déjà? ? –