您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用PHP讀取WORD的內容”,在日常操作中,相信很多人在怎么用PHP讀取WORD的內容問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用PHP讀取WORD的內容”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
項目:問卷
需求:WORD 導入問卷
背景:運營那里有幾百個 WORD 格式問卷,如果去后臺手動錄入,無疑工作量很大,希望能直接導入。
心情:接到需求之后五味雜陳,因為以前做過 excel 導入,而且有現成的插件,代碼也是一搜索一堆。
word 導入無疑涉及到了知識盲點,但是需求就在那里,又懟不過產品同學!只能硬著頭皮上了。
難點:word 不好讀取內容,內容讀出來不好結構化。
解決問題思路:
先讀取 WORD, 再說怎么結構化。
讀取 WORD:
一開始想著用 PHPWORD, 畢竟 PHPOFFICE 這么成熟的插件應該可以直接讀取到 WORD 內容吧。
然而現實很骨感,找遍了文檔并沒有找到直接讀取到 WORD 內容的方法。PHPWORD 只提供了把 WORD 轉換成 HTML,TDF 的方法。
轉換思路:
既然不能讀取 WORD, 那我可以讀取 HTML, 只需要把 WORD 轉換成 HTML 就可以了,然后讀取 HTML 內容就行。
代碼:
<?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); } }
開始測試:新建 測試.docx
測試.docx 內容:
執行腳本:
php artisan word
結果:
到此,關于“怎么用PHP讀取WORD的內容”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。