2010-12-14 73 views
0

J'ai un code pour exporter les données d'une base de données SQL vers une feuille de calcul Excel.asp.net Exporter vers Excel quitte [?] En fin de ligne avant que le chariot ne retourne

Les données sont saisies via un site Web et certaines d'entre elles contiennent plusieurs lignes d'information.

Je dois conserver les lignes multiples mais Excel 2007 continue de mettre un [?] À la fin de chaque ligne.

Voici ce que je suis arrivé à ce jour

CellValue.ToString() // this returns [?][?] at the end of each line for excel 2007 
         // and a single [?] in excel 2010 

CellValue.Replace("[//r]","") // this works correctly for 2010 but still leaves a [?] for 2007 

Cellvalue.Replace(Environment.NewLine, "") // this removes all the line breaks. 

Que puis-je remplacer le Environment.NewLine avec afin d'avoir encore des sauts de ligne dans les deux Excel 2007 et 2010 (sans [?])?

+0

Avez-vous essayé ASCII 13 + ASCII 10? – Fionnuala

+0

@Remou Merci pour votre suggestion, mais je ne suis pas sûr de savoir comment faire cela, pourriez-vous donner un exemple? – Ali

+0

Apparemment, certaines entrées peuvent être 'lf' seulement, et certaines' crlf' (http://stackoverflow.com/questions/4019928/carriage-return-ascii-chr-13-is-missing-from-textbox-postback- valeurs-quand-utilisées). Excel attendrait cr (ascii 13) et lf (ascii 10). Peut-être pouvez-vous remplacer/r &/n séparément pour en finir avec un seul, puis le remplacer par Environment.NewLine? J'ai peur de ne parler que du point de vue d'Excel, d'où la note plutôt que de répondre. – Fionnuala

Répondre

0

Trouver à egghead cafe

CellValue.Replace(Environment.NewLine, "\n") 

uniquement Excel nécessite l'alimentation en ligne et non le retour chariot. Aussi je pense que j'ai souffert une certaine confusion entre "[// r]" et "\ r"

0

cell.Text = "votre firstlineyour deuxième ligne";

si vous obtenez le texte de DB puis:

cell.Text = textfromDB.Replace ("\ n", "");