Excel/CSV bug

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

Bekijk vacature »

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »
Bas Matthee

Bas Matthee

08/04/2008 16:11:00
Quote Anchor link
Je raadt het al, ik zeg hallo!

Ik ben vandaag op een probleemPJE gestuit met betrekking tot het genereren van CSV bestanden. Ik haal data uit twee tabellen en..... ach, allemaal onbelangrijk.

Het feit:

Als ik de eerste kolom van het csv bestand ID noem, geeft exel een error bij het inlezen. Verder werkt alles. Ook staat er gewoon netjes ID in de eerste kolom. Gebruik ik Id, id of iD, is er niks aan de hand. Kan het zijn dat ik een bug heb ondekt? Of wordt ID door exel gereserveerd als functie o.i.d.????
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
 
PHP hulp

PHP hulp

16/05/2024 23:35:51
 
Jesper Diovo

Jesper Diovo

08/04/2008 16:13:00
Quote Anchor link
Heb je het over het microsoft office programma excel of over een programma wat ik totaal niet ken?
 
Bas Matthee

Bas Matthee

08/04/2008 16:13:00
Quote Anchor link
Microsoft Office exel (logisch?)
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
 
Jacco Engel

Jacco Engel

08/04/2008 16:39:00
Quote Anchor link
Nee niet logisch want je kan het bijv ook over openoffice calc hebben
 
Bas Matthee

Bas Matthee

08/04/2008 16:41:00
Quote Anchor link
maar ik had het toch over exel in m'n eerste post, of heet openoffice calc ook exel?

Edit: (bron: Wikipedia) Calc is een digitaal rekenblad dat sterk lijkt op Excel en ongeveer dezelfde functies bezit.

EN HEET DUS GEEN EXEL! ;)
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
 
Jacco Engel

Jacco Engel

08/04/2008 16:43:00
Quote Anchor link
exel != excel
 
Jelmer -

Jelmer -

08/04/2008 16:43:00
Quote Anchor link
Nee, beiden heten niet exel. Microsoft heeft een product dat excel heet.

Bas:
... een error ...
Laat eens zien?
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Bas Matthee

Bas Matthee

08/04/2008 16:45:00
Quote Anchor link
whoops exel != excel, je hebt gelijk. Taalfoutje.

Mij oprechte excuses (mag ook gezegd worden).

PS: Error komt eraan (wordt printscreen) (2 errors btw.)

EDIT!!!!! : http://congrez.difmedia.nl/errors.gif
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
 
Luc Zontrop

Luc Zontrop

08/04/2008 17:06:00
Quote Anchor link
Verder zoeken helpt echt hoor!
http://support.microsoft.com/kb/323626/nl
 
Jan Koehoorn

Jan Koehoorn

08/04/2008 17:27:00
Quote Anchor link
Als ik fputcsv gebruik voor een array en ik geef ; op als scheidingsteken, slikt Excel het wel als CSV:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    while (fetch fetch fetch) {
        fputcsv ($fp, $row, ';');
    }

?>
 
Arend a

Arend a

08/04/2008 19:01:00
Quote Anchor link
http://support.microsoft.com/kb/215591
Quote:
WORKAROUND
To open your file in Microsoft Excel, first open the file in a text editor and insert an apostrophe at the beginning of the first line of text.
 
Bas Matthee

Bas Matthee

09/04/2008 08:50:00
Quote Anchor link
Jan Koehoorn schreef op 08.04.2008 17:27:
Als ik fputcsv gebruik voor een array en ik geef ; op als scheidingsteken, slikt Excel het wel als CSV:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    while (fetch fetch fetch) {
        fputcsv ($fp, $row, ';');
    }

?>


Het is bij mij het geval dat ik van de ene tabel NAW gegevens moet halen, netjes met bijvoorbeeld voornaam, achternaam, etc... als velden. Maar van de andere tabel moet ik ook gegevens hebben, en die zijn niet op deze manier in de tabel te vinden. Ik heb namelijk een tabel met als kolommen: id, veldnaam, veldtype, opties etc... en in een andere tabel de gegevens die bij die velden horen, bijvoorbeeld: veld_id, waarde, etc... Dus deze gegevens moet ik combineren en vervolgens achter de rij met NAW gegevens in het csv bestand zetten. Dit is in mijn geval de beste oplossing om klanten dynamisch een formulier te laten samenstellen.

Veelt tekst en uitleg en misschien nieteens duidelijk. maar ik zal de voorlopige code even plaatsen. (haal dus data uit de deelnemers tabel en data uit de deelnemers_extra tabel).

ExportCSV.php
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
<?php
class ExportCSV {

    var
$FirstCollumn = 1;
    var
$FirstRow = 0;
    var
$CSVFile = NULL;
    var
$CollumnCount = 0;
    var
$RowPosition = 1;
    
    function
AddCollumns($CollumnName) {
        
        if ($this->FirstCollumn == 1) {
            // Dit is dus de eerste kolom, wanneer deze in hoofdletters is, gaf hij de fout.
            $this->CSVFile .= 'id';
            $this->CSVFile .= ';'.$CollumnName;
            $this->FirstCollumn++;
            $this->CollumnCount++;
        }
else {
            $this->CSVFile .= ';'.$CollumnName;
            $this->CollumnCount++;
        }
                
    }
    
    function
CloseCollumns() {
        
        
        $this->CSVFile .= "\r\n";
        $this->FirstCollumn = 1;
        
    }
    
    function
WriteRowExtra($Query) {
        
        $result_set = mysql_query($Query);
        
        $test = array();
        
        if (mysql_num_rows($result_set) > 1) {

            $aantal = 0;
            $start = 0;
            
            while ($result = mysql_fetch_object($result_set)) {
                
                if (array_key_exists($result->veld_id, $test)) {
                    $test[$result->veld_id] .= ' // '.$result->value;
                }
else {
                    $test[$result->veld_id] = $result->value;
                }
                
            }

            
            foreach ($test as $waarde) {
                    $this->AddData($waarde);
                }

        
            return true;
            
        }
elseif (mysql_num_rows($result_set) == 1) {

            $this->AddData($value);

        }
elseif (mysql_num_rows($result_set) == 0)     {

            return false;
    
        }
            
    }
    
    function
WriteRow($Query) {
        
        $result_set = mysql_query($Query);
        
        if (mysql_num_rows($result_set) == 1) {
            $result = mysql_fetch_array($result_set);
            foreach ($result as $key => $value) {
                if (!is_int($key)) {
                    $this->AddData($value);
                }
            }
        
        }
elseif (mysql_num_rows($result_set) == 0)     {
            return false;
        
        }
            
    }
    
    function
AddData($Data) {
        if ($this->RowPosition <= $this->CollumnCount) {
            if ($this->FirstRow == 0) {
                $this->CSVFile .= $Data;
                $this->FirstRow++;
                $this->RowPosition++;
            }
else {
                $this->CSVFile .= ';'.$Data;
                $this->RowPosition++;
            }
        }
else {
            $this->CSVFile .= ';'.$Data;
            $this->NewLine();
        }
    
    }
    
    function
NewLine() {
        
        $this->CSVFile .= "\r\n";
        $this->FirstRow = 0;
        $this->RowPosition = 1;
        
    }
    
    function
WriteFile($FileName) {
        
        
        
        $file = fopen($FileName,'w');
        fwrite($file,$this->CSVFile);
        fclose($file);
        chmod($FileName,0777);
        
    }


}

?>


gedeelte van deelnemers_export_csv.php
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
<?php
$File
= new ExportCSV;

$query = "SELECT label FROM formulier WHERE congres_id = ".$congres_id." ORDER BY positie ASC";
$label_set = mysql_query($query);
while ($label = mysql_fetch_object($label_set)) {
    $File->AddCollumns($label->label);
}


$File->CloseCollumns();

$query = 'SELECT naw_id FROM congres_deelnemers WHERE congres_id = ' . $congres_id;
$result_set = mysql_query($query);

if (mysql_num_rows($result_set) == 1) {

    $result = mysql_fetch_object($result_set);
    $File->WriteRow('SELECT * FROM deelnemers_naw WHERE id = '.$result->naw_id);
    $File->WriteRowExtra('SELECT value, veld_id FROM deelnemers_extra WHERE deelnemer_id = '.$result->naw_id .' ORDER BY veld_id ASC');
    
}
else {
    
    while ($result = mysql_fetch_object($result_set)) {
        $File->WriteRow('SELECT * FROM deelnemers_naw WHERE id = '.$result->naw_id);
        $File->WriteRowExtra('SELECT value, veld_id FROM deelnemers_extra WHERE deelnemer_id = '.$result->naw_id .' ORDER BY veld_id ASC');
    }

}


$File->WriteFile('custom/csv_export/'.$congres_id.'_'.$con_result->congresnaam.'.csv');
// Alle gegevens van $con_result worden al eerder uit de database gehaald (buiten deze code)
?>
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
 
Jan Koehoorn

Jan Koehoorn

09/04/2008 08:59:00
Quote Anchor link
Je gegevens komen uit meer dan 1 tabel, maar het moet toch mogelijk zijn om alle velden die je op 1 Excel rij wilt hebben in een array te krijgen? Zodra dat je lukt kun je namelijk met die fputcsv aan de gang en dan neemt die je al het werk uit handen.
 
Bas Matthee

Bas Matthee

09/04/2008 09:02:00
Quote Anchor link
Maar het volgende nadeel: Ik heb in de velden met de door deelnemers ingevulde data ook de gegevens van checkboxen staan, en wanneer er 2 waarden zijn aangevinkt, worden er dus 2 rijen weggeschreven met dezelfde veld_id. Als ik dus de data in een array ga zetten, dan krijgen die dezelfde key waarde en overschrijft de laatste de vorige.

Vooralsnog is de huidige code mijn enige werkende. En zal eerst mijn andere te verrichten taken aan dit project voltooïen. Alles af? dan is het tijd voor refacturing...
 



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.