Bonjour,
J'ai une chose plutôt bizarre qui se passe avec une feuille de calcul Excel que je crée via .Net. je charge un classeur existantGénérer Excel à l'aide de .Net faire des choses étranges
Dim _xlApp As New Excel.Application
Dim _xlWorkbook As Excel.WokBook = _xlApp.Workbooks.Open(_templateFileName)
ensemble pour être visible avant le peuplant (à des fins de débogage)
_xlApp.Visible = True
Je vais ensuite pour remplir le modèle existant.
Private Sub GenerateOceanFreightGrid()
Dim columnCount As Integer = 4 ' _standardColumnCount
Dim columnInsertPosition As Integer = 5
If MyBooleanValue() Then
_xlSheet.Columns(4).Insert()
_xlSheet.Cells(7, 4) = "My Header Value"
columnInsertPosition += 1
columnCount += 1
End If
Quand je mis un point d'arrêt sur la « Private Sub Gen .. » ligne, et pas dans la ligne de code en ligne, il insère une nouvelle colonne pour chaque variable déclarée, donc dans ce cas, il insère deux colonnes avant même qu'il ne frappe la ligne "If MyBooleanValue() ..." (je peux le voir se produire parce que l'application Excel est visible). Cependant, si je ne mets pas un point d'arrêt et que je laisse le code passer directement à travers cela ne se produira pas.
Il n'y a pas de multi-threading qui se passe ou quoi que ce soit d'autre qui aurait un impact sur le code. Mon travail évident est de ne pas définir le point d'arrêt, je me demandais juste si quelqu'un a déjà vu cela avant et pour quelle raison? Merci
Bienvenue dans le développement Office! –
ouais c'est un rire une minute jusqu'à présent :) – Ben
nous nous battons avec Excel interop depuis des années. différentes versions différentes service packs - c'était dur comme l'enfer. Et nous avons abandonné, simplement acheté un composant tiers. –