Re: Array to csv or excel in php

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 19, 2010 at 11:14 AM, Peter Lind <peter.e.lind@xxxxxxxxx> wrote:
> On 19 April 2010 17:00, Andrew Ballard <aballard@xxxxxxxxx> wrote:
>> On Mon, Apr 19, 2010 at 9:45 AM, Manolis Vlachakis
>>>   1. $save=split("[|;]",$listOfItems);
>>>
>>> and what i want i s after making some changes to the attributes on the array
>>> above to export them on an csv or excel format
>>> but directly as a message to the browser ..
>>> i dont want it to be saved on the server ...
>>>
>> Often when outputting csv, I usually do something like this:
>>
>> <?php
>>
>> $fp = fopen('php://output', 'w') or die('Could not open stream');
>>
>> foreach ($data as $row) {
>>    // Assumes that $row will be an array.
>>    // Manipulate the data in $row if necessary.
>>    fputcsv($fp, $row);
>> }
>>
>> ?>
>
> An interesting idea. I'd do:
>
> echo implode(',', $row);
>

If it's very simple data that works, but it doesn't allow for the
optional enclosure characters that fputcsv() uses in cases where a
data element includes the column and/or row delimiter characters. I
had originally written something using an array_map callback that did
the optional enclosures as needed and then used echo implode() as you
suggest, but found the solution I posted was shorter and faster. YMMV

Andrew

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux