J'utilise l'espace de noms Microsoft.Office.Interop.Excel
et je crée un graphique. À un certain moment, je veux récupérer les valeurs d'une certaine série. Le MSDN indique qu'un objet Series
a la propriété Values
. Cela renvoie soit un objet Range
ou un array of values
, je suppose un object[]
. Dans mon code, j'ai fait la déclaration suivante:Comment puis-je accéder aux valeurs de `Series.Values` (tableau Excel)
Series series = (Series)chart.SeriesCollection(i);
object[] values = (object[])series.Values;
je reçois un InvalidCastException
avec le message: Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'.
Lorsque debugger, en utilisant Visual Studio 2008, je peux vérifier le type de series.Values
et il dit object{object[1..7]}
. Cela signifie (si je comprends bien) qu'il est déclaré comme object
mais son type réel est object[1..7]
. Mais object[1..7]
n'est pas vraiment un type que je peux lancer et aucun n'est .
Je suppose (ou devinez) que cela pourrait avoir quelque chose à voir avec le fait que le tableau commence à 1 au lieu de 0 (probablement à cause de VB). Je ne savais même pas que vous pouvez définir un tableau basé sur 1 en C# ...
Hey - ce lien est maintenant cassé BTW, je pense que le nouveau lien est: http://www.panopticoncentral.net/2004/03/17/non-zero-lower-bounded-arrays-the- other-side-of-the-coin/ – garfbradaz