ある業務をこなすために、PHPでファイルを取り込み、それをExcelファイルの表にして保存するという方法が必要となっています。
ExcelファイルはPhpspreadsheetを使って問題なくデータを取得できるのですが、問題はwordのdocファイルで、どうやってもデータを取得できません。何かいい方法はないでしょうか、ご教示ください。なお、使用環境はPHP5.6です。PHP7以降になると、csvから文字列データ取込みにおけるデリミタを認識しないという致命的なバグを解消できないので、敢えてアップデートしていません。
やってみたこと
PHPWordのインストールと実行
PHPSpreadSheetのword版ともいえるPHPWordというのがあるみたいなので使ってみようと思いましたが、文字列をdocxファイルに代入するもののようで、docxから取得した文字を別システム上に出力するというものではなさそうです(実際にインストールして操作してみましたが、テキストの取得はできませんでした)
また、根本的な問題としてdocファイルに対応していないようで、開発者も放置しているようです。
###zip-archiveを使ったテキスト取得
今更ながらphpでword(docx)を読み込んでplain textを得る
という技術系ブログのページを参考に取得してみようとしたのですが、どうもPHP5.6においてzip-arhiveの挙動が他と異なっているのか、データ取得はできませんでした。
現状、どうしているのか?
Wordを開いて、txt形式で保存したものをインポートし、それをfile_get_contents関数で取り込んでおり、その後のExcelファイルへの保存はうまくいっています。しかし、手動で操作するのが煩わしく、物量が多いのでここも自動化したいところです。
プログラムを使ってdocファイルをtxtファイルに転換さえできれば、別にPHPにはこだわらないのですが、html上のシステムで動かしたいと考えています。どうか、解決法をご存知の方、ご教授お願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/17 12:01