はじめに
Excelファイルからデータを取り込むことは多々あります。
OutSystemsではExcelToRecordListを利用してExcelファイルを読み込み、Listに変換することができます。しかし、Excelファイルに空のデータが含まれている場合、どのように変換されるのでしょうか?
気になったので検証してみました。
動作環境
- OutSystems(バージョン 11)
検証
OutSystemsでExcelファイルをアップロードし、List化されたデータをJSONに変換して表示するシステムを作成しました。
以下の4つのパターンを検証します。
- 空白行の場合
- 先頭列が空白セルの場合
- 先頭列以外に空白セルがある場合
- 読み込み対象外の列のみに値がある場合

■ ① 空白行の場合
結果は以下の通りです。空白行はスキップされ、後続行が読み込まれています。
[
{
"St_Employee": {
"Id": 1,
"Department": "総務",
"Name": "田中"
}
},
{
"St_Employee": {
"Id": 2,
"Department": "人事",
"Name": "高橋"
}
}
]
■ ② 先頭列が空白セルの場合
先頭列を空白セルにした行を含むファイルをアップロードしました。
結果は以下の通りです。2行目はスキップされずにIdが空の状態で読み込まれています。
[
{
"St_Employee": {
"Id": 1,
"Department": "総務",
"Name": "田中"
}
},
{
"St_Employee": {
"Department": "人事",
"Name": "高橋"
}
},
{
"St_Employee": {
"Id": 3,
"Department": "営業",
"Name": "佐藤"
}
}
]
■ ③ 先頭列以外が空白セルの場合
先頭列以外の読み込み対象列に空白セルがある行を含むファイルをアップロードしました。
結果は以下の通りです。3行目はNameが空の状態で読み込まれています。
[
{
"St_Employee": {
"Id": 1,
"Department": "総務",
"Name": "田中"
}
},
{
"St_Employee": {
"Id": 2,
"Department": "人事"
}
},
{
"St_Employee": {
"Id": 3,
"Department": "営業",
"Name": "佐藤"
}
}
]
④ 読み込み対象外の列のみに値がある場合
読み込み対象外の列のみに値がある行を含むファイルをアップロードしました。
結果は以下の通りです。3行目はスキップされ、後続行が読み込まれています。
[
{
"St_Employee": {
"Id": 1,
"Department": "総務",
"Name": "田中"
}
},
{
"St_Employee": {
"Id": 3,
"Department": "営業",
"Name": "佐藤"
}
}
]
おわりに
読み込み対象列に値がある行はすべてListに変換されますが、読み込み対象列に値がない行や空白行はスキップされ、Listには追加されません。
ExcelToRecordListを使用する際は、この動作を理解し、適切な対応行う必要があります。