วิธีใช้งาน File helper ของ CodeInigter by

31
Oct
0

หลายอาทิตย์มานี้ ได้เริ่มทำงานเปลี่ยน exception ให้รองรับกับ file language ที่เป็น CSV
ซึ่งโจทย์ที่ต้องทำก็คือค้นหาไฟล์ทั้งเพื่อเปลี่ยน exception เลยนำมาเผยแพร่ต่อเผื่อเป็นแนวสำหรับใช้งานด้านอื่นนะครับ

วิธีเริ่มใช้งานก็เหมือน helper ปกติครับ ใช้
$this->CI->load->helper('file');

สำหรับโปรเจคนี้ก็จะมีแก้ไม่กี่่ที่ ส่วนมากเป็น model เพราะให้ controller เป็นส่วน try catch รอรับ error
ก็จัดการ list รายชื่อ file ที่ต้องแก้ไข ด้วยคำสั่ง
$a_model = get_filenames('./model');

แล้วก็ไล่จัดการกับแต่ละไฟล์
foreach($a_model as $model){
foreach(explode(";",read_file("./model/{$model}")) as $each){
if(strpos($each,'exception')!==false){
if(strpos($each,'get_language')!==false){
continue;
}
echo $each;
}
}
}

เพื่อให้php แสดงข้อมูลบรรทัดที่มี exception ออกมา หรือถ้าได้รับการแก้ไขแล้วด้วย function ที่ใช้งานภาษาก็ให้ข้ามไปอันถัดไปได้

(English) วิธีเลือก Active Sheet ใน PHPExcel by

30
Sep
0

ช่วงนี้ก็ยังคงวนเวียนอยู่กับ PHPExcel เพื่อนำข้อมูลจาก Excel เข้าสู่ Database
เดือนนี้จะแนะนำวิธีการเลือก active sheet สำหรับนำข้อมูลมาใช้งานครับ
การใช้งานมีอยู่สองแบบครับ แบบ Index กับแบบ Name

ประกาศตัวแปลให้ดูก่อนจะได้ไม่งงเวลาเรียกใช้นะครับ
$this->xlsx = $objReader->load($file_path);

วิธีเรียกแบบ Name ก่อนนะครับ ใช้งานง่ายๆ
$this->xlsx->setActiveSheetIndexByName('xxxxx');
เป็นการตั้งค่า active sheet ให้เป็น sheet ชื่อ xxxxx

วิธีตั้งค่าเป็น Index โดย
$this->xlsx->setActiveSheetIndex(1);

ซึ่งแบบใช้ชื่อน่าจะใช้งานได้สะดวกกว่า แต่ในบางทีเราก็ต้องวน loop ไปหลาย sheet ก็สามารถใช้งาน index แทน
อันนี้แล้วแต่จะประยุกต์ใช้กันนะครับ
สำหรับคนที่ไม่เคยใช้ บรรทัดต่อไปก็จะเป็นประมาณนี้ครับ
$this->xlsx->getActiveSheet()

วิธีอ้างอิงข้อมูลด้วยชื่อคอลัมม์ by

30
Aug
0

เมื่อทำงานผ่าน PHPExcel มาสักระยะ ทุกท่านก็คงจะพบปัญหาเช่นเดียวกับผม คือ ข้อมูลที่เราเคยอ้างถึงมันถูกเลื่อนออกจากจุดเดิมไป ทำให้ข้อมูลขาดหายไปโดยไม่รู้ตัว ตัวผมเองก็หาวิธีจัดการกับปัญหานี้เช่นกัน
พยายามรืัอ libraries หา function สำเร็จรูปแต่ก็ไม่พบ ถ้าใครพบก็ฝากแจ้งด้วยนะครับ
จึงหาวิธีจัดการเรื่องนี้ด้วยตนเอง วิธีก็คือ

  1. สร้างแถวสำหรับระบุคอลัมน์ โดยชื่อห้ามซ้ำกันเด็ดขาด
  2. ประกาศตัวแปร $header มารับข้อมูลจาก function สมมติว่าอยู่แถวที่ 1$header=array_flip($data[1]);
  3. เวลาใช้งานก็แทนคอลัมน์จาก สมมติว่า A =name เดิม$data[2]['A'] เป็น $data[2][$header['name']]

หลังจากนี้ ไม่ว่า name จะย้านไปอยู่คอลัมน์ไหน ก็ไม่มีปัญหาอีกต่อไป

วิธีดึงข้อมูลจาก excel มาใช้งานใน php โดย PHPExcel by

31
Jul
0

เนื่องจากไม่ได้อยู่หน้าเครื่องทำงานจริง จึงขอข้ามขั้นตอนการติดตัังไปไว้เดือนหน้านะครับ(กั๊กว่างั้น)
วิธิใช้นี้เป็นการทำงานผ่าน Code igniter นะครับ เริ่มต้นด้วยการประกาศค่าของ Reader กันเลย
ชุดแรกให้ประกาศไว้ใน function __construct() ครับ


$inputFileType = PHPExcel_IOFactory::identify($file_path);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(TRUE);
$this->xlsx = $objReader->load($file_path);

  • บรรทัดแรกเป็นการหาประเภท file ครับ ถ้าไม่รู้ ไม่อยากรู่้ หรือขี้เกียจก็ประกาศไว้อย่างงี้ให้โปรแกรมมันไปหาเอาเองหล่ะกัน
  • บรรทัดต่อมาเป็นการกำหนดให้สร้าง reader ตาม file type ที่ได้มาจาก identify
  • บรรทัดที่สามใส่ไว้ถ้าต้องการแค่ดึงข้อมูลออกมาจาก excel ครับ ลดการทำงานของ function ประหยัดทรัพยากร
  • แล้วก็ทำการสั่งโหลด file ใส่ตัวแปลเอาไว้ครับ อย่าลืมประกาศ ตัวแปลเพื่อจะได้ใช้งานทีเดียวครับ

ชุดต่อมาเป็นการใช้งานภายใน function

$this->xlsx->setActiveSheetIndex(0);
$data = $this->xlsx->getActiveSheet()->toArray(null, true, true, true);

  • บรรทัดแรกใช้ตั้งค่า active sheet ครับ เริ่มนับจาก 0
  • บรรทัดที่สองก็ทำการดึงค่า active sheet มาใส่ไว้ใน ตัวแปล array เพื่อใช้งานใน php กันต่อไปครับ

วิธีอ้างถึงข้อมูลคือ $data[แถว][คอลัมน์] เช่น $data[0]['A']

วิธีกำหนดลักษณะข้อความใน UILabel by

29
Jun
0

สำหรับ NGUI – UILabel ในข้อความที่ลักษณะเหมือนบทสนทนาต่างๆ หากมีการกำหนดค่าให้แสดงลูกเล่นก็จะทำให้ดูน่าอ่านขึ้น
ซึ่งข้อความเหล่านี้สามารถกำหนดมาจากต้นฉบับเพื่อนำมาแสดงภายใน UILabel ชิ้นเดียวได้เลย โดยอาศัย tag ที่คล้ายๆ BB code ดังต่อไปนี้

  • [b] – bold สำหรับกำหนดจุดเริ่มต้นของตัวหนา [/b] สำหรับกำหนดจุดสิ้นสุดของตัวหนา
  • [i] – italic สำหรับกำหนดจุดเริ่มต้นของตัวเอียง [/i] สำหรับกำหนดจุดสิ้นสุดของตัวเอียง
  • [u] – underline สำหรับกำหนดจุดเริ่มต้นของการขีดเส้นใต้ [/u] สำหรับกำหนดจุดสิ้นสุดของการขีดเส้นใต้
  • [s] – strike through สำหรับกำหนดจุดเริ่มต้นของการขีดค่า [/s] สำหรับกำหนดจุดสิ้นสุดของการขีดค่า
  • [รหัสสี] เช่น [99ff00] สำหรับกำหนดจุดเริ่มต้นของสี [-] สำหรับกำหนดจุดสิ้นสุดของสีข้างต้น [c] สำหรับบังคับใช้สีหลัก [/c]
 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน