A-AA+then

php create excel ข้อมูลที่เป็น utf-8

3,156
<?
header("Content-Type: application/x-msexcel; name="example-colors.xls"");
header("Content-Disposition: inline; filename="example-colors.xls"");

set_time_limit(10);

require_once "C:/AppServ/www/PHP2Excel/class.writeexcel_workbook.inc.php";
require_once "C:/AppServ/www/PHP2Excel/class.writeexcel_worksheet.inc.php";

$fname = tempnam("/tmp", "colors.xls");
$workbook = &new writeexcel_workbook($fname);

$workbook->set_codepage(3);//*******set codepage = utf-8*******

# Some common formats
$center =& $workbook->addformat(array('align' => 'left'));
$heading =& $workbook->addformat(array('align' => 'left', 'bold' => 1));


$worksheet1 =& $workbook->addworksheet("test");

$worksheet1->set_column(0, 3, 11);

$worksheet1->write(0, 0, "ไทยโว้ย", $heading);
$worksheet1->write(0, 1, "Index", $heading);
$worksheet1->write(0, 2, "ลองแล", $heading);
$worksheet1->write(0, 3, "Color", $heading);

for($i = 1; $i < 11; $i++)
{
$worksheet1->write($i, 0, "Index", $center);
$worksheet1->write($i, 1, "ไทยโว้ย", $center);
$worksheet1->write($i, 2, "Color", $center);
$worksheet1->write($i, 3, "ลองแล", $center);
}

$workbook->close();

$fh=fopen($fname, "rb");
fpassthru($fh);
unlink($fname);
?>


แต่จะให้ใช้งานภาษาไทยได้ ต้องไปแก้ใน class.writeexcel_workbook.inc.php
ตรง
function set_codepage($cp) {

if($cp==1)
$codepage = 0x04E4;
else if($cp==2)
$codepage = 0x8000;
else if($cp==3)
$codepage = 0xFDE9;// UTF-8ครับ
else if($cp==4)
$codepage = 0x036A;
if($codepage)
$this->_codepage = $codepage;
}
ช่วยๆกันแก้เน้อ เพื่อที่จะได้โคดดีๆมาใช้งานกัน
อิอิ


พอดีไปเจอกระทู้นี้มาแล้วอยากถามว่ามีใครแก้ปัญหานี้ได้หรือยังครับ
พอดีผมกำลังลองอยู่แล้วติดปัญหาเดียวกัน

0 ความคิดเห็น

^