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