Utilisez PHP pour changer la façon de lire le contenu WORD

藏色散人
Libérer: 2023-04-10 16:14:02
avant
4866 Les gens l'ont consulté

Utilisez PHP pour changer la façon de lire le contenu WORD

Projet : Questionnaire

Exigence : Questionnaire d'importation WORD

Contexte : Il y a des centaines de questionnaires au format WORD dans l'opération Si vous allez dans le backend pour les saisir manuellement, ce sera sans aucun doute beaucoup de travail. j'espère les importer directement.

Humeur : Après avoir reçu la demande, j'ai eu des sentiments mitigés, car j'ai déjà fait de l'importation Excel, et il existe des plug-ins prêts à l'emploi, et je dois rechercher beaucoup de codes.

L'importation de mots implique sans aucun doute des angles morts en matière de connaissances, mais la demande est là et vous ne pouvez pas battre vos camarades de classe produit ! Je devais juste mordre la balle.

Difficulté : Word est difficile à lire et le contenu n'est pas bien structuré une fois lu.

Choses pour résoudre le problème :

Lisez d'abord le MOT, puis parlez de la façon de le structurer.

Lire WORD :

Au début, j'ai pensé à utiliser PHPWORD. Après tout, un plug-in mature comme PHPOFFICE devrait être capable de lire directement le contenu de WORD.

Cependant, la réalité est très moche. J'ai cherché dans tous les documents et je n'ai pas trouvé de moyen de lire directement le contenu de WORD. PHPWORD fournit uniquement des méthodes pour convertir WORD en HTML et TDF.

Idée de conversion :

Comme je ne peux pas lire WORD, je peux lire le HTML, j'ai juste besoin de convertir WORD en HTML, puis de lire le contenu HTML.

Code :

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use PhpOffice\PhpSpreadsheet\Reader\Html;
use PhpOffice\PhpWord\Reader\Word2007;
class Test extends Command {
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = &#39;word&#39;;
    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = &#39;word&#39;;
    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct() {
        parent::__construct();
    }
    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle(Word2007 $word) {
        //WORD转换HTML
        $result=$word->load(storage_path(&#39;测试.docx&#39;));
        $write=new \PhpOffice\PhpWord\Writer\HTML($result);
        $write->save(storage_path().&#39;/测试.html&#39;);
        //读取HTML内容
        $document=new \DOMDocument();
        $document->loadHTML(file_get_contents(storage_path(&#39;测试.html&#39;)));
        $html=simplexml_import_dom($document);
        dd((array)$html->body);
    }
}
Copier après la connexion

Démarrer le test : Nouveau test.docx

Test.docx Contenu :

Utilisez PHP pour changer la façon de lire le contenu WORD

Exécuter le script :

php artisan word
Copier après la connexion

Résultat :

Utilisez PHP pour changer la façon de lire le contenu 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!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!