|
|
|
มีปัญหา เมื่อ Export to Excel แล้วชื่อคอลัมที่กำหนดเป็นภาษาไทย กลายเป็นภาษาต่างดาวคับ? |
|
|
|
|
|
|
|
Code (PHP)
<?
require_once "class/class.writeexcel_workbook.inc.php";
require_once "class/class.writeexcel_worksheet.inc.php";
$host="localhost";
$username="root";
$password="1234";
$dbname="icaddy_db";
$link=mysql_connect($host,$username,$password);
mysql_connect("$host","$username","$password") or die ("CAN NOT CONNECT TO SERVER");
mysql_query("SET NAMES tis620");
mysql_select_db($dbname,$link) or die ("CAN NOT TO FINE DATABASE");
$fname= "Report.xls";
$workbook =& new writeexcel_workbook($fname);
$worksheet =& $workbook->addworksheet("Report");
$worksheet->set_margin_right(0.50);
$worksheet->set_margin_bottom(1.10);
## Set Format ##
$xlscelldesc_header =& $workbook->addformat();
$xlscelldesc_header->set_font('MS Sans Serif');
$xlscelldesc_header->set_size(10);
$xlscelldesc_header->set_color('blue');
$xlscelldesc_header->set_bold(1);
$xlscelldesc_header->set_text_v_align(1);
$xlscelldesc_header->set_merge(1);
$xlsCellDesc =& $workbook->addformat();
$xlsCellDesc->set_font('MS Sans Serif');
$xlsCellDesc->set_size(8);
$xlsCellDesc->set_color('black');
$xlsCellDesc->set_align('left');
$xlsCellDesc->set_text_v_align(1);
## End of Set Format ##
## Set Column Width & Height กำหนดความกว้างของ Cell
$worksheet->set_column('A:A', 10);
$worksheet->set_column('B:B', 10);
$worksheet->set_column('C:C', 20);
$worksheet->set_column('D:D', 10);
$worksheet->set_column('E:E', 10);
$worksheet->set_column('F:F', 10);
$worksheet->set_column('G:G', 10);
$worksheet->set_column('H:H', 10);
$worksheet->set_column('I:I', 10);
$worksheet->set_column('J:J', 10);
$worksheet->set_column('K:K', 22);
$worksheet->set_column('L:L', 8);
$celldesc_h = 16.50;
## Writing Data เพิ่มข้อมูลลงใน Cell
# กำหนดความสูงของ Cell
$worksheet->set_row(1, $celldesc_h);
$worksheet->set_row(2, $celldesc_h);
$worksheet->set_row(3, $celldesc_h);
$worksheet->set_row(4, $celldesc_h);
$worksheet->set_row(5, $celldesc_h);
$worksheet->write(G3, " title",$xlscelldesc_header);
$worksheet->write_blank(F6,$xlscelldesc_header);
$worksheet->write(A5,"No.", $xlscelldesc_header);
$worksheet->write(B5,"Golfer ID", $xlscelldesc_header);
$worksheet->write(C5,"Name Golfer", $xlscelldesc_header);
$worksheet->write(D5,"Telephone", $xlscelldesc_header);
$worksheet->write(E5,"โทร.1", $xlscelldesc_header);
$worksheet->write(F5,"โทร.2", $xlscelldesc_header);
$worksheet->write(G5,"โทร.3", $xlscelldesc_header);
$worksheet->write(H5,"โทร.4", $xlscelldesc_header);
$worksheet->write(I5,"โทร.5", $xlscelldesc_header);
$worksheet->write(J5,"ทีม", $xlscelldesc_header);
$worksheet->write(K5,"อีเมล์", $xlscelldesc_header);
$worksheet->write(L5,"เพศ", $xlscelldesc_header);
$xlsRow = 6;
# ตรงนี้คือดึงข้อมูลจาก mysql มาใส่ใน Cell
$sql="select golferID,name,telephone,telephone1,telephone2,telephone3,telephone4,telephone5,teamID,sex,email from golfer";
$query=mysql_query($sql);
$num=mysql_num_rows($query);
if($num==0){
echo "ไม่พบข้อมูล";
print "<meta http-equiv=refresh content='0;URL=admin_1.php'>";
exit();
}else{
$count=1;
while($result= mysql_fetch_array($query)){
++$i;
$worksheet->set_row($xlsRow, 19.80);
$worksheet->write("A$xlsRow", $count, $xlsCellDesc);
$worksheet->write("B$xlsRow", $result["golferID"], $xlsCellDesc); // ติดที่ตัวนี้ ถ้าไม่ใส่ \r ตัวข้างหน้าจะไม่มีช่องว่าง แต่เลข 0 ข้างหน้า จะถูกตัดทิ้งไป
$worksheet->write("C$xlsRow", "\r".$result["name"], $xlsCellDesc);
$worksheet->write("D$xlsRow", "\r".$result["telephone"], $xlsCellDesc);
$worksheet->write("E$xlsRow", "\r".$result["telephone1"], $xlsCellDesc);
$worksheet->write("F$xlsRow", "\r".$result["telephone2"], $xlsCellDesc);
$worksheet->write("G$xlsRow", "\r".$result["telephone3"], $xlsCellDesc);
$worksheet->write("H$xlsRow", "\r".$result["telephone4"], $xlsCellDesc);
$worksheet->write("I$xlsRow", "\r".$result["telephone5"], $xlsCellDesc);
$worksheet->write("J$xlsRow", $result["teamID"], $xlsCellDesc);
$worksheet->write("K$xlsRow", $result["email"], $xlsCellDesc);
$worksheet->write("L$xlsRow", $result["sex"], $xlsCellDesc);
$count=$count+1;
$xlsRow++;
}
}
# เสร็จแล้วก็ส่งไฟล์ไปยัง Browser ครับแค่นี้ก็เสร็จแล้ว
$workbook->close();
header("Pragma: no-cache");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".basename("Report_Golfer.xls").";");
header("Content-Type: text/html; charset=tis-620");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($fname));
readfile($fname);
unlink($fname);
exit();
?>
คอลัมที่ผมกำหนดเป็นภาษาไทยเอาไว้
Code (PHP)
$worksheet->write(K5,"อีเมล์", $xlscelldesc_header);
$worksheet->write(L5,"เพศ", $xlscelldesc_header);
จากโค๊ด เมื่อ Export สำเร็จก็กลายเป็นภาษาต่างดาวคับ เช่น เธญเธตเน€เธกเธฅเน
แต่ข้อมูลจาก database ที่เป็นไทยออกได้ตามปกติคับ ติดแต่คอลัมที่กำหนดไทยเท่านั้นคับ
รบกวนผู้รู้ ผู้เชี่ยวชาญ ชำนาญการ ตอบด้วยครับ ขอขอบคุณล่วงหน้าคับผม
Tag : PHP, Excel (Excel.Application)
|
|
|
|
|
|
Date :
2010-09-25 18:36:38 |
By :
Thotsaporn |
View :
3919 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
header("Content-Type: text/html; charset=utf-8");
|
|
|
|
|
Date :
2010-09-25 18:41:27 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
file ที่ gen excel เป็น ansi หรือ utf หรืออะไรครับ
ถ้าไม่ได้จริงๆ คงต้องใช้ iconv ช่วยนะ
|
|
|
|
|
Date :
2010-09-25 20:44:37 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ป่านฉะนี้ผมยังแก้ไม่ได้เลยอ่ะคับ?
|
|
|
|
|
Date :
2010-10-03 14:45:10 |
By :
Thotsaporn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
require_once "class/class.writeexcel_workbook.inc.php";
require_once "class/class.writeexcel_worksheet.inc.php";
เรียกใช้ files include จากไหนครับ
|
|
|
|
|
Date :
2014-03-04 14:35:24 |
By :
owenss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองอันนี้ดูนะครับ
http://www.appservnetwork.com/modules.php?name=News&file=article&sid=2
|
|
|
|
|
Date :
2014-04-16 11:55:39 |
By :
Hayaak Solution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|