Avatar billede mcclaud Nybegynder
26. oktober 2008 - 10:39 Der er 6 kommentarer og
1 løsning

Udtræk af værdi fra Excel-regneark

Hej alle

Jeg har nedenstående stump kode, som genererer en tilfældig værdi mellem lowestNumber1 og highestNumber1. Værdien (11871) ved highestNumber1 er afhængig af indholdet af et særligt felt (titles_total) i en Excel-fil (lme3db2.xls). Er det muligt at udtrække denne værdi fra Excel-filen, så jeg ikke behøver manuelt at rette tallet i koden, når jeg opdaterer Excel-regnearket og værdien derved ændrer sig?

<%
Dim randomNum1, highestNumber1, lowestNumber1
lowestNumber1=10001
highestNumber1=11871
RANDOMIZE
randomNum1= Int((highestNumber1 - lowestNumber1 + 1) * Rnd + lowestNumber1)
response.write randomNum1
%>
Avatar billede w13 Novice
27. oktober 2008 - 13:40 #1
Har du prøvet med http://www.html.dk/artikler/00039 ?
Avatar billede mcclaud Nybegynder
27. oktober 2008 - 20:16 #2
Jeg må mangle noget, for det virker ikke???

forbindelse = Server.CreateObject("ADODB.Connection");
forbindelsesstreng = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" + Server.mapPath(".") + "\\lme3db2.xls;DefaultDir=" + Server.mapPath(".");
forbindelse.Mode = 0;
forbindelse.Open(forbindelsesstreng);

kommando = "SELECT * FROM total_titles";
res = Server.CreateObject("ADODB.Recordset");
res.Open (kommando, forbindelse);

Response.Write("res")

res.close();
forbindelse.close();
Avatar billede w13 Novice
27. oktober 2008 - 20:45 #3
Jeg kan nok ikke hjælpe dig videre uden at vide, hvad der går galt.
Avatar billede mcclaud Nybegynder
27. oktober 2008 - 21:05 #4
Ja, det er selvfølgelig rigtigt... Når jeg indsætter ovennævnte kode og viser siden i en browser, står hele kodeteksten blot i visningen. Måske jeg mangler et eller andet til at fortælle browseren, at der kommer noget funktionalitet og ikke blot plain tekst...

Og er det væsentligt, om koden er placeret i HEAD eller BODY?

:o)
Avatar billede w13 Novice
27. oktober 2008 - 21:14 #5
Til en start skal det bare stå inden for <% og %> sådan her:

<%
forbindelse = Server.CreateObject("ADODB.Connection");
forbindelsesstreng = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" + Server.mapPath(".") + "\\lme3db2.xls;DefaultDir=" + Server.mapPath(".");
forbindelse.Mode = 0;
forbindelse.Open(forbindelsesstreng);

kommando = "SELECT * FROM total_titles";
res = Server.CreateObject("ADODB.Recordset");
res.Open (kommando, forbindelse);

Response.Write("res")

res.close();
forbindelse.close();
%>
Avatar billede mcclaud Nybegynder
28. oktober 2008 - 22:15 #6
Hej igen

Det virker stadig ikke. Så jeg har i stedet for gjort noget andet. Jeg har benyttet FrontPage's indbyggede database-resultatvisning og får vist mit resultat (et tal) helt perfekt på en side, jeg kalder random_values.asp

Det jeg godt kunne tænke mig nu er, at erstatte den faste værdi for highestNumber1 i min RANDOMIZE-funktion (koden er vist herunder) med den værdi, jeg automatisk udtrækker fra Excel som skrevet ovenfor.

<%
Dim randomNum1, highestNumber1, lowestNumber1
lowestNumber1=10001
highestNumber1=11871
RANDOMIZE
randomNum1= Int((highestNumber1 - lowestNumber1 + 1) * Rnd + lowestNumber1)
response.write randomNum1
%>

Koden som sørger for udtrækket af værdien fra Excel ser således ud:

<html>

<head>
<% ' FP_ASP -- ASP, der er genereret automatisk af en FrontPage-komponent. Undlad at redigere.
FP_CharSet = "windows-1252"
FP_CodePage = 1252 %>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>lme3</title>
</head>

<body>

<table>
    <tbody>
        <!--webbot bot="DatabaseRegionStart" s-columnnames="statsTO1b" s-columntypes="200" s-dataconnection="lme3db2" b-tableformat="TRUE" b-menuformat="FALSE" s-menuchoice s-menuvalue b-tableborder="FALSE" b-tableexpand="FALSE" b-tableheader="FALSE" b-listlabels="TRUE" b-listseparator="TRUE" i-listformat="0" b-makeform="FALSE" s-recordsource="total_titles" s-displaycolumns="statsTO1b" s-criteria s-order s-sql="SELECT * FROM &quot;total_titles&quot;" b-procedure="FALSE" clientside suggestedext="asp" s-defaultfields s-norecordsfound i-maxrecords="0" i-groupsize="0" botid="0" u-dblib="../_fpclass/fpdblib.inc" u-dbrgn1="../_fpclass/fpdbrgn1.inc" u-dbrgn2="../_fpclass/fpdbrgn2.inc" tag="TBODY" preview="&lt;tr&gt;&lt;td colspan=64 bgcolor=&quot;#FFFF00&quot; width=&quot;100%&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Dette er begyndelsen af området med databaseresultater. Denne side kan kun vises korrekt, hvis den hentes fra en webserver med en webbrowser. Det aktuelle websted er gemt på din harddisk eller på det lokale netværk.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;" startspan --><!--#include file="../_fpclass/fpdblib.inc"-->
<% if 0 then %>
<SCRIPT Language="JavaScript">
document.write("<div style='background: yellow; color: black;'>Komponenten Databaseresultater på denne side kan ikke vise databaseindhold. Siden skal have et filnavn, der slutter med '.asp', og webstedet skal findes på en server, der understøtter Active Server Pages.</div>");
</SCRIPT>
<% end if %>
<%
fp_sQry="SELECT * FROM ""total_titles"""
fp_sDefault=""
fp_sNoRecords="<tr><td colspan=1 align=""LEFT"" width=""100%""></td></tr>"
fp_sDataConn="lme3db2"
fp_iMaxRecords=0
fp_iCommandType=1
fp_iPageSize=0
fp_fTableFormat=True
fp_fMenuFormat=False
fp_sMenuChoice=""
fp_sMenuValue=""
fp_sColTypes="&statsTO1b=200&"
fp_iDisplayCols=1
fp_fCustomQuery=False
BOTID=0
fp_iRegion=BOTID
%>
<!--#include file="../_fpclass/fpdbrgn1.inc"-->
<!--webbot bot="DatabaseRegionStart" endspan i-checksum="34661" --><tr>
            <td>
            <!--webbot bot="DatabaseResultColumn" s-columnnames="statsTO1b" s-column="statsTO1b" b-tableformat="TRUE" b-hashtml="FALSE" b-makelink="FALSE" clientside b-MenuFormat preview="&lt;font size=&quot;-1&quot;&gt;&amp;lt;&amp;lt;&lt;/font&gt;statsTO1b&lt;font size=&quot;-1&quot;&gt;&amp;gt;&amp;gt;&lt;/font&gt;" startspan --><%=FP_FieldVal(fp_rs,"statsTO1b")%><!--webbot bot="DatabaseResultColumn" endspan i-checksum="20629" --></td>
        </tr>
        <!--webbot bot="DatabaseRegionEnd" b-tableformat="TRUE" b-menuformat="FALSE" u-dbrgn2="../_fpclass/fpdbrgn2.inc" i-groupsize="0" clientside tag="TBODY" preview="&lt;tr&gt;&lt;td colspan=64 bgcolor=&quot;#FFFF00&quot; width=&quot;100%&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Dette er slutningen af området med databaseresultater.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;" startspan --><!--#include file="../_fpclass/fpdbrgn2.inc"-->
<!--webbot bot="DatabaseRegionEnd" endspan i-checksum="56926" --></tbody>
</table>

</body>

</html>
Avatar billede mcclaud Nybegynder
27. november 2008 - 14:40 #7
Intet svar... Jeg lukker spørgsmålet.
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