xls2htmlのmaxcount属性とbreak属性の併用について

ご質問をいただいたxls2htmlのmaxcount属性とbreak属性の併用について、お答えします。

例として、次のデータを使用します。
実際のExcelファイルはこちらからダウンロード(sample.zip)できます。

このデータには東京都が9件、大阪府が10件あります。

東京都千代田区
東京都中央区
東京都港区
東京都新宿区
東京都文京区
東京都台東区
東京都墨田区
東京都江東区
東京都品川区
大阪府大阪市都島区
大阪府大阪市福島区
大阪府大阪市此花区
大阪府大阪市西区
大阪府大阪市港区
大阪府大阪市大正区
大阪府大阪市天王寺区
大阪府大阪市浪速区
大阪府大阪市西淀川区
大阪府大阪市東淀川区

属性の指定がない場合

maxcount属性もbreak属性もない次のテンプレートの場合、1ファイル(00001.html)に19件すべての行が出力されます。

<!--- excel type="list" quit="A1" --->
<!--- loop_start --->
<!--- cell name="A1" ---><!--- cell name="B1" --->
<!--- loop_end --->

このように、改ページの指定がない場合は1ファイルにすべてのデータが出力されます。

maxcount属性を指定した場合

maxcount属性を使用した次のテンプレートでは、、00001.html・00002.html・00003.htmlの3つのファイルが出力されます。

<!--- excel type="list" quit="A1" --->
<!--- loop_start maxcount="7" --->
<!--- cell name="A1" ---><!--- cell name="B1" --->
<!--- loop_end --->

maxcount属性で「7」が指定されているため、1ファイルには最大7件のデータが出力されます。

00001.htmlには先頭から7件のデータが、00002.htmlには次の7件のデータが、00003.htmlには残りの5件のデータが出力されます。

このように、maxcount属性では、指定した件数のデータを出力すると、次のファイルに出力します。

break属性を指定した場合

break属性を使用した次のテンプレートでは、00001.html・00002.htmlの2つのファイルが出力されます。

<!--- excel type="list" quit="A1" --->
<!--- loop_start break="A1" --->
<!--- cell name="A1" ---><!--- cell name="B1" --->
<!--- loop_end --->

00001.htmlには東京都のデータが、00002.htmlには大阪府のデータが出力されます。

このように、break属性では、指定した列(この例ではA列)の値が変わると、次のファイルに出力します。

maxcount属性とbreak属性を併用して指定した場合

maxcount属性とbreak属性の両方を使用した次のテンプレートでは、00001.html・00002.html・00003.html・00004.htmlの4つのファイルが出力されます。

<!--- excel type="list" quit="A1" --->
<!--- loop_start maxcount="7" break="A1" --->
<!--- cell name="A1" ---><!--- cell name="B1" --->
<!--- loop_end --->

maxcount属性とbreak属性を併用して指定した場合、どちらかの条件を満たすと、次のファイルに出力します。

00001.htmlには東京都の先頭から7件が出力されます。
maxcount属性の指定により、8件目からは次のファイルに出力します。

00002.htmlには東京都の残り2件が出力されます。
break属性の指定により、大阪府のデータは次のファイルに出力します。

00003.htmlには大阪府の先頭から7件が出力されます。
maxcount属性の指定により、8件目からは次のファイルに出力します。

00004.htmlには大阪府の残り3件が出力されます。

このように、maxcount属性とbreak属性を併用して指定した場合、maxcount属性とbreak属性のどちらかの条件を満たすと、次のファイルに出力します。

今回の例では、1ファイルに7件出力したとき、またはA列の値が変わったときに、次のファイルに出力します。

ヘルプファイルには併用した場合の記載がなく、ご迷惑をおかけしました。

ご不明な点がありましたら、気軽にお問い合わせください。

コメント

  1. 山本 様

    お世話になります。シープスワールド吉井でございます。 ブログを拝見しました。

    00001.htmlには先頭から7件のデータが、00002.htmlには次の7件のデータが、00003.htmlには残りの6件のデータが出力されます。

    「00003.htmlには残りの5件のデータ」ですよね?

    細かい指摘ですいません。

    今週末に弊社サイトがリニューアル予定です。 完成次第報告させていただきます。

    このbreak属性も嬉しい限りです!

    今後とも宜しくお願い致します。

    SW 吉井

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です