Avatar billede clscableguy Praktikant
21. november 2005 - 08:18 Der er 21 kommentarer og
1 løsning

Excel og tal?

Hej

Jeg skal indsætte nogle tal i en excel fil.

Men de kommer ind som tekst.

Jeg gør det med følgende:

Connecting:
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=testxls" & ";Extended Properties='Excel 8.0;HDR=NO;IMEX=2';"
Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open "SELECT * from `Ark1$A1:K56`", oConn, 1, 2

    oRS(8) = rs("pris")

    oRS.update
    oRS.movenext

Hvad skal jeg gører?

På forhånd tak for hjælpen.
Avatar billede supertekst Ekspert
21. november 2005 - 08:28 #1
har du prøvet med Val(rs("pris"))
Avatar billede clscableguy Praktikant
21. november 2005 - 08:33 #2
Val er ikke en ASP kommando.

jeg også prøvet med oRS(8).Value = rs("pris")
Avatar billede nielle Nybegynder
21. november 2005 - 08:35 #3
Hvad med CInt() eller CDbl()?
Avatar billede nielle Nybegynder
21. november 2005 - 08:36 #4
Er prisen i øvrigt gemt som en tekst, eller et tal, der hvor rs() får dem fra?
Avatar billede b_hansen Novice
21. november 2005 - 08:43 #5
Hvis du har adgang til Excel, vil en nem løsning være, at starte Excel op; markere dataområdet og gange det med 1. Så er du sikker på, at Excel opfatter det som tal.
Avatar billede clscableguy Praktikant
21. november 2005 - 08:47 #6
rs() kommer fra en mysql database og der er pris et DECIMAL(10,0)

har lige prøvet med CInt og CDbl()
Det virker heller ikke.

Jeg har lige checket hvilken tekst jeg får ind i excel og den har et tegn foran tallet. 

Tegnet er '
Avatar billede clscableguy Praktikant
21. november 2005 - 08:48 #7
b hansen >> Ja, men det skal være uden at bruge excel, da det gerne skulle kører automatisk.
Avatar billede nielle Nybegynder
21. november 2005 - 08:48 #8
Mystisk.

Hvad får du ud hvis du udskriver det samme i ASP før at du lægger det ind i Excel?
Avatar billede clscableguy Praktikant
21. november 2005 - 08:52 #9
nielle >> der viser den det rigtig nok, uden ekstra tegn eller noget
Avatar billede clscableguy Praktikant
21. november 2005 - 08:53 #10
jeg kan dog åbne filen i excel og vælge felterne og sige convert to number
Avatar billede b_hansen Novice
21. november 2005 - 09:07 #11
Jeg er bange for, at det er et problem i Excel. Jeg har flere gange oplevet, at tal overført fra Access til Excel bliver opfattet som tekst. Apostroffen foran tallet er Excels markering af, at det er et tekstfelt.

Automatikken kan vel bibeholdes, hvis du gemmer i en Excel-fil. Den kan du vel tilføje en makro, der laver konverteringen. Men blot en strøtanke, da programmering ikke lige er min stærkeste side *S*
Avatar billede nielle Nybegynder
21. november 2005 - 09:52 #12
Kan det have noget at gøre med at det muligvis står decimal-komma/punktum det ene sted og decimal-punktum/komma (altså omvendt) det andet? Det ville i hvert fald forklare konverteringen far tal til tekst undervejs.
Avatar billede clscableguy Praktikant
21. november 2005 - 10:03 #13
måske, men har lige prøvet at lave en formatnumber(rs("pris"), 0) og det giver samme resultat
Avatar billede nielle Nybegynder
21. november 2005 - 10:52 #14
Formatnumber vælger det lande-talformat som ASP-sitet er sat op til. Det er ikke nødvendigvis det samme som det dit Excel program forventer.
Avatar billede clscableguy Praktikant
21. november 2005 - 10:57 #15
nu har jeg prøvet med Cint(123) og med CInt("123")

virker stadigvæk ikke    :(
Avatar billede nielle Nybegynder
21. november 2005 - 17:22 #16
Hvis det ikke en gang virker at skrive:

oRS(8) = 123

- så er jeg desværre blank :^|
Avatar billede dawin_dk Nybegynder
22. november 2005 - 00:25 #17
jeg ved ikke om man overhovedet KAN gøre det her, om man kan ændre det men er vel et forsøg værd...

oRS(8).type = 14 ' sæt type til decimal tal

.. ellers... du kan prøve at tilføje et = foran i det du adder.. da det så burde opfattes som noget der skal beregnes...

oRS(8) = "=" & rs("pris")

som sagt, ved ik om det virker, men det er vel værd at forsøge :)

/david
Avatar billede clscableguy Praktikant
22. november 2005 - 07:18 #18
dawin dk >> har prøvet begge uden held. den giver en fejl ved den første. men et forsøg hver
Avatar billede dawin_dk Nybegynder
22. november 2005 - 11:58 #19
well.. så kommer vi til den intressante måde.... er der installeret office på serveren.. for så ville du kunne køre programmet (også som objekt) istedet for at connecte gennem ado ...
Avatar billede clscableguy Praktikant
22. november 2005 - 12:14 #20
dawin dk >> nej det tror jeg ikke der er. Det hele kører på et webhotel hos wannafind.dk
Avatar billede clscableguy Praktikant
05. februar 2007 - 08:42 #21
Lukker.
Avatar billede supertekst Ekspert
05. februar 2007 - 09:25 #22
Har du prøvet med Ccur()
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester