番号付け:指定行数を上限にしてシート分けする

目標(GOAL)

Excelシートにデータを入力する(インポートする)とき、指定された行数上限を超えた場合、別シートにデータを入力してシート分けしていく要件。下図は、100行単位でシート分けしている例です。

f:id:xoblos:20210816004910p:plain

f:id:xoblos:20210816004928p:plain

指定行数単位で「シート番号」を付けておく手法

上図のように100行単位でシート分けしたい場合、1~100行まではシート番号「1」、101~200行まではシート番号「2」、201~300行まではシート番号「3」というように、「シート番号」を抽出レコードに持たせればよさそうです。

f:id:xoblos:20210816005155p:plain

後はこのデータを後続生成手順で、次のような制御シートの「シート分割」キーワードを使ってシート分けします。

f:id:xoblos:20210816005114p:plain

このような「レコード番号」「シート番号」をレコードに振り付けるには、「抽出データの番号付け」手順を使用します。

「抽出データの番号付け」手順

デザイナの [新しい手順]-[抽出データを作成する]-[他の抽出データから(番号を振って)] メニューを選びます。

f:id:xoblos:20210814184723p:plain

f:id:xoblos:20210816004620p:plain

入力ファイルと出力結果の例

xoBlosビューアで表示した 販売データ.xml

f:id:xoblos:20210815101846p:plain

xoBlosビューアで表示した output.xml(出力結果)

f:id:xoblos:20210816004752p:plain

番号付け設定ファイル

「番号付け設定ファイル名」で指定する設定ファイル(XMLファイル)です。文字コードUTF-8で保存してください。<番号タイプ> を「Page」にして、シート番号を振る指定にしています。<容量> が行数上限です。

番号付け_指定行数グループ化.xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
  <Number>
    <OutputItem>
     <項目名>レコード番号</項目名>
  </OutputItem>
  
    <OutputItem>
     <項目名>シート番号</項目名>
     <番号タイプ>Page</番号タイプ>
     <容量>100</容量>
  </OutputItem>
 </Number>
</Root>