<?xml version="1.0"?>
<?xml-stylesheet
href="http://www.w3.org/2000/08/w3c-synd/style.css" type="text/css"
?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel rdf:about="http://pear.php.net/bugs/search.php">
    <title>PEAR Bug Search Results</title>
    <link>http://pear.php.net/bugs/search.php?cmd=display&amp;package_name%5B0%5D=Spreadsheet_Excel_Writer</link>
    <description>Search Results</description>
    <dc:language>en-us</dc:language>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <admin:generatorAgent rdf:resource="http://pear.php.net/bugs"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
    <items>
     <rdf:Seq>
      <rdf:li rdf:resource="http://pear.php.net/bug/20254" />
      <rdf:li rdf:resource="http://pear.php.net/bug/19444" />
      <rdf:li rdf:resource="http://pear.php.net/bug/19442" />
      <rdf:li rdf:resource="http://pear.php.net/bug/18080" />
      <rdf:li rdf:resource="http://pear.php.net/bug/17855" />
      <rdf:li rdf:resource="http://pear.php.net/bug/17631" />
      <rdf:li rdf:resource="http://pear.php.net/bug/17250" />
      <rdf:li rdf:resource="http://pear.php.net/bug/17015" />
      <rdf:li rdf:resource="http://pear.php.net/bug/16905" />
      <rdf:li rdf:resource="http://pear.php.net/bug/16843" />
      <rdf:li rdf:resource="http://pear.php.net/bug/16634" />
      <rdf:li rdf:resource="http://pear.php.net/bug/16541" />
      <rdf:li rdf:resource="http://pear.php.net/bug/16454" />
      <rdf:li rdf:resource="http://pear.php.net/bug/16030" />
      <rdf:li rdf:resource="http://pear.php.net/bug/14738" />
      <rdf:li rdf:resource="http://pear.php.net/bug/14404" />
      <rdf:li rdf:resource="http://pear.php.net/bug/14139" />
      <rdf:li rdf:resource="http://pear.php.net/bug/13752" />
      <rdf:li rdf:resource="http://pear.php.net/bug/13492" />
      <rdf:li rdf:resource="http://pear.php.net/bug/13171" />
      <rdf:li rdf:resource="http://pear.php.net/bug/13149" />
      <rdf:li rdf:resource="http://pear.php.net/bug/12848" />
      <rdf:li rdf:resource="http://pear.php.net/bug/12779" />
      <rdf:li rdf:resource="http://pear.php.net/bug/12684" />
      <rdf:li rdf:resource="http://pear.php.net/bug/12629" />
      <rdf:li rdf:resource="http://pear.php.net/bug/12212" />
      <rdf:li rdf:resource="http://pear.php.net/bug/9879" />
      <rdf:li rdf:resource="http://pear.php.net/bug/9814" />
      <rdf:li rdf:resource="http://pear.php.net/bug/9605" />
      <rdf:li rdf:resource="http://pear.php.net/bug/8967" />
      <rdf:li rdf:resource="http://pear.php.net/bug/8733" />
      <rdf:li rdf:resource="http://pear.php.net/bug/8303" />
      <rdf:li rdf:resource="http://pear.php.net/bug/7672" />
      <rdf:li rdf:resource="http://pear.php.net/bug/7504" />
      <rdf:li rdf:resource="http://pear.php.net/bug/5560" />
      <rdf:li rdf:resource="http://pear.php.net/bug/5347" />
      <rdf:li rdf:resource="http://pear.php.net/bug/4665" />
      <rdf:li rdf:resource="http://pear.php.net/bug/3148" />
      <rdf:li rdf:resource="http://pear.php.net/bug/2862" />

     </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://pear.php.net/gifs/pearsmall.gif">
    <title>PEAR Bugs</title>
    <url>http://pear.php.net/gifs/pearsmall.gif</url>
    <link>http://pear.php.net/bugs</link>
  </image>

    <item rdf:about="http://pear.php.net/bug/20254">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 20254 [Open] Need a Method definition for write_date_time in PHP</title>
      <link>http://pear.php.net/bugs/20254</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by skirankumar1982
2014-04-25T20:44:57+00:00
PHP: 5.5.0 OS: Win 8 Package Version: 

Description:
------------
I was searching for the write_date_time method definition in PHP. I noticed that its was ported in perl but in PHP.

So please add the same and update

Thanks,
Kiran Kumar. S

Test script:
---------------
When I try to export the date in to Excel sheet, it adds an extra apostrophe in the column and reads its as Text instead of date.



Expected result:
----------------
I need the Date value should be read as date instead of Text and removal of apostrophe</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by skirankumar1982
2014-04-25T20:44:57+00:00
PHP: 5.5.0 OS: Win 8 Package Version: 

Description:
------------
I was searching for the write_date_time method definition in PHP. I noticed that its was ported in perl but in PHP.

So please add the same and update

Thanks,
Kiran Kumar. S

Test script:
---------------
When I try to export the date in to Excel sheet, it adds an extra apostrophe in the column and reads its as Text instead of date.



Expected result:
----------------
I need the Date value should be read as date instead of Text and removal of apostrophe</pre>]]></description>
      <dc:date>2014-04-26T20:57:09+00:00</dc:date>
      <dc:creator>skirankumar1982 &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/19444">
      <title>Spreadsheet_Excel_Writer: Bug 19444 [Open] format (border) for multicolumn cells</title>
      <link>http://pear.php.net/bugs/19444</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by stropho
2012-05-30T17:32:44+00:00
PHP: 5.3.2 OS: Linux/Ubuntu Package Version: 0.9.3

Description:
------------
The border for multi-cell is not displayed properly.
Using Worksheet::mergeCells instead Worksheet::setMerge doesn't help.

Test script:
---------------
$f=&amp; $workbook-&gt;addFormat(array(&quot;border&quot;=&gt;1));
$row=0;
//multicolumn
$worksheet-&gt;setMerge($row,1,$row,4);
$worksheet-&gt;write($row, 1, 'abc', $f);
$row+=2;
//switch the commands if it matters (but it doesnt)
$worksheet-&gt;write($row, 1, 'abc', $f);
$worksheet-&gt;setMerge($row,1,$row,4);
$row+=2;
//multirow
 $ws-&gt;setMerge($row,1,$row+1,1);
 $ws-&gt;write($row, 1, 'xyz',$f);
$row+=2;
//switch commands
 $ws-&gt;write($row, 1, 'xyz',$f);
 $ws-&gt;setMerge($row,1,$row+1,1);

Expected result:
----------------
4 cells(2 multi columns, 2 multi rows) with full borders (left, right, top, bottom)

Actual result:
--------------
Multi column cell - right border missing
Multi row cell - bottom border missing

cell 2x2 (4cells) - bottom and right border missing</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by stropho
2012-05-30T17:32:44+00:00
PHP: 5.3.2 OS: Linux/Ubuntu Package Version: 0.9.3

Description:
------------
The border for multi-cell is not displayed properly.
Using Worksheet::mergeCells instead Worksheet::setMerge doesn't help.

Test script:
---------------
$f=&amp; $workbook-&gt;addFormat(array(&quot;border&quot;=&gt;1));
$row=0;
//multicolumn
$worksheet-&gt;setMerge($row,1,$row,4);
$worksheet-&gt;write($row, 1, 'abc', $f);
$row+=2;
//switch the commands if it matters (but it doesnt)
$worksheet-&gt;write($row, 1, 'abc', $f);
$worksheet-&gt;setMerge($row,1,$row,4);
$row+=2;
//multirow
 $ws-&gt;setMerge($row,1,$row+1,1);
 $ws-&gt;write($row, 1, 'xyz',$f);
$row+=2;
//switch commands
 $ws-&gt;write($row, 1, 'xyz',$f);
 $ws-&gt;setMerge($row,1,$row+1,1);

Expected result:
----------------
4 cells(2 multi columns, 2 multi rows) with full borders (left, right, top, bottom)

Actual result:
--------------
Multi column cell - right border missing
Multi row cell - bottom border missing

cell 2x2 (4cells) - bottom and right border missing</pre>]]></description>
      <dc:date>2012-06-01T20:30:37+00:00</dc:date>
      <dc:creator>srottt &amp;#x61;&amp;#116; post &amp;#x64;&amp;#111;&amp;#x74; cz</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/19442">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 19442 [Open] Mergedcells doesn't work when the record size exceed the limit</title>
      <link>http://pear.php.net/bugs/19442</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by richardxu
2012-05-30T09:43:45+00:00
PHP: 5.3.8 OS: Linux Package Version: Unknown

Description:
------------
In the document of Excel BIFF, it syas about MERGEDCELLS record: &quot; If the record size exceeds the limit, it is not continued with a CONTINUE record, but another self-contained MERGEDCELLS record is started. &quot;;
But in the function setMerge(), it just call $this-&gt;_append() function which will start a CONTINUE block if the record size exceeds the limit.
So, when the exported file contains more than 259 merged cells, it doesn't work.

Test script:
---------------
Old Codes:
    function _storeMergedCells()
    {
        // if there are no merged cell ranges set, return
        if (count($this-&gt;_merged_ranges) == 0) {
            return;
        }
        $record   = 0x00E5;
        $length   = 2 + count($this-&gt;_merged_ranges) * 8;

        $header   = pack('vv', $record, $length);
        $data     = pack('v',  count($this-&gt;_merged_ranges));
        foreach ($this-&gt;_merged_ranges as $range) {
            $data .= pack('vvvv', $range[0], $range[2], $range[1], $range[3]);
        }
        $this-&gt;_append($header . $data);
    }
Patch Code:
    function _storeMergedCells()
    {
        // if there are no merged cell ranges set, return
        if (count($this-&gt;_merged_ranges) == 0) {
            return;
        }

        $subranges = array_chunk($this-&gt;_merged_ranges, 259);

        foreach ($subranges as $value)
        {

            $record   = 0x00E5;
            $length   = 2 + count($value) * 8;

            $header   = pack('vv', $record, $length);
            $data     = pack('v',  count($value));
            foreach ($value as $range) {
                $data .= pack('vvvv', $range[0], $range[2], $range[1], $range[3]);
            }
            $this-&gt;_append($header . $data);

        }
    }

Expected result:
----------------
No matter how many the file contains merged cells, the exported file have correct format.

Actual result:
--------------
The Excel send me a error message and the cells have no any format.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by richardxu
2012-05-30T09:43:45+00:00
PHP: 5.3.8 OS: Linux Package Version: Unknown

Description:
------------
In the document of Excel BIFF, it syas about MERGEDCELLS record: &quot; If the record size exceeds the limit, it is not continued with a CONTINUE record, but another self-contained MERGEDCELLS record is started. &quot;;
But in the function setMerge(), it just call $this-&gt;_append() function which will start a CONTINUE block if the record size exceeds the limit.
So, when the exported file contains more than 259 merged cells, it doesn't work.

Test script:
---------------
Old Codes:
    function _storeMergedCells()
    {
        // if there are no merged cell ranges set, return
        if (count($this-&gt;_merged_ranges) == 0) {
            return;
        }
        $record   = 0x00E5;
        $length   = 2 + count($this-&gt;_merged_ranges) * 8;

        $header   = pack('vv', $record, $length);
        $data     = pack('v',  count($this-&gt;_merged_ranges));
        foreach ($this-&gt;_merged_ranges as $range) {
            $data .= pack('vvvv', $range[0], $range[2], $range[1], $range[3]);
        }
        $this-&gt;_append($header . $data);
    }
Patch Code:
    function _storeMergedCells()
    {
        // if there are no merged cell ranges set, return
        if (count($this-&gt;_merged_ranges) == 0) {
            return;
        }

        $subranges = array_chunk($this-&gt;_merged_ranges, 259);

        foreach ($subranges as $value)
        {

            $record   = 0x00E5;
            $length   = 2 + count($value) * 8;

            $header   = pack('vv', $record, $length);
            $data     = pack('v',  count($value));
            foreach ($value as $range) {
                $data .= pack('vvvv', $range[0], $range[2], $range[1], $range[3]);
            }
            $this-&gt;_append($header . $data);

        }
    }

Expected result:
----------------
No matter how many the file contains merged cells, the exported file have correct format.

Actual result:
--------------
The Excel send me a error message and the cells have no any format.</pre>]]></description>
      <dc:date>2012-05-30T09:43:45+00:00</dc:date>
      <dc:creator>xuxingwang &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/18080">
      <title>Spreadsheet_Excel_Writer: Bug 18080 [Open] How many times can use setMerge?</title>
      <link>http://pear.php.net/bugs/18080</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by liu_hacker
2010-11-20T10:46:23+00:00
PHP: 5.3.2 OS: windows xp Package Version: 

Description:
------------
Use of setMerge more than 261?excel error


Test script:
---------------
$format = $workbook-&gt;addFormat();
for($i=0;$i&lt;261;$i++)
{
$worksheet-&gt;setMerge($i, 0, $i, 1);

$worksheet-&gt;write($i, 0, 'Cell Start', $format);
}
   
$workbook-&gt;send('SetMerge.xls');
$workbook-&gt;close();

//but 
$format = $workbook-&gt;addFormat();
for($i=0;$i&lt;262;$i++)
{
$worksheet-&gt;setMerge($i, 0, $i, 1);

$worksheet-&gt;write($i, 0, 'Cell Start', $format);
}
   
$workbook-&gt;send('SetMerge.xls');
$workbook-&gt;close();

excel error and it no formate</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by liu_hacker
2010-11-20T10:46:23+00:00
PHP: 5.3.2 OS: windows xp Package Version: 

Description:
------------
Use of setMerge more than 261?excel error


Test script:
---------------
$format = $workbook-&gt;addFormat();
for($i=0;$i&lt;261;$i++)
{
$worksheet-&gt;setMerge($i, 0, $i, 1);

$worksheet-&gt;write($i, 0, 'Cell Start', $format);
}
   
$workbook-&gt;send('SetMerge.xls');
$workbook-&gt;close();

//but 
$format = $workbook-&gt;addFormat();
for($i=0;$i&lt;262;$i++)
{
$worksheet-&gt;setMerge($i, 0, $i, 1);

$worksheet-&gt;write($i, 0, 'Cell Start', $format);
}
   
$workbook-&gt;send('SetMerge.xls');
$workbook-&gt;close();

excel error and it no formate</pre>]]></description>
      <dc:date>2010-11-23T07:47:39+00:00</dc:date>
      <dc:creator>84883665 &amp;#x61;&amp;#116; qq &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/17855">
      <title>Spreadsheet_Excel_Writer: Bug 17855 [Open] image stretched if set column width</title>
      <link>http://pear.php.net/bugs/17855</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by alexanderlim
2010-09-09T12:21:22+00:00
PHP: 5.2.5 OS: Linux Package Version: 0.9.2

Description:
------------
If setColumn, image will be stretched according to the size of the 
column width.



Test script:
---------------
$ss =&amp; new Spreadsheet_Excel_Writer(); 
$ws =&amp; $ss-&gt;addWorksheet('Sheet1'); 
$ws-&gt;setColumn(0, 50); 
$ws-&gt;insertBitmap(0, 0, 'images/logo.bmp', 10, 5); 

Expected result:
----------------
The image remain as the width (and height) of the original image.

Actual result:
--------------
The image is stretched according to the width of the column set.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by alexanderlim
2010-09-09T12:21:22+00:00
PHP: 5.2.5 OS: Linux Package Version: 0.9.2

Description:
------------
If setColumn, image will be stretched according to the size of the 
column width.



Test script:
---------------
$ss =&amp; new Spreadsheet_Excel_Writer(); 
$ws =&amp; $ss-&gt;addWorksheet('Sheet1'); 
$ws-&gt;setColumn(0, 50); 
$ws-&gt;insertBitmap(0, 0, 'images/logo.bmp', 10, 5); 

Expected result:
----------------
The image remain as the width (and height) of the original image.

Actual result:
--------------
The image is stretched according to the width of the column set.</pre>]]></description>
      <dc:date>2010-09-09T12:21:22+00:00</dc:date>
      <dc:creator>alexanderlim &amp;#x61;&amp;#116; msn &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/17631">
      <title>Spreadsheet_Excel_Writer: Documentation Problem 17631 [Verified] Empty example code for setBold method</title>
      <link>http://pear.php.net/bugs/17631</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Documentation Problem
Reported by kguest
2010-07-26T14:30:01+00:00
PHP: 5.2.6 OS:  Package Version: 0.9.2

Description:
------------
The example code for using setBold() is empty - nothing there.

http://pear.php.net/manual/de/package.fileformats.spreadsheet-excel-writer.spreadsheet-excel-writer-format.setbold.php</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Documentation Problem
Reported by kguest
2010-07-26T14:30:01+00:00
PHP: 5.2.6 OS:  Package Version: 0.9.2

Description:
------------
The example code for using setBold() is empty - nothing there.

http://pear.php.net/manual/de/package.fileformats.spreadsheet-excel-writer.spreadsheet-excel-writer-format.setbold.php</pre>]]></description>
      <dc:date>2012-01-26T09:23:08+00:00</dc:date>
      <dc:creator>ken &amp;#x61;&amp;#116; linux &amp;#x64;&amp;#111;&amp;#x74; ie</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Documentation Problem</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/17250">
      <title>Spreadsheet_Excel_Writer: Bug 17250 [Open] setRow with height null makes row fixed-sized</title>
      <link>http://pear.php.net/bugs/17250</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by dirkthomas
2010-03-21T02:38:13+00:00
PHP: 5.3.2 OS: Windows 7 Package Version: 0.9.2

Description:
------------
Without calling setRow the rows are of dynamic height (as height as the content demands).
When calling setRow - even with the height parameter set to null as described in the docs - the row has a fixed height.
Any workaround possible?</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by dirkthomas
2010-03-21T02:38:13+00:00
PHP: 5.3.2 OS: Windows 7 Package Version: 0.9.2

Description:
------------
Without calling setRow the rows are of dynamic height (as height as the content demands).
When calling setRow - even with the height parameter set to null as described in the docs - the row has a fixed height.
Any workaround possible?</pre>]]></description>
      <dc:date>2010-03-21T02:38:13+00:00</dc:date>
      <dc:creator>dirk &amp;#x64;&amp;#111;&amp;#x74; thomas &amp;#x61;&amp;#116; 4wdmedia &amp;#x64;&amp;#111;&amp;#x74; de</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/17015">
      <title>Spreadsheet_Excel_Writer: Bug 17015 [Open] Error in NumFormat</title>
      <link>http://pear.php.net/bugs/17015</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by volkov888
2010-01-20T14:52:53+00:00
PHP: 5.3.0 OS: windows Package Version: 0.9.2

Description:
------------
We have added number format
$workbook-&gt;addFormat(array('NumFormat' =&gt; '# ##0.00'));
When the file opens in Excel 2007 then the format varies on '#\ ##0.00'.
It isn't correct.
The format '# ##0.00' doesn't analogous '#\ ##0.00'.

Test script:
---------------
$workbook-&gt;addFormat(array('NumFormat' =&gt; '# ##0.00'));

Expected result:
----------------
format = '# ##0.00'

Actual result:
--------------
format = '#\ ##0.00'</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by volkov888
2010-01-20T14:52:53+00:00
PHP: 5.3.0 OS: windows Package Version: 0.9.2

Description:
------------
We have added number format
$workbook-&gt;addFormat(array('NumFormat' =&gt; '# ##0.00'));
When the file opens in Excel 2007 then the format varies on '#\ ##0.00'.
It isn't correct.
The format '# ##0.00' doesn't analogous '#\ ##0.00'.

Test script:
---------------
$workbook-&gt;addFormat(array('NumFormat' =&gt; '# ##0.00'));

Expected result:
----------------
format = '# ##0.00'

Actual result:
--------------
format = '#\ ##0.00'</pre>]]></description>
      <dc:date>2010-01-20T14:52:53+00:00</dc:date>
      <dc:creator>volkov888 &amp;#x61;&amp;#116; mail &amp;#x64;&amp;#111;&amp;#x74; ru</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/16905">
      <title>Spreadsheet_Excel_Writer: Bug 16905 [Open] when the data what import is large,the excel tips &quot;found unreadable content&quot;.</title>
      <link>http://pear.php.net/bugs/16905</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by minliang
2009-12-15T13:00:09+00:00
PHP: 5.1.0 OS: linux Package Version: CVS

Description:
------------
when the data what import is large and from more comples,the excel tips &quot;found unreadable content&quot;.
If you click to look at the excel,the will tips &quot;that excel is serious damage,do you wangt to restore?&quot;. If you restore,you will find garbied in the excel,and the from of the excel is bad.

Test script:
---------------
&lt;?php
 set_include_path(implode(PATH_SEPARATOR, array(
    realpath(realpath(dirname(dirname(__FILE__)) . '/extensions/')),
         get_include_path(),
	 )));
 require_once ('Spreadsheet/Excel/Writer.php'); // ?? PEAR::Spreadsheet_Excel_Writer ???
 //db
 require_once ('config/conn.php');
 $query = new DBQuery;
 $news=&quot;select CONTENT_VALUE, TITLE, SITE_NAME, year(CREATE_TIME),month(CREATE_TIME),date(CREATE_TIME), URL from SNIPPET_DATA,SITE where SNIPPET_DATA.SITE_ID=SITE.SITE_ID and SITE_TYPE in ('news') order by CREATE_TIME desc&quot;; 

 $new = $query-&gt;execSQL($news);		
 while ($newsrow = mysql_fetch_array($new)) {
   $newsvalue[] = $newsrow[&quot;CONTENT_VALUE&quot;];
   $newstitle[] = $newsrow[&quot;TITLE&quot;];
   $newssite[] = $newsrow[&quot;SITE_NAME&quot;];
   //$newstime[] = $newsrow[&quot;CREATE_TIME&quot;];
   $newstime[] = $newsrow[&quot;date(CREATE_TIME)&quot;];
   //$newstime2[] = $newsrow[&quot;WEEK(NOW())-WEEK(CREATE_TIME)&quot;];
   $newsurl[] = $newsrow[&quot;URL&quot;];
}
 $name = 'atyu30';
 $work = $_POST['file_body'];
 $num = '10';
 $filename = $_POST['file_name'];
 $name_suffix01 = 'blxx'.'.xls';
 $workbook = new Spreadsheet_Excel_Writer(); // ??? PEAR::Spreadsheet_Excel_Writer ?
 $workbook-&gt;send($filename.$name_suffix02); // ?? Excel ??????

 $workbook-&gt;setVersion(8);
 $sheetname=array('News', 'Blog',  'BBS') ;

 $format_column0 = &amp; $workbook-&gt;addformat(array('Size'=&gt;11,'Bold'=&gt;2,'color' =&gt; 18,'align'=&gt;'center'));
 $format_column1 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 'red','align'=&gt;'center'));
 $format_column2 = &amp; $workbook-&gt;addformat(array('Size'=&gt;24,'Bold'=&gt;1,'color' =&gt; 18,'align'=&gt;'center'));
 $format_column3 = &amp; $workbook-&gt;addformat(array('Size'=&gt;16,'Bold'=&gt;2,'color' =&gt; 18,'align'=&gt;'center'));
 $format_column5 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 'white','FgColor' =&gt; 24,'align'=&gt;'center'));
 $format_column6 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 'white','FgColor' =&gt; 31,'align'=&gt;'center'));
 $format_column7 = &amp; $workbook-&gt;addformat(array('Size'=&gt;11,'Bold'=&gt;2,'align'=&gt;'center'));
 $format_column8 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 4,'align'=&gt;'center'));
 $format_column9 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 8,'align'=&gt;'center'));
 $titlename=&quot;I-Smart????????&quot;;
 $classname=array('(???)', '(???)','(???)');
 $time=&quot;???????&quot;;
 $monitor=&quot;iSmart, Laiseek&quot;;

 $property= array('??', '??', '????', '??', '??', '????', '??') ;
 $sheetnum=count($newsvalue)/41;

 $s=0;
 $name_suffix02 = iconv('utf-8','gb2312',$name_suffix01);
 $worksheet =&amp; $workbook-&gt;addWorksheet( iconv('utf-8','gb2312', $sheetname[0].$s));
 $worksheet-&gt;setInputEncoding('utf-8'); // ?????
 $worksheet-&gt;setMerge(0,0,0,20);
 $worksheet-&gt;setMerge(1,8,1,10);
 $worksheet-&gt;setMerge(2,7,2,9);
 $worksheet-&gt;setMerge(2,10,2,11);
 $worksheet-&gt;setMerge(3,8,3,10);
  
 $worksheet-&gt;writeString(0,0,$titlename,$format_column2);
 $worksheet-&gt;writeString(1,8,$classname[0],$format_column3);
 $worksheet-&gt;writeString(2,7,$time,$format_column3);
 $worksheet-&gt;writeString(2,10,'20'.date('ymd'),$format_column3);
 $worksheet-&gt;writeString(3,8,$monitor,$format_column3);
 $worksheet-&gt;setMerge(5,0,5,1);
 $worksheet-&gt;setMerge(6,0,6,1);
 $worksheet-&gt;setMerge(7,0,7,1);
 $worksheet-&gt;setMerge(9,0,9,1);
 $worksheet-&gt;setMerge(5,2,5,3);
 $worksheet-&gt;setMerge(6,2,6,3);
 $worksheet-&gt;setMerge(7,2,7,4);
 $worksheet-&gt;writeString(5,0,&quot;?????&quot;,$format_column1);
 $worksheet-&gt;writeString(6,0,&quot;????&quot;,$format_column1);
 $worksheet-&gt;writeString(7,0,&quot;?????&quot;,$format_column1);
 $worksheet-&gt;writeString(9,0,&quot;?????&quot;,$format_column1);
 $worksheet-&gt;writeString(5,2,'20'.date('ymd'),$format_column0);
 $worksheet-&gt;writeString(6,2,&quot;????&quot;,$format_column0);
 $worksheet-&gt;writeString(7,2,'20'.(date('ymd')-7).'~'.'20'.date('ymd'),$format_column0);
 $worksheet-&gt;setMerge(10,2,10,6);
 $worksheet-&gt;setMerge(10,7,10,8);
 $worksheet-&gt;setMerge(10,10,10,12);
 $worksheet-&gt;setMerge(10,13,10,20);
  
 $merge= array(0, 1, 2, 7, 9, 10, 13) ;
 for ($col = 0; $col &lt; 7; $col ++) {
    if($col%2==0){
        $worksheet-&gt;writeString(10, $merge[$col], $property[$col],$format_column5); // ? sheet-1 ???????
    }
    else{
        $worksheet-&gt;writeString(10, $merge[$col], $property[$col],$format_column6); // ? sheet-1 ???????
    }
 }


  //$worksheet-&gt;writeString(4, 0, $newstime[700],$format_column7);
  for ($row = 11; $row &lt; count($newsvalue)+11; $row++) {
  //for ($row = 11; $row &lt; 41+11; $row++) {

    $worksheet-&gt;setMerge($row,2,$row,6);
    $worksheet-&gt;setMerge($row,7,$row,8);
    $worksheet-&gt;setMerge($row,10,$row,12);
    $worksheet-&gt;setMerge($row,13,$row,20);
  }
  for ($row = 11; $row &lt; count($newsvalue)+11; $row++) {
  //for ($row = 11; $row &lt; 41+11; $row++) {

    $worksheet-&gt;setMerge($row,2,$row,6);
    $worksheet-&gt;setMerge($row,7,$row,8);
    $worksheet-&gt;setMerge($row,10,$row,12);
    $worksheet-&gt;setMerge($row,13,$row,20);

      //$worksheet-&gt;writeString($row, 0, ($row-11)+41*$s+1,$format_column7);
      //$worksheet-&gt;writeString($row, 0, $row-10,$format_column1); // ? sheet-1 ?????
      $worksheet-&gt;writeNumber($row, 0, ($row-11)+41*$s+1,$format_column7);
      //$worksheet-&gt;writeNumber($row, 1, $newsvalue[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 2, $newstitle[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 7, $newssite[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 9, '  ',$format_column7);
     // $worksheet-&gt;writeString($row, 10, $newstime[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 10, $newstime[($row-11)+41*$s],$format_column7);
      //$worksheet-&gt;writeUrl($row, 6, $newsurl[$row-11],'',$format_column7);*/
      $worksheet-&gt;writeUrl($row, 13, $newsurl[($row-11)+41*$s],'');
      //$worksheet-&gt;writeString($row, 16, $newstime2[($row-11)+41*$s],$format_column7);
      if ($newsvalue[($row-11)+41*$s]&lt;0){
        $worksheet-&gt;writeString($row, 1,'??',$format_column1);
      } else if ($newsvalue[($row-11)+41*$s]&gt;0){
        $worksheet-&gt;writeString($row, 1,'??',$format_column8);
      } else $worksheet-&gt;writeString($row, 1,'??',$format_column9);
  }
 $workbook-&gt;close(); // ????

//echo $name;
?&gt;


Expected result:
----------------
when the count($newsvalue) is more than 70 ,the excel will found garbied and many of the data will to lose.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by minliang
2009-12-15T13:00:09+00:00
PHP: 5.1.0 OS: linux Package Version: CVS

Description:
------------
when the data what import is large and from more comples,the excel tips &quot;found unreadable content&quot;.
If you click to look at the excel,the will tips &quot;that excel is serious damage,do you wangt to restore?&quot;. If you restore,you will find garbied in the excel,and the from of the excel is bad.

Test script:
---------------
&lt;?php
 set_include_path(implode(PATH_SEPARATOR, array(
    realpath(realpath(dirname(dirname(__FILE__)) . '/extensions/')),
         get_include_path(),
	 )));
 require_once ('Spreadsheet/Excel/Writer.php'); // ?? PEAR::Spreadsheet_Excel_Writer ???
 //db
 require_once ('config/conn.php');
 $query = new DBQuery;
 $news=&quot;select CONTENT_VALUE, TITLE, SITE_NAME, year(CREATE_TIME),month(CREATE_TIME),date(CREATE_TIME), URL from SNIPPET_DATA,SITE where SNIPPET_DATA.SITE_ID=SITE.SITE_ID and SITE_TYPE in ('news') order by CREATE_TIME desc&quot;; 

 $new = $query-&gt;execSQL($news);		
 while ($newsrow = mysql_fetch_array($new)) {
   $newsvalue[] = $newsrow[&quot;CONTENT_VALUE&quot;];
   $newstitle[] = $newsrow[&quot;TITLE&quot;];
   $newssite[] = $newsrow[&quot;SITE_NAME&quot;];
   //$newstime[] = $newsrow[&quot;CREATE_TIME&quot;];
   $newstime[] = $newsrow[&quot;date(CREATE_TIME)&quot;];
   //$newstime2[] = $newsrow[&quot;WEEK(NOW())-WEEK(CREATE_TIME)&quot;];
   $newsurl[] = $newsrow[&quot;URL&quot;];
}
 $name = 'atyu30';
 $work = $_POST['file_body'];
 $num = '10';
 $filename = $_POST['file_name'];
 $name_suffix01 = 'blxx'.'.xls';
 $workbook = new Spreadsheet_Excel_Writer(); // ??? PEAR::Spreadsheet_Excel_Writer ?
 $workbook-&gt;send($filename.$name_suffix02); // ?? Excel ??????

 $workbook-&gt;setVersion(8);
 $sheetname=array('News', 'Blog',  'BBS') ;

 $format_column0 = &amp; $workbook-&gt;addformat(array('Size'=&gt;11,'Bold'=&gt;2,'color' =&gt; 18,'align'=&gt;'center'));
 $format_column1 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 'red','align'=&gt;'center'));
 $format_column2 = &amp; $workbook-&gt;addformat(array('Size'=&gt;24,'Bold'=&gt;1,'color' =&gt; 18,'align'=&gt;'center'));
 $format_column3 = &amp; $workbook-&gt;addformat(array('Size'=&gt;16,'Bold'=&gt;2,'color' =&gt; 18,'align'=&gt;'center'));
 $format_column5 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 'white','FgColor' =&gt; 24,'align'=&gt;'center'));
 $format_column6 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 'white','FgColor' =&gt; 31,'align'=&gt;'center'));
 $format_column7 = &amp; $workbook-&gt;addformat(array('Size'=&gt;11,'Bold'=&gt;2,'align'=&gt;'center'));
 $format_column8 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 4,'align'=&gt;'center'));
 $format_column9 = &amp; $workbook-&gt;addformat(array('Size'=&gt;14,'Bold'=&gt;1,'color' =&gt; 8,'align'=&gt;'center'));
 $titlename=&quot;I-Smart????????&quot;;
 $classname=array('(???)', '(???)','(???)');
 $time=&quot;???????&quot;;
 $monitor=&quot;iSmart, Laiseek&quot;;

 $property= array('??', '??', '????', '??', '??', '????', '??') ;
 $sheetnum=count($newsvalue)/41;

 $s=0;
 $name_suffix02 = iconv('utf-8','gb2312',$name_suffix01);
 $worksheet =&amp; $workbook-&gt;addWorksheet( iconv('utf-8','gb2312', $sheetname[0].$s));
 $worksheet-&gt;setInputEncoding('utf-8'); // ?????
 $worksheet-&gt;setMerge(0,0,0,20);
 $worksheet-&gt;setMerge(1,8,1,10);
 $worksheet-&gt;setMerge(2,7,2,9);
 $worksheet-&gt;setMerge(2,10,2,11);
 $worksheet-&gt;setMerge(3,8,3,10);
  
 $worksheet-&gt;writeString(0,0,$titlename,$format_column2);
 $worksheet-&gt;writeString(1,8,$classname[0],$format_column3);
 $worksheet-&gt;writeString(2,7,$time,$format_column3);
 $worksheet-&gt;writeString(2,10,'20'.date('ymd'),$format_column3);
 $worksheet-&gt;writeString(3,8,$monitor,$format_column3);
 $worksheet-&gt;setMerge(5,0,5,1);
 $worksheet-&gt;setMerge(6,0,6,1);
 $worksheet-&gt;setMerge(7,0,7,1);
 $worksheet-&gt;setMerge(9,0,9,1);
 $worksheet-&gt;setMerge(5,2,5,3);
 $worksheet-&gt;setMerge(6,2,6,3);
 $worksheet-&gt;setMerge(7,2,7,4);
 $worksheet-&gt;writeString(5,0,&quot;?????&quot;,$format_column1);
 $worksheet-&gt;writeString(6,0,&quot;????&quot;,$format_column1);
 $worksheet-&gt;writeString(7,0,&quot;?????&quot;,$format_column1);
 $worksheet-&gt;writeString(9,0,&quot;?????&quot;,$format_column1);
 $worksheet-&gt;writeString(5,2,'20'.date('ymd'),$format_column0);
 $worksheet-&gt;writeString(6,2,&quot;????&quot;,$format_column0);
 $worksheet-&gt;writeString(7,2,'20'.(date('ymd')-7).'~'.'20'.date('ymd'),$format_column0);
 $worksheet-&gt;setMerge(10,2,10,6);
 $worksheet-&gt;setMerge(10,7,10,8);
 $worksheet-&gt;setMerge(10,10,10,12);
 $worksheet-&gt;setMerge(10,13,10,20);
  
 $merge= array(0, 1, 2, 7, 9, 10, 13) ;
 for ($col = 0; $col &lt; 7; $col ++) {
    if($col%2==0){
        $worksheet-&gt;writeString(10, $merge[$col], $property[$col],$format_column5); // ? sheet-1 ???????
    }
    else{
        $worksheet-&gt;writeString(10, $merge[$col], $property[$col],$format_column6); // ? sheet-1 ???????
    }
 }


  //$worksheet-&gt;writeString(4, 0, $newstime[700],$format_column7);
  for ($row = 11; $row &lt; count($newsvalue)+11; $row++) {
  //for ($row = 11; $row &lt; 41+11; $row++) {

    $worksheet-&gt;setMerge($row,2,$row,6);
    $worksheet-&gt;setMerge($row,7,$row,8);
    $worksheet-&gt;setMerge($row,10,$row,12);
    $worksheet-&gt;setMerge($row,13,$row,20);
  }
  for ($row = 11; $row &lt; count($newsvalue)+11; $row++) {
  //for ($row = 11; $row &lt; 41+11; $row++) {

    $worksheet-&gt;setMerge($row,2,$row,6);
    $worksheet-&gt;setMerge($row,7,$row,8);
    $worksheet-&gt;setMerge($row,10,$row,12);
    $worksheet-&gt;setMerge($row,13,$row,20);

      //$worksheet-&gt;writeString($row, 0, ($row-11)+41*$s+1,$format_column7);
      //$worksheet-&gt;writeString($row, 0, $row-10,$format_column1); // ? sheet-1 ?????
      $worksheet-&gt;writeNumber($row, 0, ($row-11)+41*$s+1,$format_column7);
      //$worksheet-&gt;writeNumber($row, 1, $newsvalue[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 2, $newstitle[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 7, $newssite[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 9, '  ',$format_column7);
     // $worksheet-&gt;writeString($row, 10, $newstime[($row-11)+41*$s],$format_column7);
      $worksheet-&gt;writeString($row, 10, $newstime[($row-11)+41*$s],$format_column7);
      //$worksheet-&gt;writeUrl($row, 6, $newsurl[$row-11],'',$format_column7);*/
      $worksheet-&gt;writeUrl($row, 13, $newsurl[($row-11)+41*$s],'');
      //$worksheet-&gt;writeString($row, 16, $newstime2[($row-11)+41*$s],$format_column7);
      if ($newsvalue[($row-11)+41*$s]&lt;0){
        $worksheet-&gt;writeString($row, 1,'??',$format_column1);
      } else if ($newsvalue[($row-11)+41*$s]&gt;0){
        $worksheet-&gt;writeString($row, 1,'??',$format_column8);
      } else $worksheet-&gt;writeString($row, 1,'??',$format_column9);
  }
 $workbook-&gt;close(); // ????

//echo $name;
?&gt;


Expected result:
----------------
when the count($newsvalue) is more than 70 ,the excel will found garbied and many of the data will to lose.</pre>]]></description>
      <dc:date>2009-12-15T13:00:09+00:00</dc:date>
      <dc:creator>happynewday1 &amp;#x61;&amp;#116; 163 &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/16843">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 16843 [Verified] Conditional Formatting</title>
      <link>http://pear.php.net/bugs/16843</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by marine_nl_1976
2009-11-28T02:11:36+00:00
PHP: 5.3.0 OS: Win XP Package Version: 0.9.1

Description:
------------
I would really like to be able to add Conditional Formatting as in Excel (setting 3 conditions to the format of a cell based on the value of the cell).

If this is already possible please let me know where to find documentation and code-examples, because I couldn't find it.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by marine_nl_1976
2009-11-28T02:11:36+00:00
PHP: 5.3.0 OS: Win XP Package Version: 0.9.1

Description:
------------
I would really like to be able to add Conditional Formatting as in Excel (setting 3 conditions to the format of a cell based on the value of the cell).

If this is already possible please let me know where to find documentation and code-examples, because I couldn't find it.</pre>]]></description>
      <dc:date>2009-11-30T09:22:29+00:00</dc:date>
      <dc:creator>jeroengoddijn &amp;#x61;&amp;#116; hotmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/16634">
      <title>Spreadsheet_Excel_Writer: Bug 16634 [Open] Cannot reassign a color to a cell</title>
      <link>http://pear.php.net/bugs/16634</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by frameone
2009-09-23T04:48:16+00:00
PHP: 5.3.0 OS: Windows XP Package Version: 0.9.1

Description:
------------
If you try to reassign a color to a reused Format-Objekt, the color will not applied to the cell.

Of course, you can create a new Format-object for each cell, but this will result in a fatal memory leak in a bigger document!

Test script:
---------------
require_once 'Spreadsheet/Excel/Writer.php';

$workbook  = new Spreadsheet_Excel_Writer();
$worksheet = &amp;$workbook-&gt;addWorksheet('SetColor');

// which guy has put this into a loop? o.O
$format = $workbook-&gt;addFormat();

for ($inc =0; $inc&lt;64; $inc++) {
    // Sets the color of a cell's content
    $format-&gt;setColor($inc);
    $worksheet-&gt;write($inc, 0, 'Color (index '.$inc.')', $format);
}
$workbook-&gt;send('setColor.xls');
$workbook-&gt;close();</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by frameone
2009-09-23T04:48:16+00:00
PHP: 5.3.0 OS: Windows XP Package Version: 0.9.1

Description:
------------
If you try to reassign a color to a reused Format-Objekt, the color will not applied to the cell.

Of course, you can create a new Format-object for each cell, but this will result in a fatal memory leak in a bigger document!

Test script:
---------------
require_once 'Spreadsheet/Excel/Writer.php';

$workbook  = new Spreadsheet_Excel_Writer();
$worksheet = &amp;$workbook-&gt;addWorksheet('SetColor');

// which guy has put this into a loop? o.O
$format = $workbook-&gt;addFormat();

for ($inc =0; $inc&lt;64; $inc++) {
    // Sets the color of a cell's content
    $format-&gt;setColor($inc);
    $worksheet-&gt;write($inc, 0, 'Color (index '.$inc.')', $format);
}
$workbook-&gt;send('setColor.xls');
$workbook-&gt;close();</pre>]]></description>
      <dc:date>2009-09-23T04:48:16+00:00</dc:date>
      <dc:creator>rene &amp;#x61;&amp;#116; event-solutions &amp;#x64;&amp;#111;&amp;#x74; at</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/16541">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 16541 [Verified] Need ability to get raw output of Spreadsheet document</title>
      <link>http://pear.php.net/bugs/16541</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by jasonlloyd
2009-08-20T09:31:42+00:00
PHP: 5.1.4 OS: All Package Version: 0.9.1

Description:
------------
For use cases other than sending to a browser (such as sending in a multi-part MIME encoded email) a method that returns the raw spreadsheet would be nice.  Right now I am hijacking the output buffer to capture the results of $workbook-&gt;close(); in order to capture output into a variable.

Test script:
---------------
//my naughty workaround:
ob_start();//start buffering to capture contents of excel document.
$workbook-&gt;close();
$document = ob_get_contents();
ob_end_clean();//clean out this buffer, and turn off buffering.

//should really look like:
$document = $workbook-&gt;getRaw(); //or whatever name sounds good.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by jasonlloyd
2009-08-20T09:31:42+00:00
PHP: 5.1.4 OS: All Package Version: 0.9.1

Description:
------------
For use cases other than sending to a browser (such as sending in a multi-part MIME encoded email) a method that returns the raw spreadsheet would be nice.  Right now I am hijacking the output buffer to capture the results of $workbook-&gt;close(); in order to capture output into a variable.

Test script:
---------------
//my naughty workaround:
ob_start();//start buffering to capture contents of excel document.
$workbook-&gt;close();
$document = ob_get_contents();
ob_end_clean();//clean out this buffer, and turn off buffering.

//should really look like:
$document = $workbook-&gt;getRaw(); //or whatever name sounds good.</pre>]]></description>
      <dc:date>2009-11-29T23:00:57+00:00</dc:date>
      <dc:creator>jason &amp;#x61;&amp;#116; spotonrecruiting &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/16454">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 16454 [Open] New Feature Needed</title>
      <link>http://pear.php.net/bugs/16454</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by bernstml
2009-07-20T22:27:00+00:00
PHP: 5.3.0 OS: Linux Package Version: 0.9.1

Description:
------------
It is imperative that you allow certain words in a cell to have different colors than other words.  For example: Bob went to the store.  Lets say I wanted to highlight or change the text color of the word &quot;store&quot;  This can be done in Excel, but not using this library.

Test script:
---------------
	$worksheet-&gt;writeString($rowCount, $fieldCount, &quot;Some Text&quot;, $$someFormat);

	$worksheet-&gt;writeString($rowCount, $fieldCount, &quot; Other Text&quot;, $$someOtherFormat);

Expected result:
----------------
Some TextOther Text but other Other Text has a different format.

Actual result:
--------------
Error</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by bernstml
2009-07-20T22:27:00+00:00
PHP: 5.3.0 OS: Linux Package Version: 0.9.1

Description:
------------
It is imperative that you allow certain words in a cell to have different colors than other words.  For example: Bob went to the store.  Lets say I wanted to highlight or change the text color of the word &quot;store&quot;  This can be done in Excel, but not using this library.

Test script:
---------------
	$worksheet-&gt;writeString($rowCount, $fieldCount, &quot;Some Text&quot;, $$someFormat);

	$worksheet-&gt;writeString($rowCount, $fieldCount, &quot; Other Text&quot;, $$someOtherFormat);

Expected result:
----------------
Some TextOther Text but other Other Text has a different format.

Actual result:
--------------
Error</pre>]]></description>
      <dc:date>2009-07-20T22:27:00+00:00</dc:date>
      <dc:creator>matthew &amp;#x64;&amp;#111;&amp;#x74; l &amp;#x64;&amp;#111;&amp;#x74; bernstein &amp;#x61;&amp;#116; vanderbilt &amp;#x64;&amp;#111;&amp;#x74; edu</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/16030">
      <title>Spreadsheet_Excel_Writer: Bug 16030 [Verified] Absolute ranges fail</title>
      <link>http://pear.php.net/bugs/16030</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by jabouillei
2009-03-13T07:36:00+00:00
PHP: 5.2.5 OS: SuSE and Cent OS Package Version: 0.9.2

Description:
------------
Attempting to write the following formula resulted in a &quot;')' token expected&quot; message appearing in the cell instead of the desired formula:
=(0+SUMPRODUCT(M6:M14;$G6:$G14)+M15*$G15)

Fortunately, this is easy to fix (after hours of debugging).  Here is how to fix it:
Open Parser.php and find every place that there is a regular expression for a range.  Replace the double quotes that enclose the regular expression with single quotes.  Then re-use a pair of the regular expressions you just updated (one for &quot;:&quot; and one for &quot;..&quot;) in the _convertRange2d function.  The off-the-shelf version of that function doesn't handle &quot;$&quot;s.  You're all set!

Test script:
---------------
=(0+SUMPRODUCT(M6:M14;$G6:$G14)+M15*$G15)

Expected result:
----------------
The formula should appear in the cell.

Actual result:
--------------
&quot;')' token expected&quot; appears in the cell.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by jabouillei
2009-03-13T07:36:00+00:00
PHP: 5.2.5 OS: SuSE and Cent OS Package Version: 0.9.2

Description:
------------
Attempting to write the following formula resulted in a &quot;')' token expected&quot; message appearing in the cell instead of the desired formula:
=(0+SUMPRODUCT(M6:M14;$G6:$G14)+M15*$G15)

Fortunately, this is easy to fix (after hours of debugging).  Here is how to fix it:
Open Parser.php and find every place that there is a regular expression for a range.  Replace the double quotes that enclose the regular expression with single quotes.  Then re-use a pair of the regular expressions you just updated (one for &quot;:&quot; and one for &quot;..&quot;) in the _convertRange2d function.  The off-the-shelf version of that function doesn't handle &quot;$&quot;s.  You're all set!

Test script:
---------------
=(0+SUMPRODUCT(M6:M14;$G6:$G14)+M15*$G15)

Expected result:
----------------
The formula should appear in the cell.

Actual result:
--------------
&quot;')' token expected&quot; appears in the cell.</pre>]]></description>
      <dc:date>2009-11-29T22:56:07+00:00</dc:date>
      <dc:creator>truth &amp;#x61;&amp;#116; proposaltech &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/14738">
      <title>Spreadsheet_Excel_Writer: Bug 14738 [Verified] Euro symbol not working in formats</title>
      <link>http://pear.php.net/bugs/14738</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by tuggie
2008-10-03T15:57:52+00:00
PHP: 5.2.6 OS: Windows XP Package Version: 0.9.2

Description:
------------
I cannot get the Euro symbol to print in formatted numbers in spreadsheets using BIFF8, although it works fine with BIFF5. However, I have to use BIFF8 as I need to use long labels that are truncated in BIFF5. Any suggestions? Any ideas for workarounds?

Test script:
---------------
&lt;?php

require_once('Spreadsheet/Excel/Writer.php');
 
$workbook = new Spreadsheet_Excel_Writer();
$workbook-&gt;setVersion(8);
$worksheet =&amp; $workbook-&gt;addWorksheet();
$worksheet-&gt;setInputEncoding('Windows-1252' );

$worksheet-&gt;write(1,0,'Â¤');

$strEuroFormat = '#,##0.00';
$objEuroFormat = &amp;$workbook-&gt;addFormat();
$objEuroFormat-&gt;setNumFormat($strEuroFormat);
$objEuroFormat-&gt;setAlign('right');


$worksheet-&gt;writeNumber(2,0,250, $objEuroFormat);

$workbook-&gt;send('test.xls');
$workbook-&gt;close();

?&gt;

Expected result:
----------------
Cell (1,0) contains a Euro symbol and cell (2,0) contains 250.00 precedded by a Euro symbol.

Actual result:
--------------
Cell (1,0) contains a Euro symbol but cell (2,0) contains 250.00 precedded by a ? in a square.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by tuggie
2008-10-03T15:57:52+00:00
PHP: 5.2.6 OS: Windows XP Package Version: 0.9.2

Description:
------------
I cannot get the Euro symbol to print in formatted numbers in spreadsheets using BIFF8, although it works fine with BIFF5. However, I have to use BIFF8 as I need to use long labels that are truncated in BIFF5. Any suggestions? Any ideas for workarounds?

Test script:
---------------
&lt;?php

require_once('Spreadsheet/Excel/Writer.php');
 
$workbook = new Spreadsheet_Excel_Writer();
$workbook-&gt;setVersion(8);
$worksheet =&amp; $workbook-&gt;addWorksheet();
$worksheet-&gt;setInputEncoding('Windows-1252' );

$worksheet-&gt;write(1,0,'Â¤');

$strEuroFormat = '#,##0.00';
$objEuroFormat = &amp;$workbook-&gt;addFormat();
$objEuroFormat-&gt;setNumFormat($strEuroFormat);
$objEuroFormat-&gt;setAlign('right');


$worksheet-&gt;writeNumber(2,0,250, $objEuroFormat);

$workbook-&gt;send('test.xls');
$workbook-&gt;close();

?&gt;

Expected result:
----------------
Cell (1,0) contains a Euro symbol and cell (2,0) contains 250.00 precedded by a Euro symbol.

Actual result:
--------------
Cell (1,0) contains a Euro symbol but cell (2,0) contains 250.00 precedded by a ? in a square.</pre>]]></description>
      <dc:date>2009-11-29T05:56:33+00:00</dc:date>
      <dc:creator>paul &amp;#x61;&amp;#116; guardbase &amp;#x64;&amp;#111;&amp;#x74; co &amp;#x64;&amp;#111;&amp;#x74; uk</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/14404">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 14404 [Open] WriteNote() =&gt; Note too small in Excelsheet</title>
      <link>http://pear.php.net/bugs/14404</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by webassistants
2008-07-25T09:10:18+00:00
PHP: 5.2.6 OS: WinXP Package Version: 0.9.1

Description:
------------
Is there any possibility to enlarge the width and height of a note or dynamically? I cannot read the whole text in my note, because it is definitely to small.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by webassistants
2008-07-25T09:10:18+00:00
PHP: 5.2.6 OS: WinXP Package Version: 0.9.1

Description:
------------
Is there any possibility to enlarge the width and height of a note or dynamically? I cannot read the whole text in my note, because it is definitely to small.</pre>]]></description>
      <dc:date>2008-07-25T09:10:18+00:00</dc:date>
      <dc:creator>tim &amp;#x64;&amp;#111;&amp;#x74; rutte &amp;#x61;&amp;#116; web-assistants &amp;#x64;&amp;#111;&amp;#x74; de</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/14139">
      <title>Spreadsheet_Excel_Writer: Bug 14139 [Open] Thick bottom border problem with writeFormula()</title>
      <link>http://pear.php.net/bugs/14139</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by polskicoder
2008-06-14T03:52:18+00:00
PHP: 5.1.6 OS: Linux RH Fedora  / WinXP Package Version: 0.9.1

Description:
------------
When using writeFormula() function on a cell with Thick Borders format, the bottom border of that cell has a thin border.

Also tried without success:
- changing the border, background and text colours
- increasing the height of the cell
- drawing a TOP thick border in the cell directly below

Fyi, writeNumber(), writeString(), write() works correctly

Test script:
---------------
$workbook = new Spreadsheet_Excel_Writer();
$workbook-&gt;setVersion(8);
$workbook-&gt;setTempDir(&quot;./tmp&quot;);
$workbook-&gt;send('test.xls');
$worksheet =&amp; $workbook-&gt;addWorksheet('test');

$formats = array(); 
$common_format = array('font' =&gt; 'Arial');  
$formats[0] =&amp; $workbook-&gt;addformat($common_format);
$formats[0]-&gt;setBorderColor('gray'); // border styling
$formats[0]-&gt;setTop(2);
$formats[0]-&gt;setBottom(2);
$formats[0]-&gt;setLeft(2);
$formats[0]-&gt;setRight(2);
$formats[0]-&gt;setLocked();

$worksheet-&gt;writeNumber(1, 1, 1000, $formats[0]); // write a number
$worksheet-&gt;writeFormula(3, 1, '=A1', $formats[0]); // formula to get that number

Expected result:
----------------
Both cells (number and formula) should have thick borders all around.

Actual result:
--------------
Only the cell with the number has all thick borders. Cell with the formula has thick top-left-right borders, but a thin bottom border.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by polskicoder
2008-06-14T03:52:18+00:00
PHP: 5.1.6 OS: Linux RH Fedora  / WinXP Package Version: 0.9.1

Description:
------------
When using writeFormula() function on a cell with Thick Borders format, the bottom border of that cell has a thin border.

Also tried without success:
- changing the border, background and text colours
- increasing the height of the cell
- drawing a TOP thick border in the cell directly below

Fyi, writeNumber(), writeString(), write() works correctly

Test script:
---------------
$workbook = new Spreadsheet_Excel_Writer();
$workbook-&gt;setVersion(8);
$workbook-&gt;setTempDir(&quot;./tmp&quot;);
$workbook-&gt;send('test.xls');
$worksheet =&amp; $workbook-&gt;addWorksheet('test');

$formats = array(); 
$common_format = array('font' =&gt; 'Arial');  
$formats[0] =&amp; $workbook-&gt;addformat($common_format);
$formats[0]-&gt;setBorderColor('gray'); // border styling
$formats[0]-&gt;setTop(2);
$formats[0]-&gt;setBottom(2);
$formats[0]-&gt;setLeft(2);
$formats[0]-&gt;setRight(2);
$formats[0]-&gt;setLocked();

$worksheet-&gt;writeNumber(1, 1, 1000, $formats[0]); // write a number
$worksheet-&gt;writeFormula(3, 1, '=A1', $formats[0]); // formula to get that number

Expected result:
----------------
Both cells (number and formula) should have thick borders all around.

Actual result:
--------------
Only the cell with the number has all thick borders. Cell with the formula has thick top-left-right borders, but a thin bottom border.</pre>]]></description>
      <dc:date>2008-06-14T04:11:59+00:00</dc:date>
      <dc:creator>batoloco &amp;#x61;&amp;#116; sympatico &amp;#x64;&amp;#111;&amp;#x74; ca</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/13752">
      <title>Spreadsheet_Excel_Writer: Bug 13752 [Open] mergeCells and setTextWrap and text with new lines issue</title>
      <link>http://pear.php.net/bugs/13752</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by hoze
2008-04-23T14:40:50+00:00
PHP: 5.1.6 OS: Linux Package Version: 0.9.1

Description:
------------
mergeCells doesnt expand rows with new line chars. 
if there is no mergeCells the first cell is expanding in height and the whole text is visible if setTextWrap is used.

viewing with ms excel 2003.

Test script:
---------------
$workbook = new Spreadsheet_Excel_Writer('subscriber_agreement_v2.xls');
$worksheet =&amp; $workbook-&gt;addWorksheet('My worksheet');
$format_input_fields =&amp; $workbook-&gt;addFormat();
$format_input_fields-&gt;setAlign('left');
$format_input_fields-&gt;setVAlign('vcenter');
$format_input_fields-&gt;setBorder(3);
$format_input_fields-&gt;setTextWrap();

$worksheet-&gt;setColumn(0,0,25);
$worksheet-&gt;setColumn(0,1,30);
$worksheet-&gt;setColumn(0,2,30);

$worksheet-&gt;write(0, 0, &quot;some long text with \n new line \n another new line. well not so long text \n but has new lines&quot;, $format_input_fields);
$worksheet-&gt;write(0, 1, &quot;&quot;, $format_input_fields);
$worksheet-&gt;write(0, 2, &quot;some text&quot;, $format_input_fields);
$worksheet-&gt;mergeCells($row_number,0,$row_number,1);

$workbook-&gt;close();

Expected result:
----------------
expected to see the row expanding so the whole text to be visible. 

Actual result:
--------------
only the text before the new line character is visible, the height of the row is not changing, the text is shown when clicking on the cell</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by hoze
2008-04-23T14:40:50+00:00
PHP: 5.1.6 OS: Linux Package Version: 0.9.1

Description:
------------
mergeCells doesnt expand rows with new line chars. 
if there is no mergeCells the first cell is expanding in height and the whole text is visible if setTextWrap is used.

viewing with ms excel 2003.

Test script:
---------------
$workbook = new Spreadsheet_Excel_Writer('subscriber_agreement_v2.xls');
$worksheet =&amp; $workbook-&gt;addWorksheet('My worksheet');
$format_input_fields =&amp; $workbook-&gt;addFormat();
$format_input_fields-&gt;setAlign('left');
$format_input_fields-&gt;setVAlign('vcenter');
$format_input_fields-&gt;setBorder(3);
$format_input_fields-&gt;setTextWrap();

$worksheet-&gt;setColumn(0,0,25);
$worksheet-&gt;setColumn(0,1,30);
$worksheet-&gt;setColumn(0,2,30);

$worksheet-&gt;write(0, 0, &quot;some long text with \n new line \n another new line. well not so long text \n but has new lines&quot;, $format_input_fields);
$worksheet-&gt;write(0, 1, &quot;&quot;, $format_input_fields);
$worksheet-&gt;write(0, 2, &quot;some text&quot;, $format_input_fields);
$worksheet-&gt;mergeCells($row_number,0,$row_number,1);

$workbook-&gt;close();

Expected result:
----------------
expected to see the row expanding so the whole text to be visible. 

Actual result:
--------------
only the text before the new line character is visible, the height of the row is not changing, the text is shown when clicking on the cell</pre>]]></description>
      <dc:date>2008-04-23T14:40:50+00:00</dc:date>
      <dc:creator>jfilev &amp;#x61;&amp;#116; yahoo &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/13492">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 13492 [Open] Port changes from newer versions of Spreadsheet::WriteExcel</title>
      <link>http://pear.php.net/bugs/13492</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by doconnor
2008-03-25T10:50:05+00:00
PHP: 5.2.5 OS:  Package Version: 0.9.1

Description:
------------
I started looking through Spreadsheet::WriteExcel and comparing it to Spreadsheet_Excel_Writer, hoping to find the cause of many bugs.

The changes, by and large, are not giant; but without test suites, they are hard to verify.

John McNamara sez:
There isn't any public CVS or SVN archive. All of the previous versions are available here as tar balls:

http://backpan.perl.org/authors/id/J/JM/JMCNAMARA/


Most of the PHP ports that I have seen are based on the Excel 5 version of Spreadsheet::WriteExcel, i.e. versions &lt;= 1.01.

There was a significant change in the code base for the Excel 97 versions, i.e. &gt;= 2.01, and there has been 13 not insignificant revisions since then.

In short, getting the PHP versions up to the Perl version is probably a non trivial task. :-)



See also Bug #3986</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by doconnor
2008-03-25T10:50:05+00:00
PHP: 5.2.5 OS:  Package Version: 0.9.1

Description:
------------
I started looking through Spreadsheet::WriteExcel and comparing it to Spreadsheet_Excel_Writer, hoping to find the cause of many bugs.

The changes, by and large, are not giant; but without test suites, they are hard to verify.

John McNamara sez:
There isn't any public CVS or SVN archive. All of the previous versions are available here as tar balls:

http://backpan.perl.org/authors/id/J/JM/JMCNAMARA/


Most of the PHP ports that I have seen are based on the Excel 5 version of Spreadsheet::WriteExcel, i.e. versions &lt;= 1.01.

There was a significant change in the code base for the Excel 97 versions, i.e. &gt;= 2.01, and there has been 13 not insignificant revisions since then.

In short, getting the PHP versions up to the Perl version is probably a non trivial task. :-)



See also Bug #3986</pre>]]></description>
      <dc:date>2008-03-28T23:22:33+00:00</dc:date>
      <dc:creator>daniel &amp;#x64;&amp;#111;&amp;#x74; oconnor &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/13171">
      <title>Spreadsheet_Excel_Writer: Bug 13171 [Assigned] Built-in styles missing</title>
      <link>http://pear.php.net/bugs/13171</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by rweed
2008-02-21T17:59:37+00:00
PHP: 5.2.5 OS: Linux Package Version: CVS

Description:
------------
With any spreadsheet generated by Spreadsheet_Excel_Writer, if you open it in Excel and click the Currency, Comma, or Percent buttons in the toolbar, you're given the error &quot;Style 'Currency' not found.&quot; (obviously swap Currency for Comma/Percent where appropriate)

This is because the default formats are not being built into the file. To see what I mean, click Format-&gt;Style and notice that &quot;Normal&quot; is the only style in the dropdown. Use Excel to create a new workbook, and go to Format-&gt;Style in it and you'll notice there are 4 other styles Excel creates by default:

 - Comma
 - Comma [0]
 - Currency
 - Currency [0]
 - Percent

I did a little digging and I was looking at the Perl module Spreadsheet::WriteExcel, which Spreadsheet_Excel_Writer is based on, and comparing the code it appears this was fixed in the Perl version since it was ported.

See http://search.cpan.org/src/JMCNAMARA/Spreadsheet-WriteExcel-2.20/lib/Spreadsheet/WriteExcel/Workbook.pm
lines 103-107 to see what I mean, though there are other areas that reference these new built-in styles.

I tried to fix this on my own, and got as far as having the styles included in the file so you didn't get an error, however I was never able to have them contain any actual style information (they were always using the Normal style).

Hope this info helps.

Test script:
---------------
No special script needed, as problem occurs with any spreadsheet generated by Spreadsheet_Excel_Writer</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by rweed
2008-02-21T17:59:37+00:00
PHP: 5.2.5 OS: Linux Package Version: CVS

Description:
------------
With any spreadsheet generated by Spreadsheet_Excel_Writer, if you open it in Excel and click the Currency, Comma, or Percent buttons in the toolbar, you're given the error &quot;Style 'Currency' not found.&quot; (obviously swap Currency for Comma/Percent where appropriate)

This is because the default formats are not being built into the file. To see what I mean, click Format-&gt;Style and notice that &quot;Normal&quot; is the only style in the dropdown. Use Excel to create a new workbook, and go to Format-&gt;Style in it and you'll notice there are 4 other styles Excel creates by default:

 - Comma
 - Comma [0]
 - Currency
 - Currency [0]
 - Percent

I did a little digging and I was looking at the Perl module Spreadsheet::WriteExcel, which Spreadsheet_Excel_Writer is based on, and comparing the code it appears this was fixed in the Perl version since it was ported.

See http://search.cpan.org/src/JMCNAMARA/Spreadsheet-WriteExcel-2.20/lib/Spreadsheet/WriteExcel/Workbook.pm
lines 103-107 to see what I mean, though there are other areas that reference these new built-in styles.

I tried to fix this on my own, and got as far as having the styles included in the file so you didn't get an error, however I was never able to have them contain any actual style information (they were always using the Normal style).

Hope this info helps.

Test script:
---------------
No special script needed, as problem occurs with any spreadsheet generated by Spreadsheet_Excel_Writer</pre>]]></description>
      <dc:date>2013-03-07T03:18:56+00:00</dc:date>
      <dc:creator>rweed &amp;#x61;&amp;#116; fundsforlearning &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/13149">
      <title>Spreadsheet_Excel_Writer: Bug 13149 [Open] repeatRows not working</title>
      <link>http://pear.php.net/bugs/13149</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by vkmeier
2008-02-19T15:30:56+00:00
PHP: Irrelevant OS: linux Package Version: 0.9.1

Description:
------------
I tried to use the repeatRows function in my code and it does not work when i run the file. Setting not set in the excel document. All other functions are working correctly for me. Even copied and pasted your example code and ran it and had the same resutls.

Test script:
---------------
$construction-&gt;write(7, 0,&quot;CELL TYPE&quot;,$yellow_bg);
$construction-&gt;write(7, 1,&quot;MONTH&quot;,$yellow_bg);
$construction-&gt;write(7, 2,&quot;SITE NAME&quot;,$yellow_bg);
$construction-&gt;repeatRows(7);

Expected result:
----------------
should repeat row 7 on the excel document. The setting should be automatically filled in under the page set up settings, it is left blank.

Actual result:
--------------
row 7 is not being repeated. The page set up settings are not being filled in.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by vkmeier
2008-02-19T15:30:56+00:00
PHP: Irrelevant OS: linux Package Version: 0.9.1

Description:
------------
I tried to use the repeatRows function in my code and it does not work when i run the file. Setting not set in the excel document. All other functions are working correctly for me. Even copied and pasted your example code and ran it and had the same resutls.

Test script:
---------------
$construction-&gt;write(7, 0,&quot;CELL TYPE&quot;,$yellow_bg);
$construction-&gt;write(7, 1,&quot;MONTH&quot;,$yellow_bg);
$construction-&gt;write(7, 2,&quot;SITE NAME&quot;,$yellow_bg);
$construction-&gt;repeatRows(7);

Expected result:
----------------
should repeat row 7 on the excel document. The setting should be automatically filled in under the page set up settings, it is left blank.

Actual result:
--------------
row 7 is not being repeated. The page set up settings are not being filled in.</pre>]]></description>
      <dc:date>2008-02-19T15:30:56+00:00</dc:date>
      <dc:creator>victoria &amp;#x64;&amp;#111;&amp;#x74; meier &amp;#x61;&amp;#116; verizonwireless &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/12848">
      <title>Spreadsheet_Excel_Writer: Bug 12848 [Open] Excel &quot;File Error: data may have been lost.&quot;</title>
      <link>http://pear.php.net/bugs/12848</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by maartenba
2008-01-08T07:14:52+00:00
PHP: 5.2.4 OS: Any Package Version: CVS

Description:
------------
I tried using Spreadsheet_Excel_Writer to generate an XLS file, but when I open the file in Excel 2007 I first get the following alert box:

&quot;File Error: data may have been lost.&quot;

Note that this happens even for &quot;blank&quot; spreadsheets. After clicking &quot;OK&quot; I see no problems with the file, though.

The same behavior is seen in Excel 2003 Service Pack 3. Before upgrading Microsoft Office 2003 with service pack 3 there was no such problem.

Others seem to have similar problems with other packages (perhaps similar code)
http://groups.google.com/group/spreadsheet-writeexcel/browse_thread/thread/6656856820b6f799/

From what I read, the problem is that Excel 2007 is no longer compatible with Excel 95 spreadsheets, but only with Excel 97 spreadsheets and up. Same is the case for Excel 2003 with SP3.

Is there a workaround to this problem? I wouldn't mind sacrificing Excel 95 support.

Test script:
---------------
Examples:
* Trying with a workbook with a single blank worksheets gives error
* adding 1 non-empty cell fixes the error
* again, adding 1 extra blank worksheet makes error reappear</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by maartenba
2008-01-08T07:14:52+00:00
PHP: 5.2.4 OS: Any Package Version: CVS

Description:
------------
I tried using Spreadsheet_Excel_Writer to generate an XLS file, but when I open the file in Excel 2007 I first get the following alert box:

&quot;File Error: data may have been lost.&quot;

Note that this happens even for &quot;blank&quot; spreadsheets. After clicking &quot;OK&quot; I see no problems with the file, though.

The same behavior is seen in Excel 2003 Service Pack 3. Before upgrading Microsoft Office 2003 with service pack 3 there was no such problem.

Others seem to have similar problems with other packages (perhaps similar code)
http://groups.google.com/group/spreadsheet-writeexcel/browse_thread/thread/6656856820b6f799/

From what I read, the problem is that Excel 2007 is no longer compatible with Excel 95 spreadsheets, but only with Excel 97 spreadsheets and up. Same is the case for Excel 2003 with SP3.

Is there a workaround to this problem? I wouldn't mind sacrificing Excel 95 support.

Test script:
---------------
Examples:
* Trying with a workbook with a single blank worksheets gives error
* adding 1 non-empty cell fixes the error
* again, adding 1 extra blank worksheet makes error reappear</pre>]]></description>
      <dc:date>2008-01-08T12:35:08+00:00</dc:date>
      <dc:creator>pear &amp;#x61;&amp;#116; phpexcel &amp;#x64;&amp;#111;&amp;#x74; net</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/12779">
      <title>Spreadsheet_Excel_Writer: Bug 12779 [Open] Restricted max characters (255) for cell data</title>
      <link>http://pear.php.net/bugs/12779</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by pratikthakkar
2007-12-27T09:34:49+00:00
PHP: 5.1.6 OS: Fedora Linux Package Version: 0.9.1

Description:
------------
I am trying to generate an excel document where cell data could be more than 255 characters. But even after specifying the version as mentioned in one of the previous posts, the problem still persists. I get the error as mentioned below.

It would be great if anyone can help me with this problem of cell data being truncated at 255 characters.

Test script:
---------------
$workbook = new Spreadsheet_Excel_Writer();
$workbook-&gt;setVersion(8); // Use Excel97/2000 Format

$worksheet =&amp; $workbook-&gt;addWorksheet(ucwords($vpack_arr[$ctr]));

$worksheet-&gt;setRow(0,22);
$worksheet-&gt;write(0, 0, &quot;A&quot;, $columnHeading);				
$worksheet-&gt;write(0, 1, &quot;B&quot;, $columnHeading);	

$workbook-&gt;send(&quot;WB.xls&quot;);
$workbook-&gt;close();

Expected result:
----------------
An excel document where cell data with more than 255 characters.

Actual result:
--------------
But after generation of the excel document, when I try to open the document in MS Excel 2003, I get the following message:
&quot;Excel found unreadable content in 'xyz.xls'. Do you want to recover the contents of this workbook? If you trust the source of this work book, cilck Yes.&quot;

On clicking Yes, I get the following error
&quot;Damage to the file was so extensive that repairs were not possible. Excel attempted to recover your formulas and values, but some data may have been lost or corrupted.&quot;

And all the formatting is lost. But the cell data wasn't truncated at 255 characters.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by pratikthakkar
2007-12-27T09:34:49+00:00
PHP: 5.1.6 OS: Fedora Linux Package Version: 0.9.1

Description:
------------
I am trying to generate an excel document where cell data could be more than 255 characters. But even after specifying the version as mentioned in one of the previous posts, the problem still persists. I get the error as mentioned below.

It would be great if anyone can help me with this problem of cell data being truncated at 255 characters.

Test script:
---------------
$workbook = new Spreadsheet_Excel_Writer();
$workbook-&gt;setVersion(8); // Use Excel97/2000 Format

$worksheet =&amp; $workbook-&gt;addWorksheet(ucwords($vpack_arr[$ctr]));

$worksheet-&gt;setRow(0,22);
$worksheet-&gt;write(0, 0, &quot;A&quot;, $columnHeading);				
$worksheet-&gt;write(0, 1, &quot;B&quot;, $columnHeading);	

$workbook-&gt;send(&quot;WB.xls&quot;);
$workbook-&gt;close();

Expected result:
----------------
An excel document where cell data with more than 255 characters.

Actual result:
--------------
But after generation of the excel document, when I try to open the document in MS Excel 2003, I get the following message:
&quot;Excel found unreadable content in 'xyz.xls'. Do you want to recover the contents of this workbook? If you trust the source of this work book, cilck Yes.&quot;

On clicking Yes, I get the following error
&quot;Damage to the file was so extensive that repairs were not possible. Excel attempted to recover your formulas and values, but some data may have been lost or corrupted.&quot;

And all the formatting is lost. But the cell data wasn't truncated at 255 characters.</pre>]]></description>
      <dc:date>2011-09-29T14:15:55+00:00</dc:date>
      <dc:creator>pratik &amp;#x64;&amp;#111;&amp;#x74; thakkar &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/12684">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 12684 [Verified] addWorksheet() feature request</title>
      <link>http://pear.php.net/bugs/12684</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by wiesemann
2007-12-13T20:38:45+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 

Manual page: package.fileformats.spreadsheet-excel-writer.spreadsheet-excel-writer-workbook.addworksheet.php

A nice feature to add would be to allow control over the position of the new worksheet, so something like:

//this would add a new worksheet as the first entry in the workbook
$sheet-&gt;addWorksheet(FIRST);

//this would add a new worksheet as the last entry in the workbook
$sheet-&gt;addWorksheet(LAST);

//this would add a new worksheet at position specified in the workbook
$sheet-&gt;addWorksheet(3);

default should be LAST, as it currently seems to be, and if you specify 3, but there is only 1, it should just be last.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by wiesemann
2007-12-13T20:38:45+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 

Manual page: package.fileformats.spreadsheet-excel-writer.spreadsheet-excel-writer-workbook.addworksheet.php

A nice feature to add would be to allow control over the position of the new worksheet, so something like:

//this would add a new worksheet as the first entry in the workbook
$sheet-&gt;addWorksheet(FIRST);

//this would add a new worksheet as the last entry in the workbook
$sheet-&gt;addWorksheet(LAST);

//this would add a new worksheet at position specified in the workbook
$sheet-&gt;addWorksheet(3);

default should be LAST, as it currently seems to be, and if you specify 3, but there is only 1, it should just be last.</pre>]]></description>
      <dc:date>2009-11-29T22:51:54+00:00</dc:date>
      <dc:creator>wiesemann &amp;#x61;&amp;#116; php &amp;#x64;&amp;#111;&amp;#x74; net</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/12629">
      <title>Spreadsheet_Excel_Writer: Bug 12629 [Verified] setVersion(8) crashes Excel 2000 w/ worksheets containing off-sheet references</title>
      <link>http://pear.php.net/bugs/12629</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by bishop
2007-12-06T16:23:34+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 0.9.1

Description:
------------
Using off-sheet references in formulas, such as:
* ='SheetA'!A1
* ='Test Worksheet'!$B$12

causes Excel 2000 to crash (and OpenOffice to show #NAME?) when loading files written with BIFF 8.  On-sheet references work correctly with setVersion(8).

Test script:
---------------
// create the workbook
// NOTE: take out the setVersion() and everything works fine
require_once('Spreadsheet/Excel/Writer.php');
$workbook =&amp; new Spreadsheet_Excel_Writer($excelFilename);
$workbook-&gt;setVersion(8);

// add two sheets
// NOTE: order doesn't seem to matter -- in either order, crashes (Excel) or invalid references (OO) occur with setVersion(8) called
$sheetA =&amp; $workbook-&gt;addWorksheet('sheetA');
$sheetB =&amp; $workbook-&gt;addWorksheet('sheetB');

// put a value on sheet A, then reference that value on sheet B
// NOTE: Either of the writeFormula() crash Excel and yield #NAME? in OO with setVersion(8) called
$sheetA-&gt;write(0, 0, 'Hello, World!');
$sheetB-&gt;writeFormula(0, 0, &quot;='sheetA'!A1&quot;); // M$ Excel, canonical
$sheetB-&gt;writeFormula(0, 1, &quot;=sheetA!A1&quot;);   // M$ Excel

// finalize the file
$workbook-&gt;close();

Expected result:
----------------
The file specified by $excelFilename will contain an Excel workbook that can be opened in Excel 2000 without crash, then display &quot;Hello, World&quot; on Sheet A, A1 and Sheet B, A1 and A2.

Actual result:
--------------
Excel 2000 crashes, while OpenOffice displays #NAME? in all cells containing off-sheet references.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by bishop
2007-12-06T16:23:34+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 0.9.1

Description:
------------
Using off-sheet references in formulas, such as:
* ='SheetA'!A1
* ='Test Worksheet'!$B$12

causes Excel 2000 to crash (and OpenOffice to show #NAME?) when loading files written with BIFF 8.  On-sheet references work correctly with setVersion(8).

Test script:
---------------
// create the workbook
// NOTE: take out the setVersion() and everything works fine
require_once('Spreadsheet/Excel/Writer.php');
$workbook =&amp; new Spreadsheet_Excel_Writer($excelFilename);
$workbook-&gt;setVersion(8);

// add two sheets
// NOTE: order doesn't seem to matter -- in either order, crashes (Excel) or invalid references (OO) occur with setVersion(8) called
$sheetA =&amp; $workbook-&gt;addWorksheet('sheetA');
$sheetB =&amp; $workbook-&gt;addWorksheet('sheetB');

// put a value on sheet A, then reference that value on sheet B
// NOTE: Either of the writeFormula() crash Excel and yield #NAME? in OO with setVersion(8) called
$sheetA-&gt;write(0, 0, 'Hello, World!');
$sheetB-&gt;writeFormula(0, 0, &quot;='sheetA'!A1&quot;); // M$ Excel, canonical
$sheetB-&gt;writeFormula(0, 1, &quot;=sheetA!A1&quot;);   // M$ Excel

// finalize the file
$workbook-&gt;close();

Expected result:
----------------
The file specified by $excelFilename will contain an Excel workbook that can be opened in Excel 2000 without crash, then display &quot;Hello, World&quot; on Sheet A, A1 and Sheet B, A1 and A2.

Actual result:
--------------
Excel 2000 crashes, while OpenOffice displays #NAME? in all cells containing off-sheet references.</pre>]]></description>
      <dc:date>2008-03-23T03:15:21+00:00</dc:date>
      <dc:creator>php &amp;#x61;&amp;#116; ideacode &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/12212">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 12212 [Verified] Auto Filtering</title>
      <link>http://pear.php.net/bugs/12212</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by xianve
2007-10-09T22:27:03+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
Would it be possible to add &quot;Auto Filter&quot; to the formats?

Test script:
---------------
void Format::setAutoFilter ()

Expected result:
----------------
When the document then renders, the AutoFilter'd cells will have the dropdown arrow.

Actual result:
--------------
Nothing right now.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by xianve
2007-10-09T22:27:03+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
Would it be possible to add &quot;Auto Filter&quot; to the formats?

Test script:
---------------
void Format::setAutoFilter ()

Expected result:
----------------
When the document then renders, the AutoFilter'd cells will have the dropdown arrow.

Actual result:
--------------
Nothing right now.</pre>]]></description>
      <dc:date>2009-11-30T16:39:24+00:00</dc:date>
      <dc:creator>christian &amp;#x64;&amp;#111;&amp;#x74; van &amp;#x64;&amp;#111;&amp;#x74; eeden &amp;#x61;&amp;#116; schenker &amp;#x64;&amp;#111;&amp;#x74; ca</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/9879">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 9879 [Open] Worksheet::protect() shouldn't require a password.</title>
      <link>http://pear.php.net/bugs/9879</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by mikej@...
2007-01-19T15:45:58+00:00
PHP: 4.3.9 OS: Centos Linux 4.3 Package Version: 0.9.1

Description:
------------
I want to protect a worksheet to prevent accidental formula overwrites, but I don't really want to password protect it.  If I use Worksheet::protect(), I'm forced to give a password.  It would be nice if the password was optional.

Here is a replacement function:

function protect($password = NULL)
{
    $this-&gt;_protect   = 1;
    if ($password != NULL)
        $this-&gt;_password  = $this-&gt;_encodePassword($password);
}

I have worked around the problem for now by just setting the private member Worksheet::_protected to 1, but this is obviously not ideal.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by mikej@...
2007-01-19T15:45:58+00:00
PHP: 4.3.9 OS: Centos Linux 4.3 Package Version: 0.9.1

Description:
------------
I want to protect a worksheet to prevent accidental formula overwrites, but I don't really want to password protect it.  If I use Worksheet::protect(), I'm forced to give a password.  It would be nice if the password was optional.

Here is a replacement function:

function protect($password = NULL)
{
    $this-&gt;_protect   = 1;
    if ($password != NULL)
        $this-&gt;_password  = $this-&gt;_encodePassword($password);
}

I have worked around the problem for now by just setting the private member Worksheet::_protected to 1, but this is obviously not ideal.</pre>]]></description>
      <dc:date>2010-11-19T18:12:19+00:00</dc:date>
      <dc:creator>mikej &amp;#x61;&amp;#116; primatech &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/9814">
      <title>Spreadsheet_Excel_Writer: Bug 9814 [Analyzed] writeFormula problem with HYPERLINK</title>
      <link>http://pear.php.net/bugs/9814</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by guillaume.lebigot@...
2007-01-12T16:55:47+00:00
PHP: 5.1.6 OS: WINDOWS Package Version: 

Description:
------------
Impossible to execute writeFormula to create an HYPERLINK through worksheets. (see my script)

Test script:
---------------
$Sai-&gt;writeFormula(0, 4, &quot;=HYPERLINK('sheet!A1','link')&quot;);

Expected result:
----------------
I expect to have my XLS generated with formulas in cells but when i call the generator script, my navigator crash with the use of this line. I have try a lot of possibilities.

help!

Actual result:
--------------
navigator crash</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by guillaume.lebigot@...
2007-01-12T16:55:47+00:00
PHP: 5.1.6 OS: WINDOWS Package Version: 

Description:
------------
Impossible to execute writeFormula to create an HYPERLINK through worksheets. (see my script)

Test script:
---------------
$Sai-&gt;writeFormula(0, 4, &quot;=HYPERLINK('sheet!A1','link')&quot;);

Expected result:
----------------
I expect to have my XLS generated with formulas in cells but when i call the generator script, my navigator crash with the use of this line. I have try a lot of possibilities.

help!

Actual result:
--------------
navigator crash</pre>]]></description>
      <dc:date>2009-08-11T15:34:52+00:00</dc:date>
      <dc:creator>guillaume &amp;#x64;&amp;#111;&amp;#x74; lebigot &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/9605">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 9605 [Open] Enhancement in external link handling</title>
      <link>http://pear.php.net/bugs/9605</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by dischinger@...
2006-12-13T14:11:20+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 0.9.1

Description:
------------
File &quot;Worksheet.php&quot;, line 2023-2036

// Determine if the external link is relative or absolute:
//   relative if link contains no dir separator, &quot;somefile.xls&quot;
//   relative if link starts with up-dir, &quot;..\..\somefile.xls&quot;
//   otherwise, absolute

A relative external link starting from the current directory is not recognized as relative link, e.g. &quot;.\data\somefile.xls&quot;

Test script:
---------------
        // Determine if the link is relative or absolute:
        //   relative if link contains no dir separator, &quot;somefile.xls&quot;
        //   relative if link starts with up-dir, &quot;..\..\somefile.xls&quot;
ADDED   //   relative if link starts with acutal dir &quot;.\data\somefile.xls&quot; 
        //   otherwise, absolute
        
        $absolute    = 0x02; // Bit mask
        if (!preg_match(&quot;/\\\/&quot;, $url)) {
            $absolute    = 0x00;
        }
        if (preg_match(&quot;/^\.\.\\\/&quot;, $url)) {
            $absolute    = 0x00;
        }
ADDED   if (preg_match(&quot;/^\.\\\/&quot;, $url)) {
ADDED       $absolute    = 0x00;
ADDED   }</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by dischinger@...
2006-12-13T14:11:20+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 0.9.1

Description:
------------
File &quot;Worksheet.php&quot;, line 2023-2036

// Determine if the external link is relative or absolute:
//   relative if link contains no dir separator, &quot;somefile.xls&quot;
//   relative if link starts with up-dir, &quot;..\..\somefile.xls&quot;
//   otherwise, absolute

A relative external link starting from the current directory is not recognized as relative link, e.g. &quot;.\data\somefile.xls&quot;

Test script:
---------------
        // Determine if the link is relative or absolute:
        //   relative if link contains no dir separator, &quot;somefile.xls&quot;
        //   relative if link starts with up-dir, &quot;..\..\somefile.xls&quot;
ADDED   //   relative if link starts with acutal dir &quot;.\data\somefile.xls&quot; 
        //   otherwise, absolute
        
        $absolute    = 0x02; // Bit mask
        if (!preg_match(&quot;/\\\/&quot;, $url)) {
            $absolute    = 0x00;
        }
        if (preg_match(&quot;/^\.\.\\\/&quot;, $url)) {
            $absolute    = 0x00;
        }
ADDED   if (preg_match(&quot;/^\.\\\/&quot;, $url)) {
ADDED       $absolute    = 0x00;
ADDED   }</pre>]]></description>
      <dc:date>2006-12-13T14:11:20+00:00</dc:date>
      <dc:creator>dischinger &amp;#x61;&amp;#116; vdi &amp;#x64;&amp;#111;&amp;#x74; de</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/8967">
      <title>Spreadsheet_Excel_Writer: Bug 8967 [Verified] Excel XP crashes when generated worksheet have many cell merges</title>
      <link>http://pear.php.net/bugs/8967</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by paladin80@...
2006-10-11T12:53:29+00:00
PHP: 5.0.4 OS: win XP Package Version: 0.9.1

Description:
------------
Excel XP crashes when generated worsheet have many column merges. 
Merges are become bugous when spreadsheet have about 400 of them. When count of merges is more than 700, Excel XP crushes.

Test script:
---------------
&lt;?php
include_once &quot;Spreadsheet/Excel/Writer.php&quot;; 
$xls =&amp; new Spreadsheet_Excel_Writer(); 
$xls-&gt;send(&quot;table.xls&quot;); 
$sheet =&amp; $xls-&gt;addWorksheet('table');
for($i=0; $i&lt;40; $i++){//change to $i&lt;100 to get excel crush
	for($j=0;$j&lt;20;$j+=2){
    	$sheet-&gt;setMerge($i, $j, $i, $j+1);
    }
}
$xls-&gt;close();
?&gt;

Expected result:
----------------
A blank table, each cell must have colspan=2 and rowspan=1.

Actual result:
--------------
A blank table, each cell have colspan=2, but many cells from column &quot;M&quot; have rowspan=2.

When I extend the table up to 100 rows, I get the excel crush.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by paladin80@...
2006-10-11T12:53:29+00:00
PHP: 5.0.4 OS: win XP Package Version: 0.9.1

Description:
------------
Excel XP crashes when generated worsheet have many column merges. 
Merges are become bugous when spreadsheet have about 400 of them. When count of merges is more than 700, Excel XP crushes.

Test script:
---------------
&lt;?php
include_once &quot;Spreadsheet/Excel/Writer.php&quot;; 
$xls =&amp; new Spreadsheet_Excel_Writer(); 
$xls-&gt;send(&quot;table.xls&quot;); 
$sheet =&amp; $xls-&gt;addWorksheet('table');
for($i=0; $i&lt;40; $i++){//change to $i&lt;100 to get excel crush
	for($j=0;$j&lt;20;$j+=2){
    	$sheet-&gt;setMerge($i, $j, $i, $j+1);
    }
}
$xls-&gt;close();
?&gt;

Expected result:
----------------
A blank table, each cell must have colspan=2 and rowspan=1.

Actual result:
--------------
A blank table, each cell have colspan=2, but many cells from column &quot;M&quot; have rowspan=2.

When I extend the table up to 100 rows, I get the excel crush.</pre>]]></description>
      <dc:date>2010-04-06T16:58:30+00:00</dc:date>
      <dc:creator>paladin80 &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/8733">
      <title>Spreadsheet_Excel_Writer: Bug 8733 [Open] *** ERROR IN SST ***</title>
      <link>http://pear.php.net/bugs/8733</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by zielony@...
2006-09-19T09:35:31+00:00
PHP: Irrelevant OS: Linux Package Version: 0.9.0

Description:
------------
Error in Shared Strings Table when using setVersion(8).

Test script:
---------------
function GenerateRandomString( $i )
{
    return md5( $i );
};

$workbook=new Spreadsheet_Excel_Writer_Workbook(&quot;&quot;);
$workbook-&gt;setVersion(8);
$worksheet =&amp; $workbook-&gt;addWorksheet('worksheet');
$worksheet-&gt;setInputEncoding('utf-8');

for( $i=1; $i&lt;2000; $i++ )
{
    $worksheet-&gt;write($i, 0, $i );
    $worksheet-&gt;write($i, 1, GenerateRandomString($i) );
};

$workbook-&gt;close();</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by zielony@...
2006-09-19T09:35:31+00:00
PHP: Irrelevant OS: Linux Package Version: 0.9.0

Description:
------------
Error in Shared Strings Table when using setVersion(8).

Test script:
---------------
function GenerateRandomString( $i )
{
    return md5( $i );
};

$workbook=new Spreadsheet_Excel_Writer_Workbook(&quot;&quot;);
$workbook-&gt;setVersion(8);
$worksheet =&amp; $workbook-&gt;addWorksheet('worksheet');
$worksheet-&gt;setInputEncoding('utf-8');

for( $i=1; $i&lt;2000; $i++ )
{
    $worksheet-&gt;write($i, 0, $i );
    $worksheet-&gt;write($i, 1, GenerateRandomString($i) );
};

$workbook-&gt;close();</pre>]]></description>
      <dc:date>2006-09-20T10:57:20+00:00</dc:date>
      <dc:creator>zielony &amp;#x61;&amp;#116; gemius &amp;#x64;&amp;#111;&amp;#x74; pl</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/8303">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 8303 [Verified] Support for auto sizing of columns</title>
      <link>http://pear.php.net/bugs/8303</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by dsanders@...
2006-07-27T06:57:22+00:00
PHP: 4.3.10 OS: FC2 Package Version: 0.9.0

Description:
------------
It'd be great to add support for auto sizing of the column widths... I've attempted to create my own patch for this, but I don't fully understand how this package stores the cell information so I guess you guys could do a better job.

A possible simple patch for this would be in Worksheet.php. (see test script)

This patch assumes that 1 unit of width is about the same as the width of 1 character at size 10 Arial.  It's not accurate, but it gives me satisfactory sizing of the columns.

Test script:
---------------
@@ -497,6 +497,12 @@ class Spreadsheet_Excel_Writer_Worksheet
     {
         $num_sheets = count($sheetnames);
 
+        // set the column widths, if we need to
+        if (!empty($this-&gt;col_auto_width))
+        {
+            $this-&gt;_setColumnAutoWidths();
+        }
+
         /***********************************************
         * Prepend in reverse order!!
         */
@@ -740,6 +746,44 @@ class Spreadsheet_Excel_Writer_Worksheet
         }
     }
 
+    var $col_auto_width_padding = array();
+    var $col_widths = array();
+    var $col_auto_width = array();
+    /**
+    * 
+    * @access public
+    * @param integer $firstcol first column on the range
+    * @param integer $lastcol  last column on the range
+    * @param bool    $flag     turn on/off the auto-width
+    * @param integer $padding  amount of padding to add to the column width
+    */
+    function setColumnAutoWidth($firstcol, $lastcol, $flag = true, $padding = 0)
+    {
+        for ($col = $firstcol; $col &lt;= $lastcol; $col++)
+        { 
+            if ($flag)
+            {
+                $this-&gt;col_auto_width[$col] = $flag;
+            }
+            else
+            {
+                unset($this-&gt;col_auto_width[$col]);
+            }
+            $this-&gt;col_auto_width_padding[$col] = $padding;
+        }
+    }
+
+    function _setColumnAutoWidths()
+    {
+        foreach ($this-&gt;col_auto_width as $col =&gt; $something)
+        {
+            if (isset($this-&gt;col_widths[$col]))
+            {
+                $this-&gt;setColumn($col,$col,$this-&gt;col_widths[$col] + $this-&gt;col_auto_width_padding[$col]);
+            }
+        }
+    }
+
     /**
     * Set which cell or cells are selected in a worksheet
     *
@@ -1410,6 +1454,16 @@ class Spreadsheet_Excel_Writer_Worksheet
     */
     function writeNumber($row, $col, $num, $format = 0)
     {
+        // record the number of digits, if we are auto column sizing
+        if (!empty($this-&gt;col_auto_width[$col]))
+        {
+            $length = strlen($num);
+            if (empty($this-&gt;col_widths[$col]) || $length  &gt; $this-&gt;col_widths[$col])
+            {
+                $this-&gt;col_widths[$col] = $length;
+            }
+        }
+ 
         $record    = 0x0203;                 // Record identifier
         $length    = 0x000E;                 // Number of bytes to follow
 
@@ -1463,6 +1517,17 @@ class Spreadsheet_Excel_Writer_Worksheet
     */
     function writeString($row, $col, $str, $format = 0)
     {
+        // record the string length, if using auto column sizing
+        if (!empty($this-&gt;col_auto_width[$col]))
+        {
+            $length = strlen($str);
+
+            if (empty($this-&gt;col_widths[$col]) || $length  &gt; $this-&gt;col_widths[$col])
+            {
+                $this-&gt;col_widths[$col] = $length;
+            }
+        }
+ 
         if ($this-&gt;_BIFF_version == 0x0600) {
             return $this-&gt;writeStringBIFF8($row, $col, $str, $format);
         }
@@ -1813,6 +1878,16 @@ class Spreadsheet_Excel_Writer_Worksheet
     */
     function writeUrl($row, $col, $url, $string = '', $format = 0)
     {
+        // record the string length, if using auto column sizing
+        if (!empty($this-&gt;col_auto_width[$col]))
+        {
+            $length = strlen($url);
+            if (empty($this-&gt;col_widths[$col]) || $length  &gt; $this-&gt;col_widths[$col])
+            {
+                $this-&gt;col_widths[$col] = $length;
+            }
+        }
+ 
         // Add start row and col to arg list
         return($this-&gt;_writeUrlRange($row, $col, $row, $col, $url, $string, $format));
     }</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by dsanders@...
2006-07-27T06:57:22+00:00
PHP: 4.3.10 OS: FC2 Package Version: 0.9.0

Description:
------------
It'd be great to add support for auto sizing of the column widths... I've attempted to create my own patch for this, but I don't fully understand how this package stores the cell information so I guess you guys could do a better job.

A possible simple patch for this would be in Worksheet.php. (see test script)

This patch assumes that 1 unit of width is about the same as the width of 1 character at size 10 Arial.  It's not accurate, but it gives me satisfactory sizing of the columns.

Test script:
---------------
@@ -497,6 +497,12 @@ class Spreadsheet_Excel_Writer_Worksheet
     {
         $num_sheets = count($sheetnames);
 
+        // set the column widths, if we need to
+        if (!empty($this-&gt;col_auto_width))
+        {
+            $this-&gt;_setColumnAutoWidths();
+        }
+
         /***********************************************
         * Prepend in reverse order!!
         */
@@ -740,6 +746,44 @@ class Spreadsheet_Excel_Writer_Worksheet
         }
     }
 
+    var $col_auto_width_padding = array();
+    var $col_widths = array();
+    var $col_auto_width = array();
+    /**
+    * 
+    * @access public
+    * @param integer $firstcol first column on the range
+    * @param integer $lastcol  last column on the range
+    * @param bool    $flag     turn on/off the auto-width
+    * @param integer $padding  amount of padding to add to the column width
+    */
+    function setColumnAutoWidth($firstcol, $lastcol, $flag = true, $padding = 0)
+    {
+        for ($col = $firstcol; $col &lt;= $lastcol; $col++)
+        { 
+            if ($flag)
+            {
+                $this-&gt;col_auto_width[$col] = $flag;
+            }
+            else
+            {
+                unset($this-&gt;col_auto_width[$col]);
+            }
+            $this-&gt;col_auto_width_padding[$col] = $padding;
+        }
+    }
+
+    function _setColumnAutoWidths()
+    {
+        foreach ($this-&gt;col_auto_width as $col =&gt; $something)
+        {
+            if (isset($this-&gt;col_widths[$col]))
+            {
+                $this-&gt;setColumn($col,$col,$this-&gt;col_widths[$col] + $this-&gt;col_auto_width_padding[$col]);
+            }
+        }
+    }
+
     /**
     * Set which cell or cells are selected in a worksheet
     *
@@ -1410,6 +1454,16 @@ class Spreadsheet_Excel_Writer_Worksheet
     */
     function writeNumber($row, $col, $num, $format = 0)
     {
+        // record the number of digits, if we are auto column sizing
+        if (!empty($this-&gt;col_auto_width[$col]))
+        {
+            $length = strlen($num);
+            if (empty($this-&gt;col_widths[$col]) || $length  &gt; $this-&gt;col_widths[$col])
+            {
+                $this-&gt;col_widths[$col] = $length;
+            }
+        }
+ 
         $record    = 0x0203;                 // Record identifier
         $length    = 0x000E;                 // Number of bytes to follow
 
@@ -1463,6 +1517,17 @@ class Spreadsheet_Excel_Writer_Worksheet
     */
     function writeString($row, $col, $str, $format = 0)
     {
+        // record the string length, if using auto column sizing
+        if (!empty($this-&gt;col_auto_width[$col]))
+        {
+            $length = strlen($str);
+
+            if (empty($this-&gt;col_widths[$col]) || $length  &gt; $this-&gt;col_widths[$col])
+            {
+                $this-&gt;col_widths[$col] = $length;
+            }
+        }
+ 
         if ($this-&gt;_BIFF_version == 0x0600) {
             return $this-&gt;writeStringBIFF8($row, $col, $str, $format);
         }
@@ -1813,6 +1878,16 @@ class Spreadsheet_Excel_Writer_Worksheet
     */
     function writeUrl($row, $col, $url, $string = '', $format = 0)
     {
+        // record the string length, if using auto column sizing
+        if (!empty($this-&gt;col_auto_width[$col]))
+        {
+            $length = strlen($url);
+            if (empty($this-&gt;col_widths[$col]) || $length  &gt; $this-&gt;col_widths[$col])
+            {
+                $this-&gt;col_widths[$col] = $length;
+            }
+        }
+ 
         // Add start row and col to arg list
         return($this-&gt;_writeUrlRange($row, $col, $row, $col, $url, $string, $format));
     }</pre>]]></description>
      <dc:date>2009-11-29T08:09:05+00:00</dc:date>
      <dc:creator>dsanders &amp;#x61;&amp;#116; baselinesolutions &amp;#x64;&amp;#111;&amp;#x74; com &amp;#x64;&amp;#111;&amp;#x74; au</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/7672">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 7672 [Verified] Page Order</title>
      <link>http://pear.php.net/bugs/7672</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by jhoar@...
2006-05-19T17:26:49+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
It would be a very useful feature to be able to set the Page Order for printing (in Excel under &quot;Page Setup &gt; Sheet&quot;). Excel's default is &quot;Down, then over&quot; and I want &quot;Over, then down&quot;.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by jhoar@...
2006-05-19T17:26:49+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
It would be a very useful feature to be able to set the Page Order for printing (in Excel under &quot;Page Setup &gt; Sheet&quot;). Excel's default is &quot;Down, then over&quot; and I want &quot;Over, then down&quot;.</pre>]]></description>
      <dc:date>2009-11-30T16:36:40+00:00</dc:date>
      <dc:creator>jhoar &amp;#x61;&amp;#116; bjservices &amp;#x64;&amp;#111;&amp;#x74; ca</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/7504">
      <title>Spreadsheet_Excel_Writer: Bug 7504 [Verified] Formulas problems</title>
      <link>http://pear.php.net/bugs/7504</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by admin@...
2006-04-27T14:49:24+00:00
PHP: 5.1.0 OS: FEDORA core 4 Package Version: 0.9.0

Description:
------------
Before starting, many thanks to the team for this very useful package.

I want to insert the following formula :
=AVERAGE(IF(C35:F35&lt;&gt;0;C35:F35))

When I open the xls file I get an error : &quot;VALUE!&quot;

But if I manually modify the formula (just erase the bracket and insert it again) and press SHIFT-CTRL-ENTER, everything is ok.

So the syntax of the formula is ok but Excel does not recognize this array formula.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by admin@...
2006-04-27T14:49:24+00:00
PHP: 5.1.0 OS: FEDORA core 4 Package Version: 0.9.0

Description:
------------
Before starting, many thanks to the team for this very useful package.

I want to insert the following formula :
=AVERAGE(IF(C35:F35&lt;&gt;0;C35:F35))

When I open the xls file I get an error : &quot;VALUE!&quot;

But if I manually modify the formula (just erase the bracket and insert it again) and press SHIFT-CTRL-ENTER, everything is ok.

So the syntax of the formula is ok but Excel does not recognize this array formula.</pre>]]></description>
      <dc:date>2010-04-06T16:47:51+00:00</dc:date>
      <dc:creator>admin &amp;#x61;&amp;#116; confort-it &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/5560">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 5560 [Verified] Add Autofilter Functionality</title>
      <link>http://pear.php.net/bugs/5560</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by pear@...
2005-09-29T13:51:20+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
I'm surprised that this has not been requested before:

The ability to enable AutoFilter on a particular row/particular cells would be extremely useful.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by pear@...
2005-09-29T13:51:20+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
I'm surprised that this has not been requested before:

The ability to enable AutoFilter on a particular row/particular cells would be extremely useful.</pre>]]></description>
      <dc:date>2009-11-29T07:48:04+00:00</dc:date>
      <dc:creator>pear &amp;#x61;&amp;#116; matosconsulting &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/5347">
      <title>Spreadsheet_Excel_Writer: Bug 5347 [Analyzed] using writeNote() causes excel crash</title>
      <link>http://pear.php.net/bugs/5347</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by patrick.douret@...
2005-09-09T09:39:55+00:00
PHP: 4.3.3 OS: Windows 2000 Professionnal Package Version: 

Description:
------------
I need to create an excel sheet in which I would like to add notes for some cells.

So I am using the function writeNote.
When opening the xls document, excel crashes.


My version are:
PHP 4.3.3
EXCEL 2000 SR1 (FRENCH)
Spreadsheet_Excel_Writer-0.8
OLE-0.5

Test script:
---------------
&lt;?php
require_once('php/v1_1/classes/Excel/pear/Worksheet.php');
require_once('php/v1_1/classes/Excel/pear/Workbook.php');

$fname     = tempnam(&quot;./tmp&quot;, &quot;laf.xls&quot;);

$workbook  =&amp; new Spreadsheet_Excel_Writer_Workbook($fname);
$workbook-&gt;setVersion(8);  //I need this for some reasons
$worksheet =&amp; $workbook-&gt;addworksheet('test');

$worksheet-&gt;writeString( 5, 1, &quot;ceci n'est qu'un test totalement bidon&quot;, $fTxtCell_2);
$worksheet-&gt;writeNote( 5, 1, &quot;ceci n'est qu'un test  de note totalement bidon&quot;);
$workbook-&gt;close();
?&gt;


Expected result:
----------------
The created xls document should open correctly.
The cell (5,1) should contain &quot;ceci n'est qu'un test totalement bidon&quot; and it's associated note should be &quot;ceci n'est qu'un test  de note totalement bidon&quot;.

Actual result:
--------------
I've got a lovely message box saying that memory cannot be read and excel will be closed</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by patrick.douret@...
2005-09-09T09:39:55+00:00
PHP: 4.3.3 OS: Windows 2000 Professionnal Package Version: 

Description:
------------
I need to create an excel sheet in which I would like to add notes for some cells.

So I am using the function writeNote.
When opening the xls document, excel crashes.


My version are:
PHP 4.3.3
EXCEL 2000 SR1 (FRENCH)
Spreadsheet_Excel_Writer-0.8
OLE-0.5

Test script:
---------------
&lt;?php
require_once('php/v1_1/classes/Excel/pear/Worksheet.php');
require_once('php/v1_1/classes/Excel/pear/Workbook.php');

$fname     = tempnam(&quot;./tmp&quot;, &quot;laf.xls&quot;);

$workbook  =&amp; new Spreadsheet_Excel_Writer_Workbook($fname);
$workbook-&gt;setVersion(8);  //I need this for some reasons
$worksheet =&amp; $workbook-&gt;addworksheet('test');

$worksheet-&gt;writeString( 5, 1, &quot;ceci n'est qu'un test totalement bidon&quot;, $fTxtCell_2);
$worksheet-&gt;writeNote( 5, 1, &quot;ceci n'est qu'un test  de note totalement bidon&quot;);
$workbook-&gt;close();
?&gt;


Expected result:
----------------
The created xls document should open correctly.
The cell (5,1) should contain &quot;ceci n'est qu'un test totalement bidon&quot; and it's associated note should be &quot;ceci n'est qu'un test  de note totalement bidon&quot;.

Actual result:
--------------
I've got a lovely message box saying that memory cannot be read and excel will be closed</pre>]]></description>
      <dc:date>2009-08-12T12:49:13+00:00</dc:date>
      <dc:creator>patrick &amp;#x64;&amp;#111;&amp;#x74; douret &amp;#x61;&amp;#116; edf &amp;#x64;&amp;#111;&amp;#x74; fr</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/4665">
      <title>Spreadsheet_Excel_Writer: Feature/Change Request 4665 [Verified] Support for extended classes</title>
      <link>http://pear.php.net/bugs/4665</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by dan@...
2005-06-23T07:38:57+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
Now when extending Spreadsheet_Excel_Writer_Workbook class there is no way to return extended classes for *_Worksheet, *_Format, etc. from -&gt;addWorksheet(), -&gt;addFormat(), etc...

I sudgest to add additional parameter for those methods - $className:

&lt; function &amp;addWorksheet($name = '')
&gt; function &amp;addWorksheet($name = '', $className = '')

&lt; function &amp;addFormat($properties = array())
&gt; function &amp;addFormat($properties = array(), $className = '')

...

And then reimplement thouse methods to support different classes:

&lt; $worksheet = new Spreadsheet_Excel_Writer_Worksheet(...

&gt; if (! class_exists($className)) {
&gt;     $className = 'Spreadsheet_Excel_Writer_Worksheet';
&gt; }
&gt; $worksheet = new $className(...
&gt; if (! is_a($worksheet, 'Spreadsheet_Excel_Writer_Worksheet')) {
&gt;     $this-&gt;raiseError('Custom class do not extends Spreadsheet_Excel_Writer_Worksheet', 0, PEAR_ERROR_DIE);
&gt; }

...and the same for all other classes.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Feature/Change Request
Reported by dan@...
2005-06-23T07:38:57+00:00
PHP: Irrelevant OS:  Package Version: 

Description:
------------
Now when extending Spreadsheet_Excel_Writer_Workbook class there is no way to return extended classes for *_Worksheet, *_Format, etc. from -&gt;addWorksheet(), -&gt;addFormat(), etc...

I sudgest to add additional parameter for those methods - $className:

&lt; function &amp;addWorksheet($name = '')
&gt; function &amp;addWorksheet($name = '', $className = '')

&lt; function &amp;addFormat($properties = array())
&gt; function &amp;addFormat($properties = array(), $className = '')

...

And then reimplement thouse methods to support different classes:

&lt; $worksheet = new Spreadsheet_Excel_Writer_Worksheet(...

&gt; if (! class_exists($className)) {
&gt;     $className = 'Spreadsheet_Excel_Writer_Worksheet';
&gt; }
&gt; $worksheet = new $className(...
&gt; if (! is_a($worksheet, 'Spreadsheet_Excel_Writer_Worksheet')) {
&gt;     $this-&gt;raiseError('Custom class do not extends Spreadsheet_Excel_Writer_Worksheet', 0, PEAR_ERROR_DIE);
&gt; }

...and the same for all other classes.</pre>]]></description>
      <dc:date>2009-08-12T03:45:43+00:00</dc:date>
      <dc:creator>dan &amp;#x61;&amp;#116; yes &amp;#x64;&amp;#111;&amp;#x74; lt</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/3148">
      <title>Spreadsheet_Excel_Writer: Bug 3148 [Verified] write() works incorrectly for some locales</title>
      <link>http://pear.php.net/bugs/3148</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by bugs.php.net@...
2005-01-10T11:48:29+00:00
PHP: 5.0.3 OS: Linux Package Version: 

Description:
------------
Calling $worksheet-&gt;write($row, $col, 1.2) will write &quot;1,2&quot; as a string instead of a number when the locale for LC_NUMERIC has been set to a locale that uses &quot;,&quot; as a decimal seperator instead of &quot;.&quot; (e.g. da_DK).

The method Spreadsheet_Excel_Writer_Worksheet::write() tries to determine whether the argument is a number by using preg_match(). However, preg_match() takes a string argument, so the float value is converted to a string. The string uses the decimal seperator specified by the current locale. If this is &quot;,&quot;, the string does not match the regular expression used to determine whether the argument is a number.

Why not just use is_numeric() instead of preg_match()?</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by bugs.php.net@...
2005-01-10T11:48:29+00:00
PHP: 5.0.3 OS: Linux Package Version: 

Description:
------------
Calling $worksheet-&gt;write($row, $col, 1.2) will write &quot;1,2&quot; as a string instead of a number when the locale for LC_NUMERIC has been set to a locale that uses &quot;,&quot; as a decimal seperator instead of &quot;.&quot; (e.g. da_DK).

The method Spreadsheet_Excel_Writer_Worksheet::write() tries to determine whether the argument is a number by using preg_match(). However, preg_match() takes a string argument, so the float value is converted to a string. The string uses the decimal seperator specified by the current locale. If this is &quot;,&quot;, the string does not match the regular expression used to determine whether the argument is a number.

Why not just use is_numeric() instead of preg_match()?</pre>]]></description>
      <dc:date>2009-08-12T03:36:35+00:00</dc:date>
      <dc:creator>bugs &amp;#x64;&amp;#111;&amp;#x74; php &amp;#x64;&amp;#111;&amp;#x74; net &amp;#x61;&amp;#116; chsc &amp;#x64;&amp;#111;&amp;#x74; dk</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/2862">
      <title>Spreadsheet_Excel_Writer: Bug 2862 [Verified] insertBitmap scales image incorrect in Excel 2000</title>
      <link>http://pear.php.net/bugs/2862</link>
      <content:encoded><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by thomas.keller@...
2004-12-01T09:41:15+00:00
PHP: 4.3.4 OS: RH9 Package Version: 

Description:
------------
In Excel 2000 a bitmap is always scaled incorrectly if
it is inserted via insertBitmap (and no scale/ position
attributes), regardless where I put the image.

The author of _positionImage in Worksheet.php notes that

&quot;the SDK incorrectly states that the height should be 
expressed as a percentage of 1024.&quot;

thus uses for the height a value of only 256.
I changed these values to 1024 which made the insert
work correctly for me.


Reproduce code:
---------------
 $file = &quot;/path/to/file/bitmap.bmp&quot;;
 $worksheet-&gt;insertBitmap(0, 0, $file);</pre>]]></content:encoded>
      <description><![CDATA[<pre>Spreadsheet_Excel_Writer Bug
Reported by thomas.keller@...
2004-12-01T09:41:15+00:00
PHP: 4.3.4 OS: RH9 Package Version: 

Description:
------------
In Excel 2000 a bitmap is always scaled incorrectly if
it is inserted via insertBitmap (and no scale/ position
attributes), regardless where I put the image.

The author of _positionImage in Worksheet.php notes that

&quot;the SDK incorrectly states that the height should be 
expressed as a percentage of 1024.&quot;

thus uses for the height a value of only 256.
I changed these values to 1024 which made the insert
work correctly for me.


Reproduce code:
---------------
 $file = &quot;/path/to/file/bitmap.bmp&quot;;
 $worksheet-&gt;insertBitmap(0, 0, $file);</pre>]]></description>
      <dc:date>2009-11-29T07:06:57+00:00</dc:date>
      <dc:creator>thomas &amp;#x64;&amp;#111;&amp;#x74; keller &amp;#x61;&amp;#116; inatec &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Spreadsheet_Excel_Writer Bug</dc:subject>
    </item>
</rdf:RDF>
