ปัญหาการส่งออกข้อมูลในรูปแบบของ Ms Excel ปัญหาที่ผมพบคือเมื่อส่งออกข้อมูลเข้าสู่ Ms Excel แล้ว แล้ว Ms Excel ไม่สามารถแสดงเป็นภาษาไทยได้ครับ
ปัญหาที่ผมพบคือเมื่อส่งออกข้อมูลเข้าสู่ Ms Excel แล้ว Ms Excel ไม่สามารถแสดงเป็นภาษาไทยได้ครับ (MS office 2007) อยากเรียนถามท่านเซียนว่าจะแก้ไขปัญหานี้อย่างไรดีครับ
การส่งออกข้อมูลเข้าสู่ Ms Excel
การส่งออกเข้า Ms Excel จะส่งออกในรูปแบบของไฟล์ csv และสามารถเปิดด้วย
โปรแกรม Microsoft Excel ลองมาดูตัวอย่างกันหน่อยนะครับ
ชื่อฐานข้อมูล mydatabase
รายละเอียดของตาราง
CREATE TABLE `testing` (
`id` int(3) NOT NULL auto_increment,
`question` varchar(100) NOT NULL default '',
`c1` varchar(100) NOT NULL default '',
`c2` varchar(100) NOT NULL default '',
`c3` varchar(100) NOT NULL default '',
`c4` varchar(100) NOT NULL default '',
`answer` int(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=11 ;
#
# dump ตาราง `testing`
#
INSERT INTO `testing` VALUES (1, 'ข้อที่ 1', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 1);
INSERT INTO `testing` VALUES (2, 'ข้อที่ 2', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 2);
INSERT INTO `testing` VALUES (3, 'ข้อที่ 3', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 3);
INSERT INTO `testing` VALUES (4, 'ข้อที่ 4', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 4);
INSERT INTO `testing` VALUES (5, 'ข้อที่ 5', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 4);
INSERT INTO `testing` VALUES (6, 'ข้อที่ 6', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 3);
INSERT INTO `testing` VALUES (7, 'ข้อที่ 7', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 2);
INSERT INTO `testing` VALUES (8, 'ข้อที่ 8', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 1);
INSERT INTO `testing` VALUES (9, 'ข้อที่ 9', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 2);
INSERT INTO `testing` VALUES (10, 'ข้อที่ 10', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 3);
[code]
Sample1.php
[code]<?
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="testing.csv"');
$host="localhost";
$username="";
$password="";
$db="mydatabase";
$tb="testing";
mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
echo "ข้อที่,คำถาม,ตัวเลือกที่ 1,ตัวเลือกที่ 2,ตัวเลือกที่ 3,ตัวเลือกที่ 4,ตัวเลือกที่ถูก,\n";
$sql = "select * from $tb";
$dbquery = mysql_query($sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_rows)
{
$result= mysql_fetch_array($dbquery);
echo "$result[id],$result[question],$result[c1],$result[c2], $result[c3],$result[c4],$result[answer],\n";
$i++;
}
?>
Tag : - - - -
Date :
2009-01-24 17:50:45
By :
joehawe
View :
1825
Reply :
5
Check Endcodeing ครับ
Date :
2011-09-17 09:33:40
By :
webmaster
ยังเหมือนเดิมเลยครับ
Date :
2011-09-17 10:17:37
By :
item170
ผมใช้วิธีนี้เอาครับ
Code (PHP)
<?
include "connect_local.php";
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="testing.csv"');
echo iconv('UTF-8','TIS-620','ไอดี').",test1,test2,\n";
//echo "ไอดี,test1,test2,\n";
$sql = "select * from test";
$dbquery = mysql_query($sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_rows)
{
$result= mysql_fetch_array($dbquery);
echo "$result[id],$result[test1],$result[test2],\n";
$i++;
}
?>
Date :
2012-03-26 10:36:18
By :
osakakub
Load balance : Server 02