PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Structures » Structures_DataGrid » Bug #7534

XLS Character encoding support

Details

Submitted2006-05-01 17:56 UTC
Fromtorgny dot bjers at gmail dot com
Assignedwiesemann
StatusClosed
PackageStructures_DataGrid
PHP Version5.1.2
OSLinux FC4
Roadmaps(Not assigned)

Comments

[2006-05-01 17:56 UTC] torgny dot bjers at gmail dot com

Description:
------------
When exporting an Ecxel document that contains multi-byte characters, the Excel driver needs to be set to version 8 and to have the encoding set according to what the input is.

I've included a fix for this by setting the version when the input encoding has been specified, since it will not work with anything below version 8.

Test script:
---------------
/**
* Encoding for use with the worksheet input strings.
* @var string
*/
var $_encoding;

--------------------

/**
* Sets the input encoding used when adding rows to the worksheet.
*
* @access public
* @params string $encoding The selected encoding for use with iconv
*/

--------------------

function setEncoding($encoding)
{
$this->_encoding = $encoding;
}

/**
* Get the spreadsheet object
*
* @access public
*/
function &getSpreadsheet()
{
$dg =& $this->_dg;

if ($this->_sendToBrowser) {
$this->_workbook = new Spreadsheet_Excel_Writer();
$this->_workbook->send($this->_filename);
} else {
$this->_workbook = new Spreadsheet_Excel_Writer($this->_filename);
}
$this->_worksheet =& $this->_workbook->addWorksheet();
if (!empty($this->_encoding)) {
$this->_workbook->setVersion(8);
$this->_worksheet->setInputEncoding($this->_encoding);
}
--------------------