webForumDet fria alternativet

Från asp till excel

ASP

1 svar · 412 visningar · startad av margar-0

Medlem sedan nov. 200362 inlägg
Frågan#1

Jag har en asp kod som genererar en .csv-fil i excel men jag får problem med formatet på födelsdatumet. Kunden vill nämligen ha ha fomatet på följande sätt ddmmåå, alltså tex 051077. Men då jag öppnar csv filen står det i kolumnen 51077. Skriver jag 05-10-77 så är nollan kvar. Har läst att excel tolkar 051077 som ett tal och inte ett datum. Så här ser min kod ut förenklad:
Const REPORTFILEPATH = "/test/upload/"
filepath = REPORTFILEPATH & "prutt.csv"
Set fso = createobject("scripting.filesystemobject")
Set act = fso.CreateTextFile(server.mappath(filepath), true)
act.write "Datum;"
act.write "Datum2"&vbCrlF
act.write "057076;" HUR KAN JAG HÄR SÄGA ATT INTE NOLLAN SKA TAS BORT FRÅN KODEN
act.write "05-70-76"&vbCrlF
act.close

Hur ska jag göra i koden för att behålla formatet ddmmåå? Kan jag säga att i koden att kolumnen ska vara i text format?

Har provat med act.write "=""057076""" men det funkar inte. Verkar som om semikolon separerad fil inte kan ha andra format än tal. Om jag tex skapar en csv fil i excel och skriver 0123 och går till nästa cell försvinner nollan. Om jag formaterar cellen med talet 0123 till text så stannar nollan kvar. Problemet är då jag ska spara filen och stänger ner den och öppnar den igen så står det 123. Nollan har alltså försvunnit fastän jag formaterat cellen till text.

Har ingen stött på samma problem som kan hjälpa mig?

Medlem sedan juli 20041 183 inlägg
#2

det fungerar i excel om du sätter ett enkelt citattecken framför... Alltså t.ex:

'050911 blir 050911 när man tittar på filen i Excel...

Är du säker på att kunden alltid kommer använda excel för att titta på datumen? för det är ju en enkel txtfl från början och excel är ett av många program som kan titta på csv-filer. Exempelvis databaser kan ju importera/exportera .csv-filer...

Kan du inte sätta "-tecken runt alla värden då...

act.write """057076"";""Nästa post"";""Ytterligare en post"";

Resultat:

"057076";"Nästa post";"Ytterligare en post";

Då borde i alla fall fältet tolkas som text i excel och om man vill importera datan i en datas så är...

Hmm, kanske ingen bra ide... Äh, jag postar ädå, du kanske har använding av något :P

430 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
304 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)