Maîtriser l'extraction de données Excel avec C#
La gestion efficace des fichiers Excel en C# nécessite une compréhension claire des plages nommées. Au lieu de vous fier à l'indexation de tableaux, tirez parti de la méthode get_Range()
pour une sélection précise des cellules.
Par exemple, pour accéder à la cellule A1 :
<code class="language-csharp">Excel.Worksheet sheet = workbook.Sheets["Sheet1"] as Excel.Worksheet; Excel.Range range = sheet.get_Range("A1", Missing.Value);</code>
range
représente désormais la cellule A1. Accédez à son contenu en utilisant :
range.Text
: affiche le texte formaté de la cellule.range.Value2
: Récupère la valeur de la cellule sous-jacente (non formatée).Itération à travers une plage de cellules :
<code class="language-csharp">Excel.Range range = sheet.get_Range("A1:A5", Missing.Value); if (range != null) { foreach (Excel.Range r in range) { string userText = r.Text; object cellValue = r.Value2; //Note: object type for flexibility } }</code>
Il est essentiel d'utiliser Value2
au lieu de Value
pour éviter les limitations potentielles de C#.
Nettoyage essentiel
Empêchez les fuites de mémoire en libérant les objets COM après utilisation :
<code class="language-csharp">if (wkb != null) ExcelTools.OfficeUtil.ReleaseRCM(wkb); if (excel != null) ExcelTools.OfficeUtil.ReleaseRCM(excel);</code>
ReleaseRCM
est une fonction personnalisée pour libérer des ressources COM.
Extrait de code illustratif
<code class="language-csharp">using ExcelTools = Ms.Office; // Assuming a custom namespace using Excel = Microsoft.Office.Interop.Excel; ... Excel.Workbook wkb = ExcelTools.OfficeUtil.OpenBook(excel, file); ... Excel.Worksheet sheet = wkb.Sheets["Data"] as Excel.Worksheet; Excel.Range range = sheet.get_Range("A1", Missing.Value); string cellA1Text = range.Text.ToString(); ...</code>
Considérations clés
false
.Type.Missing
de C# pour les paramètres facultatifs.Cette approche améliorée garantit une gestion efficace et fiable des données Excel au sein de vos applications C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!