Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung, wie das TP-Framework den PHP-Datenexport in Word implementiert

Detaillierte Erklärung, wie das TP-Framework den PHP-Datenexport in Word implementiert

小云云
小云云Original
2018-03-30 11:50:076176Durchsuche

In diesem Artikel erfahren Sie hauptsächlich, wie das TP-Framework den PHP-Datenexport in Word implementiert. Ich hoffe, er kann Ihnen helfen.

1. Verwenden Sie Composer, um PHPExcel zu installieren (Composer-Installationsmethode → Klicken Sie auf mich)

Composer erfordert PHPOffice/PHPExcel

2. Einführung verwandter Klassen

use PHPWord_IOFactory;
use PHPWord;
3. Spezifische Implementierungsmethoden
//调用插件
vendor('PHPWord');
vendor('PHPWord.IOFactory');
$phpWord  =  new \PhpOffice\PhpWord\PhpWord();      //实例化phpWord类
$properties = $phpWord->getDocInfo();
$properties->setCreator('My name');     //创建者
$properties->setCompany('My factory');    //公司
$properties->setTitle('My title');    //biao
$properties->setDescription('My description');    //描述
$properties->setCategory('My category');    //分类
$properties->setLastModifiedBy('My name');    //最后修改者
$properties->setCreated( mktime(0, 0, 0, 3, 12, 2010) );    //创建时间
$properties->setModified( mktime(0, 0, 0, 3, 14, 2010) );    //修改时间
$properties->setSubject('My subject');     //主题
$properties->setKeywords('my, key, word');    //关键字
$sectionStyle = array(
        'orientation' => null,    //页面方向默认竖向
        'marginLeft' => 900, 
        'marginRight' => 900,
        'marginTop' => 900,
        'marginBottom' => 900);
$section = $phpWord->addSection($sectionStyle);    //创建一个有样式的页面

Einige Styling-Optionen verfügbar: borderBottomColor. Die Farbe des unteren Randes.
borderBottomSize. Randunterkante in Twips.
borderLeftColor. Der Rand hinterlässt Farbe.
borderLeftSize. Größe des linken Randes in Twips.
borderRightColor. Der Rand hat die richtige Farbe.
borderRightSize. Die richtige Größe des Randes in Twips.
borderTopColor. Die Farbe des oberen Rands.
borderTopSize. Randoberteil in Zweigen.
breakType. Abschnittswechseltyp (nextPage, nextColumn, kontinuierlich, evenPage, oddPage).
colsNum. Anzahl der Spalten.
colsSpace. Der Abstand zwischen den Spalten.
footerHeight. Der Abstand am unteren Rand der Fußzeile.
Dachrinne. Seitenstegabstand.
headerHeight. Abstand zum oberen Rand des Titels.
marginTop. Seitenränder in Twips.
marginLeft. Leere Seite (gemessen in Twips).
marginRight. Korrigieren Sie die Seitenränder in Twips.
marginBottom. Unterer Rand in Zweigen.
Orientierung. Seitenausrichtung (Hochformat, was die Standardeinstellung ist, oder Querformat).
pageSizeH. Seitenhöhe in Twips. Implizit durch die Ausrichtungsoption definiert. Es wird keine Änderung gefördert.

pageSizeW. Seitenbreite in Twips. Implizit durch die Ausrichtungsoption definiert. Es wird keine Änderung gefördert.

//设置文本样式
$fontStyle = [
    'bgColor' => 'red',     //字体背景色
    'bold' => true,     //是否加粗
    'size' => '20',
    'color' => 'green',     //字体颜色
    'doubleStrikethrough' => true       //双实线
];
//设置段样式
$paragraphStyle = [
    'bidi' => true,     //从左到左
];
$text = '所添加的文本内容';
//添加文本
$section->addText($text, $fontStyle, $paragraphStyle);

Verfügbare Schriftartoptionen: allCaps. Alles in Großbuchstaben, wahr oder falsch.
bgColor. Hintergrundfarbe der Schriftart, zum Beispiel FF0000.
fett. Fett, wahr oder falsch.
Farbe. Schriftfarbe, z. B. FF0000.
doubleStrikethrough. Doppelt durchgestrichen, wahr oder falsch.
fgColor. Schriftarten heben Farben wie Gelb, Grün und Blau hervor.
Weitere Werte finden Sie unter PhpOfficePhpWordStyleFont::FGCOLOR_...-Konstanten
Hinweis. Schriftart-Inhaltstyp, Standard, EastAsia oder CS.
kursiv. Kursivschrift, wahr oder falsch.
Name. Schriftartname, z. B. Arial.
rtl. Von rechts nach links geschriebene Sprache, wahr oder falsch.
Größe. Schriftgröße, z. B. 20, 22.
SmallCaps. Kapitälchen, wahr oder falsch.
durchgestrichen. Durchgestrichen, wahr oder falsch.
subScript. Tiefgestellt, wahr oder falsch.
SuperScript. Hochgestellt, wahr oder falsch.
unterstreichen. Unterstrichen, einzeln, Bindestrich, Punkt usw.
Weitere Werte finden Sie unter PhpOfficePhpWordStyleFont::UNDERLINE_...-Konstanten
lang. Sprache, wie en-US, fr-BE und andere Sprachcodes oder wenn Sie ein ostasiatisches oder bidirektionales Sprachobjekt (oder Array) festlegen müssen

Einige Sprachcodes finden Sie in der PhpOfficePhpWordStyleLanguage-Klasse.

Verfügbare Optionen für den Absatzstil: Ausrichtung. Unterstützt alle Ausrichtungsmodi seit ECMA-376-Standard Version 1 bis ISO/IEC 29500:2012.
Details zum PHPOfficePhpWordSimpleTypeJc-Kurs anzeigen.
basedOn. Elternstil.
hängend. Wie hoch ist der Preis?
Einzug. Wie viel schrumpfen.
keepLines. Behalten Sie alle Zeilen auf einer Seite, wahr oder falsch.
weitermachen. Behalten Sie den Absatz beim nächsten Absatz bei, egal ob wahr oder falsch.
lineHeight. Die Höhe der Textzeile, z. B. 1,0, 1,5 usw.
Weiter. Nächster Stil.
pageBreakBefore. Beginnen Sie den Absatz auf der nächsten Seite, wahr oder falsch.
spaceBefore. Leerzeichen vor Absatz.
spaceAfter. Leerzeichen nach Absatz.
Abstand. Der Raum zwischen den Zeilen.
spacingLineRule. Regeln für den Zeilenabstand. Automatisch, genau, mindestens
Tabs. Eine Reihe benutzerdefinierter Registerkarten wurde eingestellt.
widowControl. Ermöglicht die Anzeige der ersten/letzten Zeile auf separaten Seiten, wahr oder falsch.
ContextualSpacing. Ignorieren Sie den oberen und unteren Abstand, wenn Sie denselben Stil verwenden, wahr oder falsch.
bidi. Absatzlayout von rechts nach links, wahr oder falsch.
Schattierung. Absatzschattierung.
textAlignment. Vertikale Zeichenausrichtung in der Zeile.

Sehen Sie sich die möglichen Werte für die PHPOfficePhpWordSimpleTypeTextAlignment-Klasse an.

//添加标题(相关样式需要单独设置)
$phpWord->addTitleStyle(1, $fontStyle, $paragraphStyle);
$section->addTitle('所添加的标题内容', 1);

Titel hinzufügen:

$phpWord->addTitleStyle($ Depth, [$fontStyle], [$paragraphStyle]);

$section->addTitle($text, [$ Depth]);



$linkSrc = 'https://www.baidu.com';     //链接地址
$linkName = '百度搜索';     //链接名称
//添加超链接(相关样式需要单独设置)
$section->addLink($linkSrc, $linkName, $fontStyle, $paragraphStyle);

Hyperlink hinzufügen:

$section - >addLink($linkSrc, [$linkName], [$fontStyle], [$paragraphStyle]);


//添加页脚方法
$footer = $section->addFooter();
$footer->addPreserveText('Page {PAGE} of {NUMPAGES}.');     //向页眉或页脚添加页码或页数
$breakCount = 10;       //设置换行数
$section->addTextBreak($breakCount, $fontStyle, $paragraphStyle);       //设置换行
$section->addPageBreak();   //添加换页符
$section->addListItem("list1", 1, $fontStyle,  $paragraphStyle);    //创建列表
$section->addListItem("list2", 1, $fontStyle,  $paragraphStyle);
$section->addListItem("list3", 1, $fontStyle,  $paragraphStyle);
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');  
$objWriter->save('AA.docx');    //生成word文件
Verwandte Empfehlungen:

Meistern Sie es schnell Prinzip des Exports von Word-Dokumenten mit PHP_PHP-Tutorial

PHP-Export von Word-Formularen

Beispielcode für den PHP-Export von Word-Format-Daten

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie das TP-Framework den PHP-Datenexport in Word implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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