Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont le framework TP implémente l'exportation de données PHP vers Word

Explication détaillée de la façon dont le framework TP implémente l'exportation de données PHP vers Word

小云云
小云云original
2018-03-30 11:50:076245parcourir

Cet article partage principalement avec vous l'explication détaillée de la façon dont le framework TP implémente l'exportation de données PHP dans Word. J'espère qu'il pourra vous aider.

1. Utilisez composer pour installer phpExcel (méthode d'installation de composer → ​​cliquez sur moi)

composer nécessite phpoffice/phpexcel

2. Introduction des classes associées

use PHPWord_IOFactory;
use PHPWord;
3. Méthodes spécifiques de mise en œuvre
//调用插件
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);    //创建一个有样式的页面

Quelques options de style disponibles :
borderBottomColor. La couleur du bas de la bordure.
borderBottomSize. Taille du bas de la bordure en brins.
borderLeftColor. La bordure laisse la couleur.
borderLeftSize. Taille de la bordure gauche en brins.
borderRightColor. La bordure est de la bonne couleur.
borderRightSize. La taille correcte de la bordure en TWIPS.
borderTopColor. La couleur du haut de la bordure.
borderTopSize. Taille supérieure de la bordure en brins.
breakType. Type de saut de section (nextPage, nextColumn, continu, evenPage, oddPage).
colsNum. Nombre de colonnes.
colsEspace. L'espacement entre les colonnes.
footerHeight. L'espacement en bas du pied de page.
gouttière. Espacement des gouttières des pages.
headerHeight. Espacement en haut du titre.
margeTop. Marges de page en twips.
margeGauche. Page vierge (mesurée en twips).
margeDroite. Corrigez les marges de la page en twips.
margeBottom. Marge inférieure en traits.
orientation. Orientation de la page (portrait, qui est la valeur par défaut, ou paysage).
pageSizeH. Hauteur de la page en twips. Implicitement défini par l'option d'orientation. Aucun changement n’est encouragé.

pageSizeW. Largeur de la page en twips. Implicitement défini par l'option d'orientation. Aucun changement n’est encouragé.

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

Options de style de police disponibles :
allCaps. Tout en majuscules, vrai ou faux.
bgColor. Couleur d'arrière-plan de la police, par exemple FF0000.
audacieux. Audacieux, vrai ou faux.
couleur. Couleur de police, telle que FF0000.
double Strikethrough. Double barré, vrai ou faux.
fgColor. La police met en évidence les couleurs comme le jaune, le vert et le bleu.
Voir les constantes PhpOfficePhpWordStyleFont::FGCOLOR_... pour plus de valeurs
indice. Type de contenu de police, par défaut, eastAsia ou cs.
italique. Italique, vrai ou faux.
nom. Nom de la police, tel qu'Arial.
rtl. Langage de droite à gauche, vrai ou faux.
taille. Taille de la police, par exemple 20, 22.
petites majuscules. Petites majuscules, vrai ou faux.
barré. Barré, vrai ou faux.
indice. Indice, vrai ou faux.
superScript. Exposant, vrai ou faux.
souligner. Souligné, simple, tiret, point, etc.
Voir les constantes PhpOfficePhpWordStyleFont::UNDERLINE_... pour plus de valeurs
lang. Langue, telle que en-US, fr-BE et d'autres codes de langue ou si vous devez définir l'objet (ou un tableau) d'une langue est-asiatique ou bidirectionnelle

Voir la classe PhpOfficePhpWordStyleLanguage pour certains codes de langue.

Options de style de paragraphe disponibles :
alignement. Prend en charge tous les modes d'alignement depuis la version 1 de la norme ECMA-376 jusqu'à la norme ISO/IEC 29500:2012.
Affichez les détails du cours PhpOfficePhpWordSimpleTypeJc.
basedOn. Style parental.
pendu. Quel est le prix ?
retrait. Combien rétrécir.
garder les lignes. Conservez toutes les lignes sur une seule page, vraies ou fausses.
garderSuivant. Gardez le paragraphe avec le paragraphe suivant, vrai ou faux.
lineHeight. La hauteur de la ligne de texte, par exemple 1,0, 1,5, etc.
suivant. Style suivant.
pageBreakBefore. Commencez le paragraphe à la page suivante, vrai ou faux.
espaceAvant. Espace avant le paragraphe.
espaceAprès. Espace après le paragraphe.
espacement. L'espace entre les lignes.
spacingLineRule. Règles d'espacement des lignes. Automatique, exact, au moins
onglets. Un ensemble d'onglets personnalisés abandonné.
widowControl. Autoriser l'affichage de la première/dernière ligne sur des pages séparées, vrai ou faux.
Espace contextuel. Ignorez l'espacement haut et bas lorsque vous utilisez le même style, vrai ou faux.
bidi. Disposition des paragraphes de droite à gauche, vrai ou faux.
ombrage. Ombrage des paragraphes.
alignement du texte. Alignement vertical des caractères sur la ligne.

Affichez les valeurs possibles pour la classe PhpOfficePhpWordSimpleTypeTextAlignment.

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

Ajouter un titre :

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

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

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

Ajouter un lien hypertexte :

$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文件

Recommandations associées :

Maîtrisez-le rapidement Principe d'exportation d'un document Word avec tutoriel PHP_PHP

php export form word

Exemple de code pour php exportant des données au format Word

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn