Comment puis-je extraire une chaîne de caractères à partir d'une cellule excel?
Je sais comment écrire dans une cellule, mais comment puis-je obtenir un déjà existant chaîne écrite à l'intérieur d'une cellule dans un fichier excel dans un objet de type string donc je peux l'utiliser pour générer des données dans d'autres cellules?
Mon code pour l'instant:
Excel.ApplicationClass excelApp = new Excel.ApplicationClass();
excelApp.Visible = true;
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open("C:\\Users\\user\\Desktop\\list.xls", 0, false, 5, "", "",
false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Sheets excelSheets = excelWorkbook.Worksheets;
string currentSheet = "Sheet1";
Excel.Worksheet xlws = (Excel.Worksheet)excelSheets.get_Item(currentSheet);
Je peux manipuler le contenu de la cellule en utilisant quelque chose comme:
xlws.Cells[1,1] = "foo";
Mais je vais avoir du mal à faire le contraire, c'est-à lire le contenu de la cellule dans une chaîne de caractères dans mon programme.
Toute aide serait appréciée.
OriginalL'auteur AJ_ | 2011-04-13
Vous devez vous connecter pour publier un commentaire.
string myString = xlws.Cells[1, 1].Value as string;
string myString = ((Excel.Range)workSheet.Cells[1, 1]).Value2.ToString();
Convert.ToString(object)
au lieu deToString()
. De commutation dans mon projet, juste maintenant, ma référence null.OriginalL'auteur Neil Knight
Pour éviter
NullReferenceException
, ne pas utiliser de.ToString()
directement sur les types qui peuvent être null (object
,dynamic
,string
, etc.). Voici quelques-uns des moyens plus sûrs pour convertit l'objet en chaîne de caractères:Convert.ToString(object)
- retoursString.Vide
lorsque l'objet est nullobject?.ToString()
- VS 2015 Null-Opérateur conditionnel renvoie la valeur null si l'objet est nullobject?.ToString() ?? ""
- C# null-coalescence de l'opérateur??
de retour""
lorsque l'objet est nullobject + ""
- Chaîne.Concat pour revenir""
lorsque l'objet est null$"{object}"
- VS 2015 chaîne d'interpolation est transformé au moment de la compilation d'invoquer un équivalentString.Format("{0}", object)
appel, et renvoie""
lorsque l'objet est nullOriginalL'auteur Slai
xlws.Les cellules[1, 1].Valeur a type objet. Donc, vous devez indiquer le type de
Pour exemples:
OriginalL'auteur Robert Tyson
Il ya un couple de façons d'obtenir les valeurs à partir d'un fichier excel docuemnt mais la façon dont je pense que vous cherchez est:
Un bel article qui explique les autres moyens sont disponibles ici
Espère que ça aide.
OriginalL'auteur Mike
chaîne val = feuille.Les cellules[1, 6].Texte;
C'était la meilleure méthode pour obtenir le texte de la cellule.
J'ai pu obtenir exactement le même texte sans modification.
OriginalL'auteur Billy
OriginalL'auteur user3346669