EXCEL Processor
EXCEL表格輸入處理後輸出成CSV或EXCEL。利用指定表格名、資料起始儲存格、表頭欄位將載入資料正規化,呈現一致的資料結構(input輸入陣列)提供 Low-Code 應用處理

EXCEL
EXCEL輸入檔,點擊 PICK 選取檔案、鍵盤輸入工作資料夾中的EXCEL檔名,或使用 %FILENAME% 變數。
SHEET
EXCEL輸入表格名稱,留空代表為檔案中的第一個 sheet。
DATA CELL
表格資料的起點(左上)儲存格A1表示法,不包含表頭。
HEADER
輸入表格的表頭欄位命名陣列為兩種 JSON 陣列表示法,第一種是簡單的一對一字串陣列,陣列中的第一個字串對應到表格的第一個表頭欄位,第二個字串則對應到第二個表頭欄位,中間不能跳過,以此類推:
["A欄表頭名稱", "B欄表頭名稱", ...]
第二種是較為彈性的物件陣列,利用物件中的正規表達式 regexp、偏移值 offset、A1 表示法等屬性作為定位表頭欄位的依據,再以物件中的 name 屬性值作為定位到的表頭欄位名稱:
[
{
"regexp": "品名$", // 找到表格資料起點上方值符合”品名“結尾的儲存格
"name": "product" // 將找到的儲存格做為表頭欄位,並命名為”product"
},
{
"regexp": "品名$", // 找到表格資料起點上方值符合”品名“結尾的儲存格
"offset": 1, // 往右偏移一格
"name": "price" // 將找到的儲存格做為表頭欄位,並命名為"price"
},
{
"A1": "C", // 找到欄位C(以A1表示法來看)
"name": "stock" // 將找到的儲存格做為表頭欄位,並命名為"stock"
}
]
OUTPUT
輸出檔案格式,有 CSV 與 XLSX 兩種。
input 輸入陣列
在 input 陣列中的每個物件元素代表輸入表格的一列資料,物件中的 key 為表頭欄位,value 為該欄位在這一列資料的值。
// 印出輸入表格每筆資料的指定欄位
input.forEach((row, index) => {
console.log(index + '. 品名:' + row.product + ', 價格:' + row.price)
})
output 輸出陣列
加入 output 陣列中的每個物件元素代表輸出表格的一列資料,物件中的 key 為表頭欄位,value 為該欄位在這一列資料的值。也可以利用 output.header 陣列指定輸出表格的標頭欄位:
// 輸出價格高於 100 的表格,並加上 5% 的税
input.forEach((row) => {
if (row.price > 100) {
output.push({
name: row.product,
price: row.price,
tax: row.price * 0.05
})
}
})
// 指定表頭欄位
output.header.push('name','price','tax')
Last updated