Supposons que j'ai une plage de E2 à E16. Comment lire les valeurs des cellules E2 à E16?Lire toutes les valeurs de cellules d'une plage Excel en C#
1
A
Répondre
3
Vous pouvez essayer quelque chose comme ceci. il devrait fonctionner
U peut spécifier votre plage comme vous le souhaitez à l'intérieur.
this.openFileDialog1.FileName = "*.xls";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(
openFileDialog1.FileName, 0, true, 5,
"", "", true, Excel.XlPlatform.xlWindows, "\t", false, false,
0, true);
Excel.Sheets sheets = theWorkbook.Worksheets;
Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);
for (int i = 1; i <= 10; i++)
{
Excel.Range range = worksheet.get_Range("A"+i.ToString(), "J" + i.ToString());
System.Array myvalues = (System.Array)range.Cells.Value;
string[] strArray = ConvertToStringArray(myvalues);
}
}
string[] ConvertToStringArray(System.Array values)
{
// create a new string array
string[] theArray = new string[values.Length];
// loop through the 2-D System.Array and populate the 1-D String Array
for (int i = 1; i <= values.Length; i++)
{
if (values.GetValue(1, i) == null)
theArray[i-1] = "";
else
theArray[i-1] = (string)values.GetValue(1, i).ToString();
}
return theArray;
}
2
Une autre approche alternative. Positng comme une réponse spearate parce qu'il donnera moins d'espace pour la confusion.
Excel.Application app = new Excel.Application();
Excel.Workbook wbook = null;
Excel.Worksheet wsheet = null;
Excel.Range range = null;
app.Visible = false;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
string filepath = inputFile1.Value.ToString();
if (filepath != "")
{
wbook = app.Workbooks.Open(filepath, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
string currentSheet = "Sheet1";
wsheet = (Excel.Worksheet)wbook.Worksheets.get_Item(currentSheet);
range = wsheet.get_Range("B6", "H20");
System.Array myvalues = (System.Array)range.Cells.Value2;
valueArray = ConvertToStringArray(myvalues);
if (app != null)
{
app.Workbooks.Close();
app.Quit();
}
app = null;
wsheet = null;
range = null;
string[] ConvertToStringArray(System.Array values)
{
// create a new string array
string[] theArray = new string[values.Length];
// loop through the 2-D System.Array and populate the 1-D String Array
for (int i = 1; i <= values.Length; i++)
{
if (values.GetValue(1, i) == null)
theArray[i-1] = "";
else
theArray[i-1] = (string)values.GetValue(1, i).ToString();
}
return theArray;
}
Questions connexes
- 1. Lire des cellules Excel en utilisant C#
- 2. Comment lire les données à partir de cellules non adjacentes dans Excel en utilisant C#
- 3. remplacer les valeurs de cellules dans Excel en utilisant excel.interop
- 4. Comment exécuter sur des cellules sur Excel en C#?
- 5. trouver erreur Excel cellules en C#
- 6. Comment supprimer les valeurs d'une plage dans Excel VBA
- 7. comment puis-je rechercher des valeurs dans une plage de cellules, dans une autre longue plage de cellules?
- 8. verrouiller toutes les cellules d'une feuille de calcul Excel VBA
- 9. Recherche de plage de cellules avec des macros Excel
- 10. Modifier toutes les valeurs de chaîne dans la colonne Excel?
- 11. C# lire le fichier excel
- 12. plage pour les valeurs entières de caractères en C++
- 13. Combine plusieurs cellules en une en Excel avec macro?
- 14. Comment rafraîchir toutes les cellules par VBA
- 15. Excel VBA Boucler les cellules et remplacer leurs valeurs
- 16. Sélection de toutes les cellules de la feuille Excel à partir d'un décalage (VBA)
- 17. C# Excel Lire problème
- 18. comment lire excel pivottable en utilisant C#?
- 19. Comment lire les valeurs de préférence de firefox en C++?
- 20. Boîte de dialogue Masquer Windows pendant que les cellules Excel vont fusionner en utilisant C#
- 21. Impossible de lire toutes les valeurs du contact
- 22. Validation de la plage avec Excel en utilisant C#
- 23. Lire la feuille Excel en C#
- 24. Entre une plage de valeurs dans Excel 2007
- 25. lire plusieurs feuilles Excel en C#
- 26. ajouter une chaîne de texte à gauche de toutes les cellules d'une colonne dans Excel 2002?
- 27. comment régler la largeur égale pour toutes les cellules dans la feuille excel en utilisant vba
- 28. Représentant une adresse de cellule Excel dans une formule en utilisant les valeurs de chaîne d'autres cellules Excel?
- 29. Fillng dans les cellules Excel en utilisant automatiquement les données
- 30. Obtenir l'adresse de la plage dans Excel en utilisant vb.net
mais si j'ai une plage fixe déjà je passe de la cellule et deux cellules à une fonction dire fromcell = A3 et Tocell = A8 et je dois avoir les valeurs de A3 à A8 – Sathish
alors u besoin d'enlever la boucle for et donne la plage directement dans le code comme suit: Excel.Range range = worksheet.get_Range ("E2", "E16"); –
quel est l'espace de noms que je devrais utiliser pour obtenir ConvertToStringArray – Sathish