Je travaille sur un projet qui exécute des requêtes MySQL sur DB. Je dois alimenter les résultats d'une feuille excel que je vais générer à la volée. J'avais commencé le code, en utilisant les didacticiels msdn ainsi que les informations que j'ai trouvées sur stackoverflow, mais l'application de la procédure me laisse avec
"La reference d'object n'est pas définie à une instance d'un object."
À ce stade, je viens d'avoir débuté le code de base, car je voulais que cela fonctionne avant de commencer à créer la feuille de calcul complète dans le code.
var excelApp = new Excel.Application(); excelApp.Visible = true; Excel.Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet; ((Excel.Range)workSheet.Cells[1, 1]).Value = "Print Date:";
Si je peux fournir plus d'informations, requestz simplement. J'apprécie énormément toute information ou information que vous pouvez me fournir!
Je dirais que la workSheet
est définie comme nulle car excelApp.ActiveSheet
n'existe pas encore.
Voici un code qui créera un object de feuille de calcul que vous pouvez utiliser …
var application = new Application(); var workbooks = application.Workbooks; var workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet); var worksheets = (Sheets)workbook.Worksheets; var worksheet = worksheets[1];
Quelques choses à noter lorsque vous travaillez avec Excel:
System.Runtime.InteropServices.Marshal.ReleaseComObject(object)
lorsque vous l'avez terminé. Si vous ne le faites pas, Excel ne quittera pas lorsque vous aurez terminé. La raison pour laquelle vous obtenez cette erreur est que vous n'avez créé aucune feuille de calcul dans l'application. Essayez de faire cela.
Excel.Worksheet newWorksheet;
newWorksheet = (Excel.Worksheet) excelApp.Worksheets.Add ();