โค้ดอ่านไฟล์ xls ทำงัยถึงอ่านภาษาไทยได้ครับ
ช่วยทีพี่ ขอบคุณมากๆ !!!!!!
<?php
// Test CVS
require_once 'Excel/reader.php';
// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding.
$data->setOutputEncoding('CP1251');
/***
* if you want you can change 'iconv' to mb_convert_encoding:
* $data->setUTFEncoder('mb');
*
**/
/***
* By default rows & cols indeces start with 1
* For change initial index use:
* $data->setRowColOffset(0);
*
**/
/***
* Some function for formatting output.
* $data->setDefaultFormat('%.2f');
* setDefaultFormat - set format for columns with unknown formatting
*
* $data->setColumnFormat(4, '%.3f');
* setColumnFormat - set format for column (apply only to number fields)
*
**/
$data->read('test.xls');
/*
$data->sheets[0]['numRows'] - count rows
$data->sheets[0]['numCols'] - count columns
$data->sheets[0]['cells'][$i][$j] - data from $i-row $j-column
$data->sheets[0]['cellsInfo'][$i][$j] - extended info about cell
$data->sheets[0]['cellsInfo'][$i][$j]['type'] = "date" | "number" | "unknown"
if 'type' == "unknown" - use 'raw' value, because cell contain value with format '0.00';
$data->sheets[0]['cellsInfo'][$i][$j]['raw'] = value if cell without format
$data->sheets[0]['cellsInfo'][$i][$j]['colspan']
$data->sheets[0]['cellsInfo'][$i][$j]['rowspan']
*/
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
}
//print_r($data);
//print_r($data->formatRecords);
?>
ข้อจำกัดของ class นี้ คือ รองรับ excel เวอร์ชั่นเก่าๆเท่านั้นนะครับ คุณอาจต้องแปลงกลับเป็น excel เวอร์ชั่นเก่าก่อนนำมาเปิดใช้งาน เท่าที่จำได้ดู้หมือนเป็น excel 97 ครับ ถัดจากนั้นดูเหมือนจะไม่ support แล้ว
ปล. ผมเข้าใจว่า 97 เก็บข้อมูลเป็น ASCII แต่ รุ่นใหม่ๆ จะเก็บเป็น UTF-8 ครับ
ผมลอง แบบ 97 ละพี่ ไม่ได้เหมื่อนเดิม พี่มีวิธีอื่นมั้ยครับ
ของพี่ ละครับ ทั้งโค้ดทั้งไฟล์ xls เลย ของพี่เป็นตัวเลข ผมลองใส่ภาษาไทยดูละ ไม่ได้เหมือนเดิม อิอิ
ขอบคุณมากๆ นะพี่ สำหรับคำแนะนำ