Heim >类库下载 >PHP类库 >PHPExcel-bezogene Vorgänge

PHPExcel-bezogene Vorgänge

高洛峰
高洛峰Original
2016-10-19 10:01:251177Durchsuche

Im Folgenden werden mehrere Verwendungsmethoden zusammengefasst
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
//oder include 'PHPExcel/Writer/Excel5.php ' ; Wird zur Ausgabe von .xls verwendet
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");
Direkte Ausgabe an den Browser
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel ) ;
header("Pragma: public");
header("Läuft ab: 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:
Ersteller
$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.");
Keywords
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
Category
$objPHPExcel->getProperties()->setCategory("Testergebnisdatei");
—————————————————— —————— ————————————
Das aktuelle Blatt festlegen
$objPHPExcel->setActiveSheetIndex(0);
Den Namen des Blattes festlegen
$objPHPExcel->getActiveSheet () ->setTitle('Simple');
Den Wert der Zelle festlegen
$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');
Getrennte Zellen
$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' );
Überprüfungsbreite
// Spaltenbreiten festlegen
$objPHPExcel->getActiveSheet( )->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
设置font
$ 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); ->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);
Übersichtsspaltenrahmen
$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');
加图片
$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( 'Bezahlt');
$objDrawing->setDescription('Bezahlt');
$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());
//Behandlung chinesischer Ausgabeprobleme
Die Zeichenfolge muss in die UTF-8-Kodierung konvertiert werden, bevor sie normal ausgegeben werden kann. Andernfalls werden chinesische Zeichen als Leerzeichen ausgegeben . Gehen Sie wie folgt vor:
$str = iconv('gb2312', 'utf-8', $str);
Oder Sie können eine Funktion schreiben, um speziell chinesische Zeichenfolgen zu verarbeiten:
function convertUTF8($str )
{
if(empty($str)) return '';
return iconv('gb2312', 'utf-8', $str);
}
//Daten Verarbeitungsmethode zur Ausgabe von Daten aus der Datenbank
Daten aus der Datenbank lesen, wie zum Beispiel:
$db = new Mysql($dbconfig);
$sql = "SELECT * FROM table name";
$ row = $db->GetAll($sql ); // $row ist ein zweidimensionales Array
$count = count($row);
for ($i = 2; $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, konvertierenUTF8($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' -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

In Verbindung stehende Artikel

Mehr sehen