Avatar billede lsskaarup Nybegynder
06. juli 2005 - 09:00 Der er 23 kommentarer og
1 løsning

Excel-webside roder rundt i layout

Jeg arbejder på et internt system, hvor enkelte brugere skal kunne lægge diverse infomationer op, bl.a. et Regneark indeholdende ferie for de forskellige afdelinger. Det er for længe siden blevet bestemt, at disse brugere bare skulle lave f.eks. en word fil eller excel fil, som ligger et sted systemet har adgang til.

Det fungerer godt nok når det er et lille worddokument, men nu er jeg altså kommet til et excel regneark og det driller lidt.

Koden som henter siden er her:
<div id="top">
<a href="/" style="width: 170px; text-align: center; float: left; text-decoration: none; margin-top: 10px; font-family: Serpentine; font-size: 34pt; font-weight:bold; font-style: italic; color:rgb(153,153,153)">Staalnet</a>
<span style="margin-top: 10px; width: 750px; text-align: right; position: absolute; font-family: Serpentine; font-weight:bold; font-style: italic; color:rgb(153,153,153)"><span style="font-size: 34pt;">DS </span><span style="font-size: 26pt;">Stålkonstruktion</span>&nbsp;&nbsp;&nbsp;<img src="/gfx/logo.jpg" border="0"></span></div>
<div id="left"><?php include('content/menu.php'); ?></div>
<div id="right"><?php include('content/'.$page.'.php'); ?></div>

Det er især de to sidste linie, som er interessante. $page bliver udskiftet med navnet på førnævnte fil.

Problemet er at når, regnearket hentes, så bliver layouttet i menuen helt forkert. Bl.a. er den ikke længere top-justeret, og skrifttypen ændres også. Hvorfor sker dette?
Avatar billede olebole Juniormester
06. juli 2005 - 15:02 #1
<ole>

Ufatteligt, det overhovedet kan vise noget - og hvis det er tilfældet, er dét fejlen  :)

Et excel-ark har ikke noget med HTML at gøre, så det kan du ikke inkludere i et HTML-dokument

/mvh
</bole>
Avatar billede lsskaarup Nybegynder
06. juli 2005 - 15:59 #2
Undskyld det fik jeg nok ikke beskrevet godt nok. Man kan bl.a. i Excel gemme som en webside, som man kan publicere noget til nettet. Godt nok laver Excel en masse slamkode, men brugerne kan finde ud af det, så det må jeg overleve.
Avatar billede roenving Novice
06. juli 2005 - 16:49 #3
-- det er vel så fordi Excel laver et 'helt' html-dokument, så hvorfor kaster du det ikke ind i en iframe ?-)
Avatar billede lsskaarup Nybegynder
07. juli 2005 - 08:13 #4
Ja, det gør den vel, men det mærkelige er at vi bruger det samme princip bare med Word, til at lave afdelingerne forskellige forsider, og her er der ingen problemer. Det der med iframe, hvad er det egentlig?
Avatar billede jps6kb Novice
07. juli 2005 - 09:17 #5
En iframe er en ramme du kan placere inde i et html dokument, hvor du kan skifte indhold i.

Se evt.:


<a href="en_side.htm" target="min_frame">Et link</a>
<br/>
<iframe name="min_frame" height="100" width="100"></iframe>

Når du klikker på linket, åbnes 'en_side.htm' i iframen.. ;)
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 09:39 #6
Jeg tror ikke jeg kan bruge en iframe, for det er et system som er langt i udviklingen, og div'en som bruges til feriearket, bruges også til meget andet, og så skal jeg til den helt store tilpasning.
Avatar billede roenving Novice
08. juli 2005 - 10:05 #7
-- overhovedet ikke noget problem, for du kan stort set bytte en iframe lige over for en div !-)
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 10:12 #8
Hvordan det, for jeg synes ikke rigtigt det lykkedes, hvad vil linien hedde for at lave det samme som:
<div id="right"><?php include('content/'.$page.'.php'); ?></div>

En mærkelig opservation. Der er åbenbart forskel på om man i Excel vælger at gemme hele regnearket eller kun en markering som web-side. For gemme jeg kun markeringen, så roder den ikke rundt med designet, men jeg synes bare ikke det holder, at skulle lære de 5-6 personer, som skal vedligeholde ferieplanen, at de skal huske at markere og så gemme kun denne som webside.

En anden mærkelig ting, er at billeder ikke bliver vist selvom de ligger i mappe som excel laver
Avatar billede roenving Novice
08. juli 2005 - 10:20 #9
Hvilke styles har du givet din div ?-)

-- men f.eks.

<div id="right"><iframe src="content/<?php $page ?>.php" style="width:100%;height:100%"></iframe></div>

-- jeg har forsøgt at klone tingen som den simpleste løsning, men du skal sikkert tilføje nogle småting til style-tagget ...

-- og jeg kan forestille mig, at problemet har en sammenhæng med, at der oprettes nogle styles i Excels export til web-fil, som  tilfældigvis kolliderer med nogle af dine styles !-)
Avatar billede roenving Novice
08. juli 2005 - 10:28 #10
-- og der manglede da lige en bette stump php-kode:

<div id="right"><iframe src="content/<?php print $page ?>.php" style="width:100%;height:100%"></iframe></div>
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 10:32 #11
Nu er det ikke mig, som har lavet systemet fra start af, men jeg kan da prøve at forklare. I iframen bliver alt indlæst, det vil sige, også index.php, som indeholder bl.a. menu, og en reference til denne excel-side. Dog vises excel-siden ikke i iframe.

Det er et internt system, så jeg kan ikke engang vise dig resultatet, med mindre du har en email jeg må sende et screendump til.

Du har nok ret i at der må være nogle styre som kolliderer, men jeg har lige let kigget den i gennem, og synes ikke jeg kunne finde noget. De burde vel også kollidere, når jeg kun gemmer en markering?
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 10:36 #12
Okay så lige at excel laver en style til <td>, og det har jeg også, kan man på en eller anden måde, sige at det er min der skal bruges, eller må jeg via noget reg. exp. skrelle det væk, hvis det kan lade sig gøre?
Avatar billede roenving Novice
08. juli 2005 - 10:59 #13
-- problemet er vel, at Excel skriver et style-tag i sin header, faktisk er det et under, at dokumentet så vises uden problemer ...

-- og det er selvfølgelig fordi dokumentet som udgangspunkt er skrevet i en slags M$-html, som mest er html3.2, men så har en hel del elementer med omkring styling osv., som er af nyere dato ...

-- men hvis det skal bruges internt i IE, er der så kun problemet om dine tables tilbage, prøv om du ikke kan komme fornuftigt til at sætte class på dine tables, så kan du jo sætte almindelige properties:

.ourTable{border:0;border-collapse:collapse;}
.ourTable td{border:1px dotted red;}

-- men virker det ikke med at skrive iframen ?-)
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 11:18 #14
Nej iframen virker slet ikke. Opbygningen af layout svarer til en 3-deling, en top som fylder hele breden, en menu til venstre og et indholdsområde til højre.

Iframen viser altså det hele igen, så det vil sige, at jeg pludselig får en top, en menu, et indholdsomr. som igen indholder en top, en menu og indholdsomr. som så ikke viser noget.
Avatar billede roenving Novice
08. juli 2005 - 11:39 #15
<div id="right"><iframe src="content/<?php print $excelPageMFilType ?>" style="width:100%;height:100%"></iframe></div>
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 11:46 #16
Øh, var er nu det for en variabel $excelPageMFilType ???
Avatar billede roenving Novice
08. juli 2005 - 11:50 #17
-- indsæt linket direkte til den oprindelige excel- eller word-fil !-)
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 12:00 #18
Jamen det holder ikke, fordi $page jo netop er en variabel, så det behøves langt fra at være en excel-web-fil.
Avatar billede roenving Novice
08. juli 2005 - 12:02 #19
-- det kan du jo bare gøre den til !-)
Avatar billede lsskaarup Nybegynder
08. juli 2005 - 13:07 #20
Jamen, så vil der jo ikke være nogle forskel i forhold til den tidligere kode. Ja, undskyld, men jeg er lidt rundforvirret lige nu... :-0
Avatar billede olebole Juniormester
09. juli 2005 - 15:24 #21
- lige en lille - omend afsindig vigtig detalje: I roenvings eksempel (08/07-2005 10:20:30) er det en nødvendighed, at td'en med id="right" får sat en højde.
Ellers har iframe'en ikke noget at bestemme sin 100%'s højde udfra - og iframe'en vil derfor ikke vises, da dens højde så er 0  ;o)
Avatar billede lsskaarup Nybegynder
11. juli 2005 - 09:23 #22
olebole -> Okay, men det løser jo som sådan ikke mit problem, eller hvad?
Avatar billede lsskaarup Nybegynder
07. september 2005 - 10:22 #23
Har I flere ideer, eller skal jeg give fortabt?
Avatar billede lsskaarup Nybegynder
31. oktober 2005 - 11:27 #24
Nå, så lukker jeg
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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