J'utilise Office Excel VSTO. J'ai une information de référence de cellule d'une cellule dans mon classeur. disons, Feuille1! $ A $ 5. Je veux obtenir l'information dans cette cellule et son type. Est-ce possible dans VSTO par n'importe quel moyen?
Je brise maintenant cette référence de cellule allant à la feuille et la cellule obtient les valeurs. Je suppose que des moyens plus faciles sont possibles.Valeur dans une cellule de CellReference dans C#
Répondre
Je ne sais pas si c'est ce que vous recherchez, mais ce qui suit vous donne un accès direct à la cellule:
var range = (Range)Globals.ThisAddIn.Application.Range["Sheet1!$a$5"];
var cellContent = range.Value2;
Ok je pense avoir votre question compris.
Vous souhaitez utiliser VSTO pour remplacer un lien de classeur que vous utilisez pour mettre à jour une valeur dans votre classeur actuel.
Pour moi, les indices sont ....
1. veulent obtenir les informations dans cette cellule et son type
2. Utilisez VSTO pour le faire
3. romps maintenant cette référence cellulaire
BTW si mon l'hypothèse ci-dessus est correcte, alors s'il vous plaît modifier votre question pour avoir plus de sens pour les futurs lecteurs.
Exemple
//get workbook link cell ref
var range = (Range)Globals.ThisAddIn.Application.Range["Sheet1!$a$5"];
//determine type
// if straight linking a value this step is unnecessary unless using the type info to format the cell
// or because you are doing a transformation or aggregation on the data prior to putting it somewhere.
// if needed... do some try/catchs on casting it to oledate, bool, double, string in that order.
// get value
var value = range.Value2;
// update "active" sheet
var sht = (Excel.WorkSheet)Globals.ThisAddIn.Application.ActiveSheet;
sht.Range["A1"].Value2 = value;
// don't forget to call FinalReleaseCOMObject and GC.WaitForPendingFinalizers/GC.Collect block!!
Notez également que oui, vous "casser la référence de cellule" si vous utilisez le code INSTEAD. Notez que vous pouvez conserver le lien du classeur, mais cela ne sert à rien d'utiliser l'approche par code. Mon conseil serait d'utiliser le code général car il est plus flexible, mais profite des liens quand vous voulez de la vitesse (de configuration) et que les données ne nécessitent pas plus qu'une manipulation de base (SUM, IF, opérateurs mathématiques de base).
- 1. Obtenir valeur ComboBox dans une cellule?
- 2. Enregistrer Xml dans une valeur de cellule Excel provoque ComException
- 3. Insérer une valeur d'une cellule dans une autre cellule du même enregistrement
- 4. Sélectionnez la valeur d'une cellule dans GridView
- 5. Comment insérer un saut de ligne dans une cellule de feuille de calcul OPENXML?
- 6. sortie une valeur de cellule NULL dans Excel
- 7. Modifier la valeur de chaque cellule dans une colonne DataTable
- 8. WPF Datagrid lit une valeur de cellule
- 9. Rendre une cellule dans un JTable modifiable - la valeur par défaut de la cellule
- 10. valeur Match et copiez-le dans une nouvelle cellule
- 11. Ajouter virgule à chaque valeur (par ligne) dans une cellule
- 12. obtenir la même valeur dans chaque cellule de la vue de table dans l'objectif-c
- 13. Conserver la valeur entrée dans la cellule de DevExpress Xtragrid
- 14. Fusion de cellule Gridview dans C# .net
- 15. Comment insérer une valeur dans une cellule dans une feuille Excel à l'aide d'asp.net
- 16. Trouver une valeur dans DataTable
- 17. Lire la cellule dans chaque ligne de datagridview dans C#
- 18. datagrid dans une cellule datagrid
- 19. Retourne la valeur de la cellule datagridview dans vb.net
- 20. Copier et coller dans une cellule DataGridView (C#)
- 21. C# texte multicolore dans une seule cellule d'un datagridview
- 22. UISwitch dans une cellule UITableView
- 23. Utiliser la valeur de cellule dans la formule vlookup
- 24. LINQ Sélectionnez une certaine cellule dans DataGridView en fonction d'une autre cellule de la ligne
- 25. Est-il possible de faire exploser une valeur de cellule dans une instruction mysql
- 26. VSTO écrit dans une cellule dans Excel!
- 27. comment obtenir la valeur de la cellule dans l'iphone?
- 28. Obtention de la valeur d'une cellule dans un jqgrid
- 29. Silverlight 3: Lier d'une zone de liste déroulante dans une cellule DataGrid à une autre dans une autre cellule
- 30. Comment obtenir la valeur de la cellule dans un projet de classeur Excel en utilisant C#?