Avatar billede dennisml Nybegynder
30. november 2010 - 22:03 Der er 13 kommentarer og
1 løsning

php til excel

Hej. jeg har en "simple" php kode for de fleste der har forstand på det vil jeg tro.

nå men jeg skal have lavet en side hvor jeg har 10 felter som skal kunne skrives i.

ca sådan her: a1 osv er lige med i hver tabel i excel.

    A1        B1        c1        d1        e1        f1
"datetime"  Antal 1  Google    omk pr XX  antal sa    198

a1 lige med dags dato.
b1 lige med x antal enheder
c1 lige med google omkostninger (pris/kr)
d1 lige med B1 divideret med C1 (fx C1/B1=XXX)
e1 lige med antal "sager"
f1 lige med en fast "pris"
g1 lige med e1 gange f1 (fx e1*f1=XXX)
Osv osv..

men hvordan for jeg den til at lægge sammen osv. jeg har kun fået den til at smide data i en excel fil tabel efter tabel. men skal ave nogle tabeler hvor den ikke skal skrive noget i. fx F1 tabelen, hvilket ALTID er fast.
derefter skal den opdatere og udregne "prisen/antal" for de steder der skal ganges eller divideres.

sidst men ikke mindst, så er vi 3 "bruger" der skal skrive/opdatere dette ark hver dag. så det skal være så jeg "bruger 1" skriver min dataer ind. derefter "bruger 2" osv.
hvis jeg har skrevet et 1 tal i et felt og bruger 2 skriver 2 så skal den opdatere det og skrive 3 osv.

kan dette lade sig gøre :D

på forhånd tak..
Keep it simple pls.
Avatar billede dennisml Nybegynder
30. november 2010 - 22:04 #1
dette er min kode nu :D

<?php
error_reporting(0);
date_default_timezone_set('Europe/Belgrade');


if ($_POST['submit'] == "OK") {
  $excelfile = "timer/contents.xls";
  $ourFileName = "timer/contents.txt";
  $ourFileHandle = fopen($ourFileName, 'a') or die("can't open file or file doesn't exists");
  $excelhandle = fopen($excelfile, 'a') or die("can't open file or file doesn't exists");
  $datetime = date("M j, Y H:i:s");

  $text = "<table>";
  $text .= "<tr><td>" . $datetime . "</td><td>" . $_POST['tekst']. "</td><td>" . $_POST['tekst1'] . "</td><td>" . $_POST['tekst2'] . "</td></tr>";
  $text .="</table>";

  fwrite($ourFileHandle, $_POST['content']. " - " . $datetime . "\r\n");
  fwrite($excelhandle, $text);

  fclose($ourFileHandle);
  fclose($excelhandle);

  header("Location: form.html");
}
?>
Avatar billede webweaver Praktikant
30. november 2010 - 23:07 #2
Hvordan skal Excel arket vises? Altså vil du have formlerne inde i Excel, så udregningerne sker derinde eller vil du regne alle tal ud i PHP og så smide de færdige tal ind i arket, så der ikke er noget dynamisk men kun statisk indhold der?

Hvis der er flere som kan tilføje til den på den måde som du snakker om, vil det umiddelbart kræve at du først trækker indholdet ud af Excel arket, for derefter at tage den værdi og ligge sammen (addere) med den nye. Men kan tallet altid kun stige? Det kan ikke tænkes at tallet skal falde på et tidspunkt? Altså at der skal trækkes noget fra eller hvordan vil du have det?

Man kan jo også bare (som er det mest simple), trække data ud fra arket, så værdierne står i input fiels allerede når man går ind på siden, hvor I tilføjer data til arket. Så vil der måske måske stå 3, og hvis du så ønsker at smide 2 mere på, skriver du 5... Helt basalt.
Avatar billede dennisml Nybegynder
30. november 2010 - 23:30 #3
er lidt "ligeglad" hvordan den kommer frem til det samlet resultat.
talet vil ikke falde.

du kan se et "færdigt" resultat her:
http://cafehvideklit.dk/fx.xls

vil have sådan en linje for hver dag. og kun en linje.

så hvis du smider data ind i et felt så ligger den det ind, og hvis jeg gør, så plusser den mit tal med dit. der er ALDRIG et minus der bliver indsat..

a1= dato (tid ikke nødvendig)
b1= et tal (altid plus)
c1= et tal (altid plus)
d1= Skal dividere C1 med B1 og give resultat af dette.
e1= et tal (altid plus)
f1= skal ALTID stå på 198 (en pris)
g1= Skal Gange E1 med F1 og give resultat af dette.
h1= et tal (altid plus)
i1= et tal (altid plus)
j1= skal dividere I1 med H1 og give resultat af dette
k1= et tal (altid plus)
l1= et tal (altid plus)
m1= skal dividere L1 med K1 og give resultat af dette
n1= et tal (altid plus)
o1= et tal (altid plus)
p1= skal ALTID stå på 5990(en pris)
q1= Skal plusse N1 og O1 derefter gange med P1. fx =(N1+O1)*P1

håber dette giver mening.
Avatar billede dennisml Nybegynder
01. december 2010 - 23:33 #4
Det er der måske ikke nogen der kan? eller det er måske umuligt
Avatar billede repox Seniormester
02. december 2010 - 14:41 #5
Du kan ikke - via PHP - indsætte de der beregningsmekanismer som du bruger i Excel. Det er kun microsoft der ved hvordan de har implementeret den funktionalitet i deres binære ark-formater...
Avatar billede webweaver Praktikant
02. december 2010 - 15:01 #6
Jeg har ikke prøvet at arbejde med excel og PHP sammen. Men hvis du allerede har fået den til at smide data i excel arket via PHP, og det kun er beregningerne der driller, kan du bare lave dem i PHP istedet for i Excel. Så er det ganske normale regneregler der gælder.

F.eks,

$b1 = $_POST['talfraform1']; // Et tal fra formen
$c1 = $_POST['talfraform2']; // Et andet tal fra formen
$d1 = $b1 / $c1; // her divideres de 2 tal

og så videre ...
Avatar billede dennisml Nybegynder
03. december 2010 - 12:03 #7
Hej tak for svaret. jeg har fået mit php script til at regne det hele ud osv for mig.
nu mangler jeg blot at den KÚN oprettet en linje pr dag.
og så at fx bruger 1. ligger data ind i dag. og bruger 2 også ligger data ind, så den ligger de to sammen og giver det samlet resultat.?

kan det lade sig gøre?

eller evt nogle links osv til hvordan jeg skal gøre det?
eller forslag. ? :D
Avatar billede webweaver Praktikant
03. december 2010 - 20:48 #8
Du trækker data ud fra filen (nu sætter du data ind i den), og på den måde kan du arbejde med værdierne du får ud. Fx opdatere tallet og så smide det ind i filen igen, som du gør nu.

På samme måde kan du lave 1 linie pr. dag. Du henter datoen ud og checker på den. Hvis dags dato eksisterer, skal den opdatere rækken, hvis den ikke eksisterer, opretter den en ny linie.

fwrite skriver til en fil.
fopen læser fra en fil, så det er den du skal læse lidt om :-)
Avatar billede dennisml Nybegynder
04. december 2010 - 17:58 #9
okay, jamen så må jeg google mig lidt rundt :D tak for det.. skriver hvordan det går :D
Avatar billede webweaver Praktikant
04. december 2010 - 18:24 #10
Lyder fint, du kan jo bare skrive, så kan vi også hjælpe, hvis der skulle være nogle problemer :-)
Avatar billede webweaver Praktikant
17. januar 2011 - 17:57 #11
Hvad fandt du ud af her!?
Avatar billede dennisml Nybegynder
20. maj 2011 - 15:52 #12
.
Avatar billede webweaver Praktikant
20. maj 2011 - 18:03 #13
Flot ....
Avatar billede repox Seniormester
20. maj 2011 - 18:38 #14
Så er alt som det plejer at være....
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