[1071]XOOPS模組開發
<?php
include_once "header.php";
require_once TADTOOLS_PATH . '/PHPExcel.php'; //引入 PHPExcel 物件庫
require_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; //引入 PHPExcel_IOFactory 物件庫
$objPHPExcel = new PHPExcel(); //實體化Excel
//----------內容-----------//
$objPHPExcel->setActiveSheetIndex(0); //設定預設顯示的工作表
$objActSheet = $objPHPExcel->getActiveSheet(); //指定預設工作表為 $objActSheet
$objActSheet->setTitle("文章列表1"); //設定標題
$objPHPExcel->createSheet(); //建立新的工作表,上面那三行再來一次,編號要改
$objPHPExcel->getDefaultStyle()->getFont()->setName('微軟正黑體')->setSize(14);
$i=1;
$objActSheet->mergeCells("A{$i}:J{$i}")->setCellValue("A1", '巷談集所有文章備份');
$objActSheet->getStyle('A:J')->getAlignment()
->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER) //垂直置中
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中
$objActSheet->getStyle('E')->getAlignment()
->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER)
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); //水平靠左
$objActSheet->getStyle('F')->getAlignment()
->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP) //垂直靠上
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT) //水平靠左
->setWrapText(true); //自動換行
$i++;
$objActSheet->setCellValue("A{$i}", '編號');
$objActSheet->setCellValue("B{$i}", '精華');
$objActSheet->setCellValue("C{$i}", '主題編號');
$objActSheet->setCellValue("D{$i}", '排序');
$objActSheet->setCellValue("E{$i}", '標題');
$objActSheet->setCellValue("F{$i}", '內容');
$objActSheet->setCellValue("G{$i}", '作者');
$objActSheet->setCellValue("H{$i}", '建立時間');
$objActSheet->setCellValue("I{$i}", '修改時間');
$objActSheet->setCellValue("J{$i}", 'uid');
$objActSheet->getStyle('A1:J1')->getFont()->setBold(true)->getColor()->setARGB('00FFFFFF');
$objActSheet->getStyle('A1:J1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00474747');
$objActSheet->getColumnDimension('A')->setWidth(5);
$objActSheet->getColumnDimension('B')->setWidth(5);
$objActSheet->getColumnDimension('C')->setWidth(5);
$objActSheet->getColumnDimension('D')->setWidth(5);
$objActSheet->getColumnDimension('E')->setWidth(40);
$objActSheet->getColumnDimension('F')->setWidth(80);
$objActSheet->getColumnDimension('G')->setWidth(15);
$objActSheet->getColumnDimension('H')->setWidth(20);
$objActSheet->getColumnDimension('I')->setWidth(20);
$objActSheet->getColumnDimension('J')->setWidth(8);
$i++;
$tbl = $xoopsDB->prefix('snews');
$sql = "SELECT * FROM `$tbl` ORDER BY `update_time` DESC";
$result = $xoopsDB->query($sql) or web_error($sql);
while ($snews = $xoopsDB->fetchRow($result)) {
foreach($snews as $key=> $val){
$objActSheet->setCellValueByColumnAndRow($key, $i, $val);
}
$objActSheet->getRowDimension($i)->setRowHeight(60);
$i++;
}
$n=$i-1;
$objActSheet->setCellValue("A{$i}", '共');
$objActSheet->setCellValue("B{$i}", "=count(A3:A{$n})");
$objActSheet->setCellValue("C{$i}", '篇文章');
$objActSheet->getStyle("A1:J{$n}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000');
$objActSheet->getProtection()->setSheet(true);
$objActSheet->getProtection()->setSort(true);
$objActSheet->getProtection()->setInsertRows(true);
$objActSheet->getProtection()->setFormatCells(true);
$objActSheet->getProtection()->setPassword('1234');
$title=iconv('UTF-8','Big5','文章備份');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename='.$title.'.xls');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->setPreCalculateFormulas(false);
$objWriter->save('php://output');
exit;
excel