PHPExcel opent excel niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

Front-end Developer

Gezellige team, passie en een groene toekomst! Lees hier de vacature van Front-end Developer bij All in Power! All in power heeft zich tot doel gesteld écht bij te dragen aan de energietransitie. Dit doen wij door de markt voor energie volledig op zijn kop te zetten. Producenten van schone (wind- of zonne-)energie verkopen via ons platform hun energie rechtstreeks aan gebruikers. Of dit nu huishoudens, bedrijven of bijvoorbeeld laadpalen zijn ons platform maakt het uitwisselen van energie mogelijk. Zo maken we de business case van onze klanten veel sterker en loont het om (meer) te investeren in vergroening voor

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »
Stefan H

stefan H

07/10/2014 14:33:43
Quote Anchor link
Kan iemand mij helpen met onderstaande ,

Ik heb via een tutorial een script gemaakt om gegevens uit de database te open in een excel bestand ,

Nu opent excel niet maar worden allerlei rare tekens weer gegeven op het pagina

Ziet iemand wat er fout zit ?

Alvast bedankt voor reactie
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
require_once("../src/PHPExcel.php");
include("config_transactions.php");

$number = $_POST['number'];
$date_from = $_POST['date_from'];
$date_till = $_POST['date_till'];
$connect_name = $_POST['select_connect_name'];
$bijschrijvingen = $_POST['bijschrijvingen'];
$afschrijvingen = $_POST['afschrijvingen'];
$opmerkingen = $_POST['opmerkingen'];
$tc = $_POST['tc'];

if($date_from !=""){
$date_from_sql = "$date_from";
}

else{
$date_from_sql = "1970-01-01";
}

if($date_till !=""){
$date_till_sql = "$date_till";
}

else{
$date_till_sql = "2099-01-01";
}

if($bijschrijvingen !=""){
$bijschrijvingen_sql = "AND trans_type = 'C' AND value='$bijschrijvingen'";
}

else{
$bijschrijvingen_sql = "";
}

if($connect_name !=""){
$connect_name_sql = "AND connect_name = '$connect_name'";
}

else{
$connect_name_sql = "";
}

if($afschrijvingen !=""){
$afschrijvingen_sql = "AND trans_type = 'D' AND value='$afschrijvingen'";
}

else{
$afschrijvingen_sql = "";
}

if($opmerkingen !=""){
$opmerkingen_sql = "AND (note1 = '$opmerkingen' OR note2 = '$opmerkingen')";
}

else{
$opmerkingen_sql = "";
}

if($tc !=""){
$tc_sql = "AND trans_code = '$tc'";
}

else{
$tc_sql = "";
}


$load_transactions = "SELECT
id,
date,
trans_type,
value,
connect_name,
trans_code,
note1,
note2 FROM transactions
WHERE number=$number
AND date BETWEEN '$date_from_sql' AND '$date_till_sql'
$connect_name_sql
$bijschrijvingen_sql
$afschrijvingen_sql
$opmerkingen_sql
$tc_sql ORDER BY date DESC"
;

$result = mysqli_query($connect, $load_transactions);

function
getRow($result){
    return $result->fetch_assoc();
}


    try {
        $sheet = new PHPExcel();
        
        // Set metadata
        $sheet->getProperties()->setCreator('www.example.com')
                               ->
setLastModifiedBy('www.example.com')
                               ->
setTitle('TransactieOverzicht')
                               ->
setKeywords('TransactieOverzicht');
        
        // Set default settings
        $sheet->getDefaultStyle()->getAlignment()->setVertical(
                PHPExcel_Style_Alignment::VERTICAL_TOP);
        $sheet->getDefaultStyle()->getAlignment()->setHorizontal(
                PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $sheet->getDefaultStyle()->getFont()->setName('Lucida Sans Unicode');
        $sheet->getDefaultStyle()->getFont()->setSize(12);
        
        // Get reference to active spreadsheet in workbook
        $sheet->setActiveSheetIndex(0);
        $activeSheet = $sheet->getActiveSheet();
        
        // Set print options
        $activeSheet->getPageSetup()->setOrientation(
                PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE)
                ->
setFitToWidth(1)
                ->
setFitToHeight(0);
        
        $activeSheet->getHeaderFooter()->setOddHeader('&C&B&16' .
                $sheet->getProperties()->getTitle())
                ->
setOddFooter('&CPage &P of &N');
        
        // Populate with data
        $row = getRow($result);
        $colHeaders = array_keys($row);
        $col = 'A';
        $rownum = 1;
        
        // Set column headings
        foreach ($colHeaders as $header) {
            $activeSheet->setCellValue($col . $rownum, $header);
            $activeSheet->getStyle($col . $rownum)->getFont()->setBold(true);
            if ($col == 'G') {
                $activeSheet->getColumnDimension($col)->setWidth(60);
            }
else {
                $activeSheet->getColumnDimension($col)->setAutoSize(true);
            }

            $col++;
        }

        
        // Populate individual cells with data
        do {
            $col = 'A';
            $rownum++;
            foreach ($row as $value) {
                $activeSheet->setCellValue($col++ . $rownum, $value);
            }
        }
while ($row = getRow($result));
        
        // Format individual columns
        $activeSheet->getStyle('B2:B' . $rownum)->getAlignment()
            ->
setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
        $activeSheet->getStyle('G2:G' . $rownum)->getAlignment()
            ->
setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT)
            ->
setWrapText(true);
        $activeSheet->getStyle('D2:D' . $rownum)->getNumberFormat()
            ->
setFormatCode('#,##0');
        $activeSheet->getStyle('F2:F' . $rownum)->getNumberFormat()
            ->
setFormatCode('$#,##0.00');
        
        // Give spreadsheet a title
        $activeSheet->setTitle('Cars');
        
        // Generate Excel file and download
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="cars.xlsx"');
        header('Cache-Control: max-age=0');
        
        $writer = PHPExcel_IOFactory::createWriter($sheet, 'Excel2007');
        $writer->save('php://output');
        exit;
        
    }
catch (Exception $e) {
        $error = $e->getMessage();
    }

?>
 
PHP hulp

PHP hulp

22/11/2024 06:38:49
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/10/2014 15:16:06
Quote Anchor link
Waarschijnlijk genereert php foutmeldingen waardoor je bestandsindeling in één keer verknalt wordt.

Het handigste is om regel 153, 154, 155 en regel 158 even te voorzien van twee slashes zodat het slechts commentaar wordt en dan deze pagina even rechtstreeks aanroepen vanuit de browser. Je krijgt dan in ieder geval foutmeldingen dat er $_POST variabelen niet bestaan. In bovenstaande code zou je daar ook rekening mee moeten houden :-)

Eventueel kun je in php gewoon even zelf een $_POST var aanmaken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_POST
['number'] = 33;
?>


Dit is niet een nette oplossing maar om even te testen moet het wel kunnen.



Toevoeging op 07/10/2014 15:19:00:

Als je uiteindelijk weer een script hebt zonder foutmeldingen dan haal je de slashes weer weg

Toevoeging op 07/10/2014 15:23:45:

Voorbeeldje voor het opvangen van ontbrekende post vars:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$number
= 'Onbekend';
if(isset($_POST['number']))
    $number = $_POST['number'];
?>
Gewijzigd op 07/10/2014 15:19:47 door Frank Nietbelangrijk
 
Stefan H

stefan H

07/10/2014 16:08:52
Quote Anchor link
krijg nu de volgende fout meldingen in php errorreport . enig idee wat deze betekenen?

Warning: array_keys() expects parameter 1 to be array, null
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php // Populate with data
        $row = getRow($result);
        $colHeaders = array_keys($row);
        $col = 'A';
        $rownum = 1;
?>


Warning: Invalid argument supplied for foreach() in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?phpforeach ($colHeaders as $header) {
            $activeSheet->setCellValue($col . $rownum, $header);
            $activeSheet->getStyle($col . $rownum)->getFont()->setBold(true);
            if ($col == 'G') {
                $activeSheet->getColumnDimension($col)->setWidth(60);
            } else {
                $activeSheet->getColumnDimension($col)->setAutoSize(true);
            }
            $col++;
        }
?>


) Warning: Invalid argument supplied for foreach() in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($row as $value) {
                $activeSheet->setCellValue($col++ . $rownum, $value);
            }

?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/10/2014 16:45:13
Quote Anchor link
Dat betekent dat $row geen array is maar FALSE. fetch_assoc() geeft namelijk FALSE terug wanneer er geen rij voorhanden is.
Jij gaat er op regel 112 gewoon vanuit dat er altijd een (nieuw) record uit de database komt. Maar ook 0 beschikbare records naar aanleiding van een query is heel goed mogelijk.

P.s. je moet je niet druk maken over de tweede of derde foutmelding. Die komt 99 van de 100 keer omdat er al eerder een fout optrad.
Gewijzigd op 07/10/2014 16:52:58 door Frank Nietbelangrijk
 
Stefan H

stefan H

07/10/2014 17:34:35
Quote Anchor link
Oke klinkt logisch

ik dacht dit misschien op te kunnen lossen door onderstaand
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$row
= getRow($result);
        if(!empty($row)){
        $colHeaders = array_keys($row);
        }

        else{
        $colHeaders = "unknown";
        }

?>


maar nu krijg ik nog steeds de laatste 2 foutmeldingen en nog steeds die rare tekens
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/10/2014 20:05:09
Quote Anchor link
array_keys geeft een array terug, dus dan zal het op zijn minst worden: $colheaders = array('Unknown')

Echter heeft het denk ik niet zo veel zin om een excelsheet te produceren waar verder geen inhoud in staat behalve
25 keer 'Unknown'.

ah..
Ik zie dat je de mysqli_ functies zowel object georiënteerd als procedureel gebruikt. dat gaat denk ik niet werken en is wellicht de reden dat er geen records opgehaald worden.

verander de getRow functie naar het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function getRow($result){
    return mysqli_fetch_assoc($result);
}

?>


Om toch nog even het verhaal 'wat te doen als er geen records gevonden worden' af te maken:
controleer van te voren of je wel minimaal één record hebt gekregen uit de database door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(mysqli_num_rows($result) > 0)
{

    // we hebben minimaal één record in $result klaarstaan, dus we kunnen een excelsheet gaan maken
}
Gewijzigd op 07/10/2014 20:09:31 door Frank Nietbelangrijk
 
Stefan H

stefan H

09/10/2014 20:42:35
Quote Anchor link
Inmiddels gevonden wat er fout ging , misschien een slordig foutje maar ik maakte het verzoek met een Ajax call . Dat blijkt dus niet te werken met phpexcel .

Bedankt voor de reacties ,
@ frank inderdaad wel even controle toegevoegd of er wel een record gevonden word
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.