/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Åbne data i Excel
Fra : Klaus Ambrass


Dato : 19-05-03 08:08

Hej,

jeg har nogle data som gerne skulle ende i Excel. Fra oversigten i
browseren (MSIE) skal brugerens klikke på en knap der så åbner de samme
data i Excel. Hvordan gør jeg det bedst: downloader data i en CSV-fil,
henter data ned i browseren (via arrays) der så åbner Excel og indsætter
data, eller noget helt andet?

Jeg ved godt, at man bare kan markere teksten i browseren og klippe den ind
i excel - men mine brugere synes det er for svært og desuden medklippes
formattering, der også forstyrrer brugerne. Jeg er kun interesseret i at få
data over. Design laver brugerne selv.

--
Klaus Ambrass

IT - Storstrøms Amt
kam@it.stam.dk

 
 
Jonas Levring (19-05-2003)
Kommentar
Fra : Jonas Levring


Dato : 19-05-03 22:02

Det burde ikke være noget problem at omskrive den her stump php til noget
andet :)

Det koster en bajer...

Ta den:

-------------------------START------------------------
<?php
header( "Content-type: binary/octet-stream");
header( "Content-Disposition: atachment;
filename=outputfil_fra_kundedatabase.xls_");


include("databaseconnect.inc.php"); // Opretter forbindelse til mysql.

$skrivtilfil_tal = 10000;

// Excel begin of file header
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
// Excel end of file footer
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
// Function to write a Number (double) into Row, Col
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
// Function to write a label (text) into Row, Col
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}

xlsBOF(); // begin Excel stream
xlsWriteLabel(0,0,"Kundenummer");
xlsWriteLabel(0,1,"Firmanavn");
xlsWriteLabel(0,2,"Fornavn");

$nr=1;
while ($skrivtilfil_tal <=15000){
$result = mysql_query("select * from $kunde_database where kunde_nr =
'${"".$skrivtilfil_tal}'");
$row = mysql_fetch_array($result);
if ($row[kunde_nr]) {
xlsWriteNumber($nr,0,"$row[kunde_nr]");
xlsWriteLabel($nr,1,"$row[firmanavn]");
xlsWriteLabel($nr,2,"$row[fornavn]");
$nr=$nr+1;
}
$skrivtilfil_tal = $skrivtilfil_tal+1;
}
xlsEOF(); // close the stream
?>

-------------------------SLUT------------------------



Klaus Ambrass (20-05-2003)
Kommentar
Fra : Klaus Ambrass


Dato : 20-05-03 08:02

"Jonas Levring" <jonas@slet_dette_levring.dk> wrote in
news:babg7j$13go$1@news.net.uni-c.dk:

> Det burde ikke være noget problem at omskrive den her stump php til
> noget andet :)
>
> Det koster en bajer...
>
<snip>

Sejt - det prøver jeg at hitte ud af.

Mange tak.

--
Klaus Ambrass

IT - Storstrøms Amt
kam@it.stam.dk

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste