Heim  >  Artikel  >  php教程  >  PHPExcel-bezogene Vorgänge

PHPExcel-bezogene Vorgänge

WBOY
WBOYOriginal
2016-10-19 10:19:30843Durchsuche

Im Folgenden werden mehrere Verwendungsmethoden zusammengefasst
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
//oder include 'PHPExcel/Writer/Excel5.php ' ;
für die Ausgabe von .xls Erstellen Sie ein Excel
$objPHPExcel = new PHPExcel();
Excel speichern – 2007-Format
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
/ /oder $ objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); Nicht-2007-Format
$objWriter->save("xxx.xlsx");
direkt an den Browser ausgeben
$objWriter = new PHPExcel_Writer_Excel5($ objPHPExcel) ;
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check =0 ″);
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content -Type :application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="resume.xls"');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
———————————— —— ——————————————————————————
Excel-Eigenschaften festlegen:
Erstellt von
$objPHPExcel->getProperties( )- >setCreator("Maarten Balliauw");
Zuletzt geändert von
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
Titel
$objPHPExcel- > getProperties()->setTitle("Office 2007 XLSX-Testdokument");
Titel
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX-Testdokument");
Beschreibung
$objPHPExcel->getProperties()->setDescription("Testdokument für Office 2007 XLSX, generiert mit PHP-Klassen.");
Schlüsselwörter
$objPHPExcel->getProperties() -> setKeywords("office 2007 openxml php");
Kategorie
$objPHPExcel->getProperties()->setCategory("Testergebnisdatei");
——————— ——— ———————————————————————————————
Aktuelles Blatt festlegen
$objPHPExcel->setActiveSheetIndex(0 ) ;
Legen Sie den Namen des Blattes fest
$objPHPExcel->getActiveSheet()->setTitle('Simple');
Legen Sie den Wert der Zelle fest
$objPHPExcel->getActiveSheet( )- >setCellValue('A1', 'String');
$objPHPExcel->getActiveSheet()->setCellValue('A2', 12);
$objPHPExcel->getActiveSheet()- > setCellValue('A3', true);
$objPHPExcel->getActiveSheet()->setCellValue('C5', '=SUM(C2:C4)');
$objPHPExcel-> getActiveSheet( )->setCellValue('B8', '=MIN(B2:C5)');
Zellen zusammenführen
$objPHPExcel->getActiveSheet()->mergeCells('A18:E22') ;
Zellen trennen
$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');

保护cell
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Muss auf true gesetzt werden, um den Arbeitsblattschutz zu aktivieren!
$objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'PHPExcel');
设置格式
// Zellennummernformate festlegen
echo date('H:i:s') . „Zellennummernformate festlegen“;
$objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle('E4'), 'E5:E13' );
设置宽width
// Spaltenbreiten festlegen
$objPHPExcel->getActiveSheet() ->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
Schriftart
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');
$objPHPExcel->getActiveSheet()-> getStyle('B1')->getFont()->setSize(20);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold (true);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet( )->getStyle('D13')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('E13')->getFont() ->setBold(true);
设置align
$objPHPExcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
//垂直居中
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
设置column的border
$objPHPExcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('B4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('C4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('D4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('E4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
设置border的color
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');
$objPHPExcel ->getActiveSheet()->getStyle('D13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
$objPHPExcel-> ;getActiveSheet()->getStyle('D13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet ()->getStyle('E13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet() ->getStyle('E13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()-> ;getStyle('E13')->getBorders()->getRight()->getColor()->setARGB('FF993300');
设置填充颜色
$objPHPExcel->getActiveSheet ()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A1')-> ;getFill()->getStartColor()->setARGB('FF808080');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType (PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->getStartColor()->setARGB('FF808080');
Bild hinzufügen
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$objDrawing->setPath('./images/ officelogo.jpg');
$objDrawing->setHeight(36);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Paid');
$objDrawing->setDescription('Paid');
$objDrawing->setPath('./images/paid.png') ;
$objDrawing->setCoordinates('B15');
$objDrawing->setOffsetX(110);
$objDrawing->setRotation(25);
$objDrawing-> getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(45);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
//Umgang mit chinesischen Ausgabeproblemen
Die Zeichenfolge muss für die normale Ausgabe in die UTF-8-Kodierung konvertiert werden. Andernfalls werden chinesische Zeichen wie folgt ausgegeben:
$str = iconv(' gb2312', 'utf-8', $str);
Oder Sie können eine Funktion speziell für die Verarbeitung chinesischer Zeichenfolgen schreiben:
function convertUTF8($str)
{
if(empty($str )) return '';
return iconv('gb2312', 'utf-8', $str);
}
//Datenverarbeitungsmethode aus der Datenbank ausgeben
Daten aus der Datenbank lesen, z :
$db = new Mysql($dbconfig);
$sql = "SELECT * FROM table name";
$row = $db->GetAll($sql); // $row is ein zweidimensionales Array
$count = count($row);
for ($i = 2; $i <= $count 1; $i ) {
$objPHPExcel->getActiveSheet( )->setCellValue('A' . $i, convertUTF8($row[$i-2][1]));
$objPHPExcel->getActiveSheet()->setCellValue('B' . $ i, konvertierenUTF8($ row[$i-2][2]));
$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, konvertierenUTF8($row[$i-2 ][3]) );
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, convertUTF8($row[$i-2][4]));
$ objPHPExcel->getActiveSheet ()->setCellValue('E' . $i, convertUTF8(date("Y-m-d", $row[$i-2][5])));
$objPHPExcel-> getActiveSheet()-> ;setCellValue('F' . $i, konvertierenUTF8($row[$i-2][6]));
$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, ConvertUTF8 ($row[$i-2][7]));
$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, ConvertUTF8($row[$i -2][8 ]));
}

Erstellen Sie nach dem Standardblatt ein Arbeitsblatt
echo date('H:i:s') " Neues Arbeitsblattobjekt erstellen";
$objPHPExcel- >createSheet();
$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
$objWriter-save('php://output');

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn