LoginSignup
1
0

More than 1 year has passed since last update.

【スケジューラ】Excelワークシートを使用した書き戻し(オフセット編)

Posted at

Sharperlightスケジューラでは、様々なタスクの自動化を行うことができます。
Excelワークシート上のテーブルデータをデータベースに書き込んだりといった作業もできます。
今回は、Excelワークシート上のテーブルデータがセルA1(最右上)からではなく、セルB3といった中途半端な位置から始まっている場合を試してみようと思います。

前準備

先ずこのようなExcelワークシートを準備しました。これを C:\Temp フォルダに保存しておきます。
image.png
データを書き込む先のデータベース テーブルも準備します。こんな感じかな。
image.png

スケジューラ タスクの作成

Sharperlightアプリケーションメニューからスケジューラを起動します。

一般タブ

コードグループ説明等を記入します。
image.png

アクションタブ

新規アイコンを利用して、書き戻しアクションを追加します。様々な属性が表示されるので下図で示した属性だけ設定し、残りは既定値のままにします。
製品コードは使用するデータモデルのコードです。要するのデータモデルが書込み先のデータベースと繋がっている(クライアントのセットアップで結び付けている)ので、ここで選択する訳です。
テーブルのコードは、選択したデータモデルに定義されているテーブルのコードです。このテーブルにデータが書き込まれます。
ソース:タイプは、Excelワークシートを使用するのでもちろんExcelを選択します。
ソース:Excel:ファイル名には、先ほど準備したファイルを指定。
ソース:Excel:シート名には、テーブルデータが存在するシート名を指定。
ソース:Excel:ヘッダー行は、準備したテーブルデータにヘッダーがあればチェックを入れます。
そして、ここが今回に主題であるオフセットです。準備したテーブルデータはB3が開始位置になっています。なのでオフセット属性にはB3を指定します。ドライバー属性は、どのセル(列)をガイド(どの行までデータを読み込むかを判断するために使用する列)とするかを指定します。ある行のドライバーとして指定したセルが空白だと、Sharperlightエンジンはそこをデータセットの行の終わりと判断します。
image.png
OKボタンで保存します。
保存されたタスクを選択し右クリックメニューから実行を選択します。
処理が終了したらデータベースを確認してみます。きちんとデータセットが書き込まれていました。
image.png

では、失礼します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0