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

<?

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;

}

ช่วยๆกันแก้เน้อ เพื่อที่จะได้โคดดีๆมาใช้งานกัน

อิอิ





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

พอดีผมกำลังลองอยู่แล้วติดปัญหาเดียวกัน
05 พ.ย. 2552 0 3,251
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^