Heim > Artikel > Backend-Entwicklung > Verwenden Sie PHP, um die Art und Weise des Lesens von WORD-Inhalten zu ändern
Projekt: Fragebogen
Anforderung: WORD-Fragebogen importieren
Hintergrund: Es sind Hunderte von Fragebögen im WORD-Format im Betrieb, wenn man sie manuell eingibt, wird das zweifellos eine Menge Arbeit sein Ich hoffe, sie direkt importieren zu können.
Stimmung: Nachdem ich die Anfrage erhalten hatte, hatte ich gemischte Gefühle, da ich bereits Excel-Importe durchgeführt habe und es vorgefertigte Plug-Ins gibt und ich viele Codes durchsuchen muss.
Beim Wortimport gibt es zweifellos Wissenslücken, aber die Nachfrage ist da und Sie können die Produktklassenkameraden nicht schlagen! Ich musste einfach in den sauren Apfel beißen.
Schwierigkeit: Der Inhalt von Word ist schwer zu lesen und der Inhalt ist beim Lesen nicht gut strukturiert.
Möglichkeiten zur Lösung des Problems:
Lesen Sie zuerst das WORT und sprechen Sie dann darüber, wie Sie es strukturieren.
WORD lesen:
Zuerst habe ich über die Verwendung von PHPWORD nachgedacht. Schließlich sollte ein ausgereiftes Plug-in wie PHPOFFICE in der Lage sein, WORD-Inhalte direkt zu lesen.
Die Realität sieht jedoch sehr hässlich aus. Ich habe alle Dokumente durchsucht und konnte keine Möglichkeit finden, den WORD-Inhalt direkt zu lesen. PHPWORD bietet nur Methoden zum Konvertieren von WORD in HTML und TDF.
Konvertierungsidee:
Da ich WORD nicht lesen kann, muss ich nur WORD in HTML konvertieren und dann den HTML-Inhalt lesen.
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 = 'word'; /** * The console command description. * * @var string */ protected $description = 'word'; /** * 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('测试.docx')); $write=new \PhpOffice\PhpWord\Writer\HTML($result); $write->save(storage_path().'/测试.html'); //读取HTML内容 $document=new \DOMDocument(); $document->loadHTML(file_get_contents(storage_path('测试.html'))); $html=simplexml_import_dom($document); dd((array)$html->body); } }
Test starten: Neue test.docx
Test.docx Inhalt:
Skript ausführen:
php artisan word
Ergebnis:
Das obige ist der detaillierte Inhalt vonVerwenden Sie PHP, um die Art und Weise des Lesens von WORD-Inhalten zu ändern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!