|
|
|
ขยายขนาดช่อง Cell ของ Excel ด้วย PHPExcel อย่างไรครับ ? |
|
|
|
|
|
|
|
สัวัสดีครับ คือผมมีปัญหาเกี่ยวกับ cell ในไฟล์ Excel ของชุด Library PHPExcel ครับ
คือ ตามภาพครับ
ตามภาพด้านบนครับ จะเห็นว่า cell จะติดๆกันครับ
จะมีวิธีขยาย Cell ให้เป็นรูปแบบ แบบนี้มั้ยครับผม
เหมือน cell จะติดๆกันอะครับ
นี้คือ โค้ดของผมครับ
Code (PHP)
<?php
if(isset($_POST['submit'])){
generate_excel();
}
ini_set('max_execution_time',0);
ini_set('memory_limit', '-1');
function DateThai($Date){
$Year = date("Y" , strtotime($Date)) + 543;
$Month = date("n" , strtotime($Date));
$Day = date("j" , strtotime($Date));
$Hour = date("H" , strtotime($Date));
$Minute = date("i" , strtotime($Date));
$Seconds = date("s" , strtotime($Date));
$MonthCut = Array("" , "ม.ค." , "ก.พ." , "มี.ค." , "เม.ย." , "พ.ค." , "มิ.ย." , "ก.ค." , "ส.ค." , "ก.ย." , "ต.ค." , "พ.ย." , "ธ.ค.");
$MonthThai = $MonthCut[$Month];
return "วันที่ $Day $MonthThai $Year, เวลา $Hour - $Minute";
}
function generate_excel()
{
$year = date('Y')+543;
$dayAndMonth = date("d-m");
$time = date('h-i');
$dateTime = $dayAndMonth."-".$year." ".$time;
$Date = date("Y-m-d h:i");
$fileName = 'falcon-' . $dateTime . '';
//DateThai($Date);
// ส่วนเชื่อมต่อ databese
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("test_exel") or die(mysql_error());
mysql_query("SET NAMES UTF8");
// ส่วนเชื่อมต่อ databese
/** Error reporting */
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser');
/** Include PHPExcel */
require_once dirname(__FILE__) . '/Classes/PHPExcel.php';
//require_once 'Classes/PHPExcel.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set document properties
$objPHPExcel->getProperties()->setCreator("Pong Admin")
->setLastModifiedBy($Date)
->setTitle("Falcon")
->setSubject("Receipt-Falcon")
->setDescription("copyright © 2560 by Falcon Express")
->setKeywords("Falcon Excel")
->setCategory("Receipt Excel");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'เวลาดาวน์โหลดไฟล์ '.$dateTime)
->setCellValue('B1', 'city')
->setCellValue('C1', 'country')
->setCellValue('D1', 'Date and time');
// Set Auto Size Columns
foreach($objPHPExcel->getActiveSheet()->getColumnDimension() as $col){
$col->setAutoSize(true);
}
$objPHPExcel->getActiveSheet()->calculateColumnWidths();
// Set Auto Size Columns
$res = mysql_query("SELECT * FROM table_excel") or die(mysql_error());
$a = 1;
while ($row = mysql_fetch_array($res)) {
$a++;
$a1 = 'A' . $a;
$b1 = 'B' . $a;
$c1 = 'C' . $a;
$d1 = 'D' . $a;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($a1, $row["name"])
->setCellValue($b1, $row["city"])
->setCellValue($c1, $row["country"])
->setCellValue($d1, DateThai($Date));
}
// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Simple');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Redirect output to a client’s web browser (Excel2007)
// Redirect output to a client's web browser (Excel5)
require_once '/Classes/PHPExcel/IOFactory.php';
// 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="'.$fileName.'.xls"');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
ob_end_clean();
//$objWriter->save($fileName);
$objWriter->save('php://output');
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>ทดสอบ Excel</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<center>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>
<input type="submit" name="submit" value="ดาวน์โหลดไฟล์ Excel"><br>
</form>
</center>
</body>
</html>
Tag : PHP, MySQL, Excel (Excel.Application), XAMPP
|
|
|
|
|
|
Date :
2018-02-20 11:14:18 |
By :
pongC |
View :
3045 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต่อยอดดูครับ
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(50);
|
|
|
|
|
Date :
2018-02-20 13:21:09 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|