1年前、定期的な顧客から再度連絡がありました。 「マネージャーはバカです」と彼はresりました。 -スタッフの離職率は非常に高く、全員をトレーニングするには数か月かかります。 そして、彼らは間違いを犯します。」
そのような感情的な前奏曲の後、次のタスクが続きました:「ウェブサイトから注文するとき、MS Office形式の文書の既に形成されたパッケージが郵便局に来る必要があります:注文フォーム、請求書、支払い領収書、および仕様」。
タスク自体は
「PHP + Word」の記事に近いものです。 しかし、LiveDocxサービスは私たちには適していませんでした。 まず、ほとんどのドキュメントはExcelであると想定されていました。 第二に、ロシアからの「西側」への支払いは、かつて問題がありました。 第三に、顧客は多くのアイデアを持っていて、ホテルは、このサービスまたは同様のサービスがほとんど実現しなかったことを望んでいます。 たとえば、商品をカテゴリに分類した複雑なテーブル。
顧客には複数のサイトがあるため、注文時にサイトが連絡する独自のドキュメント生成サービス-独自のシステムを構築することが決定されました。
将来のコードは、同じhabrostatiのアイデアと、出版物
「既製のライブラリなしでPHPでxlsxを解析する」に基づいてい
ます 。
その結果、1か月間の作業で「ドキュメントジェネレータ」が作成され、起動されました。
彼にできること:
- テンプレートタグをデータで直接置き換えることにより、テンプレートごとにdocxドキュメントを生成します。
- xlsxテンプレートでも同じことを行います。
- xlsxでテーブルを展開し、配列からの入力データでそれらを埋めます。
- テーブルをグループに分割して、字幕を挿入します。
- リンクの挿入-単一、またはテーブルコンテンツとして。
ジェネレーターが現在どのように認識していないか:
- さまざまなタイプのデータを処理します-すべてのセルは行として入力されます。 このため、入力されたデータを操作するテンプレートでExcelの数式を使用することはできません。
- 画像を埋め込む。
- 書式の変更-テンプレートで完全に定義されています。
この形で、彼は現在1年間働いていました。 この期間中の問題は、主にクライアント側で発生しました-ストアから。 ただし、これはスクリプト「ジェネレーター」が理想的であることを意味しません。 現在まで、1つの実際のタスクでのみ実行されています。
すぐに、この製品が他の人にとって役立つ可能性があるという考えが生まれました。 そのため、新しいドメインが登録され、ドキュメントジェネレータのコピーがインストールされ、スクリプトを「感じ」、テンプレートに入力して
、鉄に耐えられるまで使用できる小さなサイトが作成されました。
今日、私は顧客からプロジェクトをGithubに投稿し、この記事を公開する許可を得ました。
デモ例でスクリプトの動作を確認できます。
ソースコードは
リポジトリで利用可能
です 。