2009-07-29 12 views
1

Ich bevölkere ein Excel-Arbeitsblatt mit den Ergebnissen einer Abfrage. In der Ergebnismenge ist ein 'Description'-Feld, das grundsätzlich alles enthalten kann, einschließlich Zahlen, denen vorangestellte Nullen vorangestellt sind, wie zB 0000234. Das Problem ist, dass beim Schreiben in eine Zelle die führenden Nullen weggestoßen werden, also in Der obige Fall endet mit 234. Wie stelle ich sicher, dass es als Textstring behandelt wird und was auch immer im Beschreibungsfeld ist, wird einfach eingefügt wie es ist?classic asp, excel, stop leading 0 (Null) vor dem Entfernen

Die Linie wird verwendet:

Response.Write vbTab & ResultSet(8,r) 

Dank R.

Antwort

0

Präfix der Inhalt mit einem Apostroph.

+0

Diese Excel aus der Behandlung der Inhalt als Zahl verhindern wird, aber es wird auch eine wörtliche Apostroph in den Inhalt injizieren. –

+0

@John: Ja, ich stimme zu. Entschuldigung. Ich hätte es zuerst versuchen sollen. – shahkalpesh

0

Wenn Sie ein Vorlagenblatt haben, das Sie programmatisch öffnen und mit Daten füllen, formatieren Sie die Spalte als Text.

6

Offensichtlich haben Sie eine Lösung gefunden, gegeben your follow-up question.

Für alle anderen, die dies lesen, bestand die Lösung darin, das Ergebnis in eine Excel-Formel zu schreiben, die einfach als Zeichenfolgenliteral ausgewertet wird. Zum Beispiel, wenn Ihre Daten 0000234 und Sie wollen es sich um ein 7-Zeichen-Textwert sein, sollten Sie Excel

="0000234" 

Der ASP-Code in der ursprünglichen Frage geben sollte (und war schließlich) modifiziert

Response.Write vbTab & "=""" & ResultSet(8,r) & """" 

(innerhalb eines Strings müssen wörtliche Anführungszeichen verdoppelt werden.)