ExcelからWebシステムへの入力をPythonで自動化|転記作業を減らした実例と3つの工夫

Excelに入力した内容を、
Webシステムへもう一度転記する。

このような作業は単純ですが、
件数が増えるほど時間がかかり、
入力ミスも起こりやすくなります。

私は専門商社の海外営業として、
見積作成や受注処理を行う中で、
同じ内容を何度も入力することに
以前から無駄を感じていました。

そこでPythonを使い、
Excelのデータを読み取って、
Webシステムへ自動入力する
仕組みを作りました。

今回は、実際の仕組みと、
運用して分かったポイントを
できるだけ簡潔に紹介します。

ExcelからWebシステムへの入力を自動化した理由

私の仕事では、Excelで作成した
見積データをWebシステムへ
入力する作業があります。

Excelにはすでに、

  • 品名
  • 単価
  • 納期

などが入力されています。

しかし、Webシステムへの登録時には、
同じ内容を一行ずつコピーして
貼り付ける必要がありました。

数件であれば、それほど大きな
負担には感じません。

ところが明細が数十行になると、
Excelとブラウザを何度も往復し、
かなり集中力を使います。

単価を一行ずらして入力したり、
納期の転記を忘れたりすることも
考えられます。

そこで、Excelから必要な情報を
Pythonで読み取り、そのまま
Web画面へ入力することにしました。

PythonでExcelからWebシステムへ転記する仕組み

今回の自動化では、主に
「openpyxl」と「Playwright」を
使用しました。

openpyxlでExcelを読み取り、
Playwrightでブラウザを操作する
という組み合わせです。

実際の処理は、次のような流れです。

  1. 対象のExcelファイル名を入力する
  2. Excelの指定列からデータを取得する
  3. ブラウザでWebシステムを開く
  4. 明細を上から順番に入力する
  5. 入力結果を画面上で確認する

私が使用したExcelでは、
27行目から明細が始まります。

そのため、Pythonには次のように
読み取る場所を指定しました。

  • C列:品名
  • I列:単価
  • K列:納期

入力済みの範囲を明確にすることで、
見出しや合計欄まで誤って
読み取るのを防いでいます。

ExcelからWebへの自動転記で入れた3つの工夫

自動化は、動くだけでは
実務で安心して使えません。

そこで、日常業務で使いやすいように
3つの工夫を加えました。

1.Excelファイル名の入力を簡単にする

最初のプログラムでは、
ファイル名を正確に入力しないと
処理が止まっていました。

特に「.xlsx」を付け忘れると、
ファイルが見つからないという
エラーが発生します。

そこで、拡張子が省略された場合は、
Python側で自動的に「.xlsx」を
追加するように修正しました。

小さな変更ですが、毎回使うものは
入力の手間を減らすだけでも、
かなり扱いやすくなります。

2.数式ではなく表示結果を読み取る

見積書では、セルに直接数字が
入っているとは限りません。

別のセルを参照する数式や、
計算式が入っていることもあります。

そこで、openpyxlで読み込む際に、
数式そのものではなく表示結果を
取得する設定にしました。

これにより、Excel上で見えている
単価や納期をWebシステムへ
入力しやすくなりました。

3.最後の確認と登録は人が行う

今回の仕組みでは、入力後すぐに
登録ボタンを押すのではなく、
ブラウザ画面を残しています。

品名、単価、納期が正しいかを
画面上で確認してから、
最後の登録を自分で行うためです。

私は、すべてを自動化するよりも、
繰り返し作業だけをPythonに任せ、
重要な判断は人が行う方が、
実務では使いやすいと感じています。

PythonによるWeb入力自動化でつまずいた点

作り始めた当初は、ブラウザが開いても
途中で処理が止まることがありました。

原因を確認すると、Excelファイル名や
読み取り位置など、プログラム以外の
部分に問題があるケースもありました。

また、Webシステムの入力欄が
一般的なフォームではなく、
画面上で動的に作られていたため、
単純な文字入力では動かない箇所も
ありました。

その部分は、画面内部のデータを
更新する方法へ変更することで、
複数行を入力できるようになりました。

AIにエラー画面や状況を伝えながら
一つずつ原因を切り分けたことで、
プログラミングの専門知識がなくても
実際に使える形まで修正できました。

ExcelからWebシステムへの入力自動化で減った作業

この仕組みを使うことで、
一行ずつコピーして貼り付ける
作業がほとんど不要になりました。

特に減ったのは、次の作業です。

  • Excelとブラウザの画面切り替え
  • 品名や単価のコピーと貼り付け
  • 入力する行の位置確認
  • 転記後の細かな修正

単純な時間短縮だけでなく、
入力中に集中力を消耗しにくくなった
ことも大きな効果でした。

自動入力中に別の確認作業を進め、
最後にまとめて画面をチェックする
という働き方もできます。

ExcelからWebへのPython自動化が向いている業務

今回のような自動化は、
次の条件に当てはまる業務と
特に相性が良いと思います。

  • Excelの入力形式がほぼ決まっている
  • 同じWeb画面へ繰り返し入力する
  • 明細の件数が多い
  • コピーと貼り付けが中心になっている
  • 最終登録前に内容を確認できる

最初から複雑な業務全体を
自動化する必要はありません。

まずは「品名だけ入力する」など、
範囲を小さくして試す方が、
失敗したときの修正も簡単です。

まとめ

ExcelからWebシステムへの入力は、
毎回少しずつ時間を取られる
見えにくい作業です。

Pythonを使えば、専門的な大規模開発を
行わなくても、自分の業務に合わせた
小さな自動化を作れます。

すべてを機械に任せるのではなく、
面倒な転記だけを減らすことでも、
日々の仕事は十分に進めやすくなります。