
![image](https://user-images.githubusercontent.com/12162539/50417924-d6cc2b80-0863-11e9-860f-bf9d132db570.png)

final int width = widthCacheArray[colIndex];
            if (width <= 0) {
                continue;
            }
            final boolean isFirstCol = colIndex == 0;
            final boolean isLastCol = colIndex == lastCol;
            if (isFirstCol
                    && border.has(Border.BORDER_OUTER_LEFT)) {
                separationLineSB.append("+");
            }
            if (!isFirstCol
                    && border.has(Border.BORDER_INNER_V)) {
                separationLineSB.append("+");
            }
            separationLineSB.append(repeat("-", width + 2 * padding));
            if (isLastCol
                    && border.has(Border.BORDER_OUTER_RIGHT)) {
                separationLineSB.append("+");
            }
        }
        return separationLineSB.toString();
    }
    /**
     * Add a row
     */
    public TTable addRow(Object... columnDataArray) {
        if (null != columnDataArray) {
            for (int index = 0; index < columnDefineArray.length; index++) {
                final ColumnDefine columnDefine = columnDefineArray[index];
                if (index < columnDataArray.length