@Override
    public void invoke(DemoData data, AnalysisContext context) {
        log.info("Parsed one row of data: {}", JSON.toJSONString(data));
        cachedDataList.add(data);
        // When the number of records reaches BATCH_COUNT, the data needs to be stored in the database to prevent tens of
        // thousands of records from being held in memory, which can easily cause OutOfMemoryError (OOM).
        if (cachedDataList.size() >= BATCH_COUNT) {
            saveData();
            // Clear the list after storage
            cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
        }
    }
This method will be called for each data parsed.

@param data    one row value. It is same as {@link AnalysisContext#readRowHolder()}
@param context
fastexcel-test/src/test/java/cn/idev/excel/test/demo/read/DemoDataListener.java