หน้าเว็บ

Monday, September 28, 2015

Export Excel จาก MySQL ด้วย PHP โดยใช้ PHPExcel

<?php
require_once("connect.inc.php");
$query = " SELECT *,
     CASE
       WHEN is_subscription = 1 
       THEN 'Yes'
       ELSE '-'
     END as subscription
     FROM vtiger_leaddetails ORDER BY lead_no ";
$res = $mysqli->query($query); 

include ("PHPExcel/Classes/PHPExcel.php");
// สร้าง object ของ Class  PHPExcel  ขึ้นมาใหม่
$objPHPExcel = new PHPExcel();

// กำหนดค่าต่างๆ
$objPHPExcel->getProperties()->setCreator("AppliCAD Co., Ltd.");
$objPHPExcel->getProperties()->setLastModifiedBy("AppliCAD Co., Ltd.");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Leads Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Leads Document");
$objPHPExcel->getProperties()->setDescription("Leads from AppliCAD Co., Ltd.");

$sheet = $objPHPExcel->getActiveSheet();
$pageMargins = $sheet->getPageMargins();

// margin is set in inches (0.5cm)
$margin = 0.5 / 2.54;

$pageMargins->setTop($margin);
$pageMargins->setBottom($margin);
$pageMargins->setLeft($margin);
$pageMargins->setRight(0);

//กำหนดความกว้างของคอลัมน์
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(40);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(35);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(10);

//กำหนด Style ของหัวคอลัมน์
$styleHeader = array(
  'fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID,'color' => array('rgb' => 'ffff00')),
  'borders' => array('bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN)),
  'font'  => array(
  'bold'  => true,
  'size'  => 9,
  'name'  => 'Arial'
 ));

//เขียนหัวคอลัมน์
$objPHPExcel->setActiveSheetIndex(0)
   ->setCellValue('A1', 'leadid')
   ->setCellValue('B1', 'lead_no')
   ->setCellValue('C1', 'firstname')
   ->setCellValue('D1', 'lastname')
   ->setCellValue('E1', 'company')
   ->setCellValue('F1', 'mobile')
   ->setCellValue('G1', 'phone')
   ->setCellValue('H1', 'email')
   ->setCellValue('I1', 'Sub')
   ->setCellValue('J1', 'attended');
   $objPHPExcel->getActiveSheet()->getStyle('A1:J1')->applyFromArray($styleHeader);

//เริ่มเขียนข้อมูลที่แถวที่ 2
$rowCell=2; 
while($row=$res->fetch_array()){ 
 $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValue('A'.$rowCell, $row['leadid'])
    ->setCellValue('B'.$rowCell, $row['lead_no'])
    ->setCellValue('C'.$rowCell,$row['firstname'])
    ->setCellValue('D'.$rowCell, $row['lastname'])
    ->setCellValue('E'.$rowCell, $row['company'])
    ->setCellValueExplicit('F'.$rowCell, $row['mobile'],PHPExcel_Cell_DataType::TYPE_STRING)
    ->setCellValueExplicit('G'.$rowCell, $row['phone'],PHPExcel_Cell_DataType::TYPE_STRING)
    ->setCellValue('H'.$rowCell, $row['email'])
    ->setCellValue('I'.$rowCell, $row['subscription'])
    ->setCellValue('J'.$rowCell, $row['attended']);

 $rowCell++;
}

$mysqli->close(); 

// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Leads');

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

//ตั้งชื่อไฟล์
$datetime=date("Y-m-d-H:i:s");
$file_name = "Leads_".$datetime;

// Save Excel 2007 file
#echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
ob_end_clean();
// We'll be outputting an excel file
header('Content-type: application/vnd.ms-excel');
// It will be called file.xls
header('Content-Disposition: attachment;filename="'.$file_name.'.xlsx"');
$objWriter->save('php://output');

exit();
?>

สามารถดาวน์โหลด Class PHPExcel ได้จาก https://phpexcel.codeplex.com/

Friday, September 25, 2015

Thursday, September 24, 2015

Start Bootstrap Free Bootstrap Themes & Templates ฟรีธีมที่ใช้ Bootstrap

ดาวน์โหลดฟรีธีมที่ใช้  Bootstrap ออกแบบ

http://startbootstrap.com/


Export Excel จาก MySQL ด้วย PHP แบบง่ายๆ

เพียงนำโค๊ดด้านล่างนี้ไปใว้บนสุดของหน้าเว็บไซต์ที่ต้องการ Export และเปลี่ยนชื่อ file_name เป็นชื่อที่ต้องการ
<?php
header('Content-Type: text/html; charset=utf-8');
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="file_name.xls"');#file name
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:schemas-microsoft-com:office:excel"xmlns="http://www.w3.org/TR/REC-html40">';
?>

ถ้าแสดงข้อมูลด้วย table
<TABLE  x:str BORDER="1">
คือตัวเลขที่ขึ้นต้นด้วย 0 ก็จะแสดงเลข 0 ด้วย โค๊ดข้างบนคือทำให้ตัวเลขกลายเป็นชนิดของ string

Wednesday, September 23, 2015

ตัวอย่างประยุกต์การอ่านไฟล์ Excel และเขียนลง MySQL โดยใช้ PHPExcel

ตัวอย่างประยุกต์การอ่านไฟล์ Excel และเขียนลง MySQL โดยใช้ PHPExcel

โดยชื่อหัว Colum ของไฟล์ Excel จะเป็นดังนี้



Code

<?php
set_time_limit(0); 
require_once("connect.inc.php");

//File สำหรับ Import
$inputFileName="Leads.xlsx";

/** PHPExcel */
require_once 'PHPExcel/Classes/PHPExcel.php';

/** PHPExcel_IOFactory - Reader */
include 'PHPExcel/Classes/PHPExcel/IOFactory.php';


$inputFileType = PHPExcel_IOFactory::identify($inputFileName);  
$objReader = PHPExcel_IOFactory::createReader($inputFileType);  
$objReader->setReadDataOnly(true);  
$objPHPExcel = $objReader->load($inputFileName);  

$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();

$headingsArray = $objWorksheet->rangeToArray('A1:'.$highestColumn.'1',null, true, true, true);
$headingsArray = $headingsArray[1];

$r = -1;
$namedDataArray = array();
for ($row = 2; $row <= $highestRow; ++$row) {
    $dataRow = $objWorksheet->rangeToArray('A'.$row.':'.$highestColumn.$row,null, true, true, true);
    if ((isset($dataRow[$row]['A'])) && ($dataRow[$row]['A'] > '')) {
        ++$r;
        foreach($headingsArray as $columnKey => $columnHeading) {
            $namedDataArray[$r][$columnHeading] = $dataRow[$row][$columnKey];
        }
    }
}

$c=0;
foreach ($namedDataArray as $resx) {
 $c++; 
 echo "(".$c.") ".$resx['lead_no']." : ".$resx['firstname']."
";
 //Insert
  $query = " INSERT INTO vtiger_leaddetails (leadid,lead_no,email,firstname,lastname,company,mobile,phone,is_subscription) VALUES
      (
       '".$c."',
       '".$resx['lead_no']."',
       '".$resx['email']."',
       '".addslashes($resx['firstname'])."',
       '".addslashes($resx['lastname'])."',
       '".addslashes($resx['company'])."',
       '".addslashes($resx['mobile'])."',
       '".addslashes($resx['phone'])."',
       '".$resx['is_subscription']."'
      )";
  //echo $query."
";
  $res_i = $mysqli->query($query);
 //
}
$mysqli->close();
?>

สามารถดาวน์โหลด Class PHPExcel ได้จาก https://phpexcel.codeplex.com/

Thursday, September 17, 2015

HTML accesskey Attribute การกำหนดปุ่มคียน์ลัดให้กับ HTML

HTML accesskey Attribute

Example
<a href="http://www.w3schools.com/css3" accesskey="c">CSS3</a>

<button type="button" title="Clear [Alt+C]" accesskey="c" class="btn btn-default" onClick="window.open('index.php','_self');">เคลียร์</button>

Browser Windows Linux Mac
Internet Explorer [Alt] + accesskey N/A
Chrome [Alt] + accesskey [Alt] + accesskey [Control] [Alt] + accesskey
Firefox [Alt] [Shift] + accesskey [Alt] [Shift] + accesskey [Control] [Alt] + accesskey
Safari [Alt] + accesskey N/A [Control] [Alt] + accesskey
Opera Opera 15 or newer: [Alt] + accesskey

Opera 12.1 or older: [Shift] [Esc] + accesskey

Credit : http://www.w3schools.com/tags/att_global_accesskey.asp

HTML Color Picker เครื่องมีในการเลือกโค๊ดสี

HTML Color Picker -> http://www.w3schools.com/tags/ref_colorpicker.asp

Place cursor at end of text in text input element ให้ Cursor อยู่หลังข้อความใน Texbox

เวลาโหลดหน้าเว็บมาให้ Cursor อยู่หลังข้อความใน Textbox และให้โฟกัสที่ Textbox นี้

<input type="text" id="name" name="name" onfocus="this.value = this.value;" autofocus />