7
votes

Convertissez la valeur des cellules Excel du texte en numéros à l'aide de C #

J'utilise l'application Windows. Dans cette application, j'ai exporté le DataGrid dans Excel avec succès ... Maintenant, le problème est que lorsque j'ai exporté de la grille vers la feuille Excel, les valeurs de la cellule ont une marque de couleur verte sur le coin supérieur gauche dans la feuille Excel ... Je pensais C'est un problème de type de type. Comment vais-je éviter ce problème ... et comment changer la valeur de la cellule du texte en numérique ... (c.-à-d.) Convertir en nombre ...

Quelqu'un peut-il me dire la solution de ce problème? P >

Mon code permettant de formater cette feuille Excel pour une plage de valeurs, P>

wksheet.Range[GetRanges[0].ToString(), GetRanges[GetRanges.Count-2].ToString()].Merge();

wksheet.get_Range(GetRanges[0].ToString(), GetRanges[GetRanges.Count-].ToString()).Interior.Color = Color.FromArgb(192, 0, 0);
                         


0 commentaires

5 Réponses :


0
votes

Lorsque vous attribuez la valeur aux cellules, essayez d'obtenir d'abord toutes les valeurs dans un tableau 2 dimensions, puis affectez la matrice à la plage. De cette façon, il va être très rapide et je suppose que les valeurs de la cellule seront numérotées. Essayez-le ... j'espère que cela devrait fonctionner


1 commentaires

Je l'ai eu en tant que tableau de deux dimensions seulement ... Je veux convertir une plage de valeurs en nombre ..



10
votes

Je n'ai pas une machine à Windows pour tester en ce moment, mais vous voudrez peut-être essayer de changer le format cellulaire, par exemple: xxx

Voici un exemple complet de Microsoft: < Un href = "http://support.microsoft.com/kb/302084" rel = "NOREFERRER"> Comment automatiser Microsoft Excel à partir de Microsoft Visual C # .NET .


2 commentaires

Si c'est INT signifie que dois-je donner dans cette chaîne que vous m'avez envoyée


Ok yar merci beaucoup .. je vais vérifier et vous dire



1
votes

La routine suivante remplira de manière dynamique une feuille de calcul des données (texte et numéros) dans un fichier texte.

Le kicker utilise un tableau d'objet pour définir les valeurs. P>

StreamReader STRead;
String[] STCells;
object[] cellData;
int temp;
Excel.Range tempRange;
for (int i = 0; i < FileList.Length; i++)
{
    STRead = FileList[i].OpenText();
    int j = 0;
    while (!STRead.EndOfStream)
    {
        STCells = STRead.ReadLine().Split(',');
        cellData = new object[STCells.Length];
        for (int k = 0; k < STCells.Length; k++)
        {
            if (Int32.TryParse(STCells[k], out temp)) 
                cellData[k] = temp;
            else
                cellData[k] = STCells[k];
        }
        tempRange = sheetList[i].get_Range(ReturnCellID(j, 0), 
                                           ReturnCellID(j, STCells.Length - 1));
        j++;
        tempRange.Value2 = cellData;
    }
    STRead.Close();
}


0 commentaires

0
votes

0 commentaires

1
votes

J'ai eu ce problème avec une feuille Excel contenant à la fois des nombres ordinaires et un pourcentage (résultat d'une exportation de cordes d'un rapport de cristal).

Pour les changer à la fois, j'ai fait une boucle un peu comme ceci: xxx

résultat était que les cordes de pourcentage et les numéros ont été convertis dans le format Excel correct .


0 commentaires