A-AA+then

โค้ดอ่านไฟล์ xls ทำงัยถึงอ่านภาษาไทยได้ครับ

2,060

ช่วยทีพี่ ขอบคุณมากๆ !!!!!!

<?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);
?>

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

เท่าที่เคยใช้ ก็อ่านได้นี่ครับ

ข้อจำกัดของ class นี้ คือ รองรับ excel เวอร์ชั่นเก่าๆเท่านั้นนะครับ คุณอาจต้องแปลงกลับเป็น excel เวอร์ชั่นเก่าก่อนนำมาเปิดใช้งาน เท่าที่จำได้ดู้หมือนเป็น excel 97 ครับ ถัดจากนั้นดูเหมือนจะไม่ support แล้ว

ปล. ผมเข้าใจว่า 97 เก็บข้อมูลเป็น ASCII แต่ รุ่นใหม่ๆ จะเก็บเป็น UTF-8 ครับ
1

ผมลอง แบบ 97 ละพี่ ไม่ได้เหมื่อนเดิม  พี่มีวิธีอื่นมั้ยครับ

2

ได้ดาวน์โหลดของที่ผมไปหรือเปล่า ถ้าไม่ ลองดาวน์โหลดไปดูครับ ลองหาดูบนเว็บ
3

ของพี่ ละครับ ทั้งโค้ดทั้งไฟล์ xls เลย ของพี่เป็นตัวเลข ผมลองใส่ภาษาไทยดูละ ไม่ได้เหมือนเดิม อิอิ
ขอบคุณมากๆ นะพี่ สำหรับคำแนะนำ

4
^