Projek: Soal Selidik
Keperluan: soal selidik import WORD
Latar Belakang: Terdapat beratus-ratus soal selidik format WORD dalam operasi backend untuk memasukkannya secara manual, Tidak dinafikan banyak kerja, dan saya harap ia boleh diimport terus.
Mood: Saya mempunyai perasaan bercampur-baur selepas menerima permintaan itu, kerana saya pernah melakukan import excel sebelum ini, dan terdapat pemalam siap pakai, dan saya perlu mencari banyak kod.
Import perkataan sudah pasti melibatkan titik buta pengetahuan, tetapi permintaan itu ada, dan anda tidak boleh mengalahkan rakan sekelas produk! Saya hanya perlu menggigit peluru.
Kesukaran: Perkataan sukar dibaca kandungan dan kandungannya tidak tersusun dengan baik apabila dibaca.
Idea untuk menyelesaikan masalah:
Baca PERKATAAN dahulu, dan kemudian bercakap tentang cara menyusunnya.
Baca WORD:
Pada mulanya saya terfikir untuk menggunakan PHPWORD Lagipun, pemalam matang seperti PHPOFFICE sepatutnya boleh membaca kandungan WORD secara langsung.
Namun, realitinya sangat kurus saya mencari semua dokumen dan tidak dapat mencari jalan untuk membaca kandungan WORD secara langsung. PHPWORD hanya menyediakan kaedah untuk menukar WORD kepada HTML dan TDF.
Idea penukaran:
Memandangkan saya tidak boleh membaca WORD, maka saya boleh membaca HTML, saya hanya perlu menukar WORD kepada HTML, dan kemudian membaca kandungan HTML Itu sahaja.
Kod:
<?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); } }
Mulakan ujian: Ujian baharu.docx
Kandungan Test.docx:
Laksanakan skrip:
php artisan word
Keputusan:
Atas ialah kandungan terperinci Gunakan PHP untuk menukar cara membaca kandungan WORD. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!