PHPExcel opent excel niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Front-end Developer vacature

Jij weet wat er nodig is. Jouw hart gaat sneller kloppen van techniek. Jij wil vooruit. Ben jij de Front-end Developer die we zoeken? Je bent creatief, thuis in gebruikersinteractie en een gedreven engineer in hart en nieren. Daarnaast heb jij een klantgerichte en proactieve houding. Precies de kwaliteiten die een Front-end Developer nodig heeft. Wat doe je als Developer? Als Front-end Developer werk je aan de technische realisatie van front-end (web)applicaties in de verschillende uitdagende opdrachten voor Sogeti’s klanten. Dit kan zowel op klantlocatie zijn, als binnen het Center of Excellence van Sogeti. Jij houdt van het uitdenken en

Bekijk vacature »

Outsystems Developer/ C#/ .Net/ Oracle Database

Functieomschrijving Wil je werken bij een marktleider op gebied van transactieverwerking? Wil je werken aan het bouwen van een nieuw platform (greenfield) in Outsystems? Wil je jezelf blijven ontwikkelen en gebruik maken van legio opleidingsmogelijkheden? Dan is dit de ideale functie voor jou. Reageer snel! Ontwikkelen en bouwen van een nieuw Outsystems platform (greenfield); Bouwen van apps, portalen, webapplicaties, API's en businessapplicaties; Plegen van overleg met de business aangaande de diensten en producten; Achterhalen van requirements bij de business. Functie-eisen HBO werk en denkniveau; Minimaal 2 jaar ervaring met Outsystems; Kennis van en ervaring met .Net, JSON, HTML; Kennis van

Bekijk vacature »

Junior Developer met technische affiniteit gevraag

Functieomschrijving Heb jij affiniteit met mobiliteit, infrastructuur en/of techniek? Heb je al ervaring als Java Developer en wil jij aan de slag gaan met high-tech innovatieve oplossingen in dit werkveld? Lees dan nu verder! Mee ontwikkelen van verschillende high-tech applicaties rondom infrastructuur en mobiliteit; Pro-actief de discussie aangaan met andere leden van het Scrum-team om innovatieve oplossingen te ontwerpen; Contact houden met verschillende afdelingen vanuit de business om zowel pro-actief als reactief te kunnen handelen. Functie-eisen HBO- of WO-diploma, richting Informatica of een andere bèta opleiding is een eis; Affiniteit met mobiliteit en infrastructuur is een sterke pré; Enige ervaring

Bekijk vacature »

Senior Java Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Senior PHP Developer BDD Zorg

Functieomschrijving Ben jij een PHP Developer die out of the box denkt? Zoek jij naar de mogelijke als naar de onmogelijke oplossingen? Werk jij graag met kritische vraagstukken dat mensenlevens kan redden of kosten? Reageer nu en kom alles te weten! Ben jij iemand die energie krijgt van het ontwikkelen van een complexe PHP objectgeoriënteerde platform; Denk jij graag mee over de architectuur; Geeft een mooie schone code jou energie en doe jij er alles aan dat dit zo blijft; Vind jij het net zo belangrijk dat de huidige software goed onderhouden wordt; Denk jij graag out of the box;

Bekijk vacature »

Technisch Ontwerper / Applicatieontwikkelaar max.

Op woensdag 6 november organiseert CIMSOLUTIONS op 7 locaties in Nederland het ICT Professional Event. Tijdens deze avond kun je naast een hapje en een drankje onze sfeer komen proeven. Maak kennis met CIMSOLUTIONS, onze collega’s en beleef de ervaringen van onze ICT specialisten én de projecten waar zij het verschil maken. Kijk voor meer informatie en/of aanmelden op: https://www.cimsolutions.nl/nl/cimsolutions-ict-professionals-event Wie zoeken we? Je bent de beste in je vak of hebt de ambitie en de potentie om de beste te worden. Je hebt de passie om nieuwe technologieën te blijven leren en continu jezelf te ontwikkelen. Je hebt de

Bekijk vacature »

Vacature .NET Developer - Werk mee aan een maatsch

Wil jij bijdragen aan de verbetering van de zorg? Zet je kwaliteiten dan in voor CareConnections, een succesvolle scale-up met inmiddels veertien medewerkers.Wij ontwikkelen cross-platform mobile apps die de zorgmedewerkers administratief ontzorgen, zodat de cliënt meer aandacht krijgt. Als technologie je passie is en je je continu wilt blijven ontwikkelen, is dit een functie voor jou! CareConnections ontwikkelt de Zorgapp voor de zorgprofessional. En om de driehoeksverhouding met de cliënt en verwant te stimuleren, heeft CareConnections sinds dit jaar ook de Eva! app om de zelfregie en de participatie te verhogen. Jouw functie als .NET API en Database Developer Als

Bekijk vacature »

Een kritische jonge PHP developer gezocht!

Vacature Omschrijving Deze jonge club van developers in hartje omgeving Eindhoven met een passie voor programmeren en een gezonde focus op front- en backend development zijn opzoek naar een gedreven Allround Web Developer. Waar de algemene template boer ophoudt gaat deze organisatie een stuk verder. De focus van deze organisatie ligt dan vooral op maatwerk oplossingen voor pakketten zoals onder andere Magento en WordPress. Met hier en daar een uitstapje naar een app, API of ander maatwerk. Functieomschrijving Voor onze klant zijn we zijn op zoek naar enthousiaste PHP programmeurs. Waarbij er van je verwacht wordt dat je meedenkend en

Bekijk vacature »

Junior App Developer

Ben je net afgestudeerd en klaar om de ICT wereld te veroveren als Junior App Developer? Wil jij je bezig houden met het ontwerpen en bouwen van maatwerk in Dynamics 365 Business Central? Dan heb je wellicht interesse in de positie: Junior (App) Developer Dynamics 365 Business Central in Hardinxveld-Giessendam / voor 32/40 uren Wat ga jij doen? Door onze sterke groei zijn wij op zoek naar nieuw talent! Als (Junior) Developer houdt jij je bezig met het ontwerpen en bouwen van maatwerk in Dynamics 365 Business Central. Naast programmeren houdt jij je bezig met het ontwerpen van koppelingen met

Bekijk vacature »

Senior .NET developer/ architect gezocht, api deve

Ben je een ervaren .NET developer en op zoek naar baan waarbij je je ook meer kunt gaan richten op architectuur? Binnen een leuke, sociale en betrokken werkomgeving? Met technieken als .NET Core en Azure? Dan zou deze baan wellicht iets voor jou kunnen zijn. Voor een organisatie in Rotterdam zijn we op zoek naar eens senior .NET ontwikkelaar/ architect. De organisatie bevindt zich in de financiële branche en is een van de grotere spelers in hun vakgebied. De organisatie bestaat uit circa 600 medewerkers en heeft verschillende vestigingen in Nederland. Het hoofdkantoor zit in Rotterdam en daar is ook

Bekijk vacature »

Internship - Applied Intelligence

Internship - Applied Intelligence Job Description Join Accenture to unlock, design and implement applied intelligence solutions for many of the world’s most interesting clients. Powered by new data, data science and technology, you’ll help drive digital transformation at the core of their business and enable new outcomes for your clients. A data-native mindset is key to driving disruption and there are extraordinary opportunities for data analytics enthusiasts like you who can find the value in data that others can’t. If you want to impact the business world by solving their greatest challenges using analytics and technology, an internship with us

Bekijk vacature »

Starter C# .NET Developer for BI Solutions

Functieomschrijving Are you a Developer with a passion for .NET? Do you want to work on BI solutions? Do you want to be end-to-end responsible from technical design to delivering? Apply now! You will start in this challenging environment and will be responsible with the team to build new BI solutions, end-to-end. These solutions have the goal to get the data directly from different sources and eventually provide reports to the business. You will be involved, together with the team, in the end-to-end process of developing such a solution: Translating functional designs to technical designs and requirements Developing the solution

Bekijk vacature »

Senior cloud-engineer/ fullstack-developer

Senior cloud-engineer/ fullstack-developer Koninklijk Nederlands Meteorologisch Instituut, Ministerie van Infrastructuur en Waterstaat Functieomschrijving Al sinds 1854 is het KNMI 'data driven'. Waarnemen, data verzamelen, modelleren, analyse en duiding geven zijn de kernactiviteiten van het instituut. Waarnemingen komen van satellieten, radar, vliegtuigen in de lucht, maar ook van de meer dan driehonderd vrijwilligers die neerslagmetingen doen. De ICT van het instituut is zeer omvangrijk en voor de uitvoering van onze modellen beschikken we over een eigen supercomputer. Veel systemen zijn hoog beschikbaar uitgevoerd en kennen geen downtime. Als senior cloud-engineer ben jij de spil tussen de architect en het realisatieteam. Jij

Bekijk vacature »

C#.Net / Ontwikkelaar / Developer / Software Engin

Functieomschrijving C#.Net / Ontwikkelaar / Developer / Software Engineer Ontwerpen van nieuwe applicaties; Herschrijven van bestaande applicaties; Meedraaien in uitdagende projecten; Code reviewen; Communiceren met de business. Functie-eisen HBO werk- en denk niveau; Minimaal 3 jaar ervaring als Software Engineer; Kennis van C# en SQL server zijn een eis; Je hebt ervaring met het werken in een Scrum / Agile omgeving; Heb je al kennis van Micrsoft Azure, dan is dit een belangrijke pré; Kennis van ASP .NET, MVC, Rest, Xamarin, XML/JSON en HTML5/CSS3 zijn mooi meegenomen. Bedrijfsomschrijving Deze organisatie is werkzaam in de e-commerce branche. Het is een snel

Bekijk vacature »

Senior PHP-developer

Gezocht: Senior PHP-developer Wil jij aan de slag met interne start-ups, bestaande applicaties verbeteren en in een jong en bruisend onderwijsbedrijf werken? Dan is de functie van backend developer bij Lyceo iets voor jou! Wat je gaat doen Als developer bij Lyceo ben je één van die geniale types binnen de organisatie. Je gebruikt jouw kwaliteiten achter de schermen om top online services te bouwen. Je zorgt ervoor dat Lyceo ook op technisch vlak de beste onderwijsondersteuner van Nederland is. Dit doe je door het verder ontwikkelen van bestaande applicaties, maar ook door deel te nemen aan interne start-ups voor

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

17/10/2019 06:03:02
 
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.