EAI/ETL技術者のブログ

  • Excelとのデータ連携
2017.06.14

Excelファイルをメール送信でDBに自動登録する方法

Excelファイルをメール送信でDBに自動登録する

みなさま、はじめまして!

株式会社アシスト でEAI製品の技術を担当しております 三村(みむら) と申します。

この記事では「メールに添付されたExcelをDBに登録する処理」をEAI製品で開発する方法をご紹介します。

Excelのデータを手作業でシステムに登録していませんか?

よくあるケースとして、お客様から発注のリスト(Excel形式)をメールで貰い、システムに手作業で登録することがあるかと思います。

ここで問題となるのが、取引先ごとにフォーマットが異なっていた場合、思いのほか入力に時間が掛ったり、入力ミスによるデータの不整合が発生してしまう恐れがあります。
また、スクラッチ開発したデータ連携処理で対応するとしても、プログラミングの知識が必要だったり、取引先ごとに細かな設定が必要となる場合があり、仕様変更時には非常に苦労するかと思われます。

しかし、EAI製品を活用しこれらの連携処理を開発してしまえば、面倒なフォーマットごとの差異も簡単に処理を組むことができますし、なによりプログラミングの知識がなくてもあっという間に組める魅力があります。操作方法もシンプルで、開発経験の浅く、EAI製品を全く知らなかった私でも簡単に処理を組むことができました!

Excelデータのシステム登録を自動化しましょう

上図の例を元に、EAI製品で発注依頼メールを自動的にシステム登録できる仕組みを作成してみたいと思います。

システム連携の仕組みを開発することで・・・

発注メールが届いた時点で自動的にシステム登録できるようになる

データの手入力や手作業での加工作業をする必要がなくなる

データの不整合を未然に防ぎ、出荷が遅れる原因を排除できる

という相乗効果が生みだすことができます!

また、スクラッチと比較した場合でも、開発工数の大幅削減、開発人員増員、処理の可視化による引継ぎ負担軽減などメリットが盛りだくさんです。

EAIで自動化する方法

EAI製品としてASTERIAやMagicxpiなど様々な製品が流通しておりますが、今回は参考として「DataSpider」で実装する方法を紹介します。

大まかな作成の流れは以下の通りです。

①新着メールの確認

②メールを1件ずつ処理

③添付されたExcelファイルの読み取り

④指定のDBへの書き込み

①新着メールの確認

対象のメールサーバの対象の宛先に届いたメールのみを簡単にキャッチアップできます。
処理に使用する専用のアドレスを作成し、取引先へそのアドレス宛てに送ってもらうよう依頼をすれば、他業務のメールが誤って取り込まれることはありません。
自動で必要なメールを判断してくれるので非常に便利ですね!
もちろん、添付ファイルの保存先も自由に指定できます。


②メールを1件ずつ処理

複数件メールを受信したらどうなるのか、という点についても、メールの受信件数分繰り返す処理を加えることで解決です。
一定のフロー処理もEAI製品なら構文を書かずともすべてGUI操作で作成できます。
手組みですと、ループが何重にも重なったり、条件分岐したりすると可読性が落ちていきますが、分岐点がわかりやすいのもEAI製品の特長です。

③添付されたExcelファイルの読み取り

EAI製品を使えば、添付ファイル名の指定を毎回手作業で行う必要はありません。ファイルパスを変数化しておき、動的に読み取りファイルを変更できます。
これでファイルの格納先を思い出しつつ、ファイルを指定する作業がなくなります!


④指定のDBへの書き込み

特定のDBへの書き込みも、手作業で細かく行わずに指定した箇所に自動で格納できます。
データを格納したい項目を視覚的にマッピングして指定できますし、書き込み先のフォーマットに合わせデータの加工も簡単に設定できます。
加工変換用のロジックは非常に数が多く、細かな変換要件にも幅広く対応できますし、何よりGUI操作で簡単に実装できてスピーディです。
今までExcelのマクロなどで組まれていた関数も置き換えることができます。

また、テーブルの接続定義を保存しておくことも可能です。
例えば、接続要件が社内の指示で変わったとしても、元のプログラムを書き換える必要はなく、大元の接続定義の変更のみで定義を利用するすべての連携処理に変更内容が適用されます。

実行結果

では、実行して処理イメージを紹介しましょう。
対象のアドレスに下記メールを送信します。

添付のExcelファイルには発注リストが記載されています。
このリストの情報をDataSpiderで自動登録します。

実行結果は直接テーブルを見る以外に、ツールから見ることが可能ですので、すぐに結果を確認できます。


まとめ

今回は「メールに添付されたExcelをDBに登録する処理」をEAI製品で開発する」方法をご紹介致しました。

EAI製品を使用すると驚くほどシンプルかつ簡単に、面倒な処理を開発、自動運用できることがお分かり頂けたかと思います。

今回の例のように、EAI製品は単にデータの連携だけでなく、「タダ働きしてくれる上、迅速に作業する社員のような存在」を作り出すことができ、個人単位での業務効率化も図ることが可能です。

様々な業務で適用できる汎用性を兼ね備えていますので、本記事がEAI製品の利用シーンを検討されている方の一助になれば幸いです。


三村 高広 (みむら たかひろ)

東日本技術本部 情報基盤技術統括部

2015年株式会社アシストに入社。
入社以来、EAI/ETL製品の担当部署に配属し現在「DataSpider」の担当として活動中。
「EAI技術者のブログ」を通し、皆様に様々なEAI製品導入のメリットや効果をご紹介します。

関連している記事

  • Excelとのデータ連携
2020.08.21

Excelの業務改善に効くDataSpider!~適用シーンのまとめ~

Excelの定型業務をDataSpiderで改善するシーンについてまとめてみました!

  • Excelとのデータ連携
2020.04.22

Excelへの書き込みが高速に!DataSpider Excelアダプタが機能拡張

DataSpider Excelアダプタの書き込み速度がUP!より便利になったそのポイントを解説します。

  • Excelとのデータ連携
2018.02.07

Excelマクロを置き換えて脱「属人化」!~身近なものから【働き方改革】への第一歩を踏みだそう~

Excelマクロを駆使している業務に対して、誰にもメンテナンスができない・・など「属人化」の課題を抱えていませんか?EAIツールに置き換えて業務を効率化しましょう!

ページの先頭へ戻る