Tạo bảng dữ liệu chuyên nghiệp với PTerm trong Go

Giới thiệu PTerm cho xử lý bảng dữ liệu

PTerm là thư viện Go mạnh mẽ giúp hiển thị dữ liệu dạng bảng trong terminal với giao diện đẹp mắt và chuyên nghiệp. Thư viện hỗ trợ nhiều tính năng như căn chỉnh cột, tạo khung, và tô màu luân phiên cho các hàng.

Cài đặt và khởi tạo

Thêm PTerm vào dự án Go của bạn:

go get github.com/pterm/pterm

Import thư viện vào mã nguồn:

import "github.com/pterm/pterm"

Tạo bảng cơ bản

Khởi tạo dữ liệu dạng slice hai chiều và hiển thị bảng:

thongTin := [][]string{
    {"Tên", "Tuổi", "Nghề nghiệp"},
    {"Minh", "28", "Lập trình viên"},
    {"Lan", "32", "Thiết kế"},
    {"Hùng", "45", "Quản lý"},
}

pterm.DefaultTable.WithData(thongTin).Render()

Tùy chỉnh giao diện bảng

Căn chỉnh nội dung

pterm.DefaultTable.
    WithAlignment(pterm.AlignCenter).
    WithData(thongTin).
    Render()

Định dạng hàng luân phiên

pterm.DefaultTable.
    WithAlternatingRowStyles(true).
    WithData(thongTin).
    Render()

Căn chỉnh theo cột

pterm.DefaultTable.
    WithColumnAlignments(
        pterm.AlignLeft, 
        pterm.AlignRight, 
        pterm.AlignLeft
    ).
    WithData(thongTin).
    Render()

Xử lý dữ liệu phức tạp

PTerm tự động xử lý text dài và xuống dòng thông minh:

duLieuDai := [][]string{
    {"Sản phẩm", "Mô tả chi tiết"},
    {"Máy tính", "Laptop gaming cấu hình cao, RAM 16GB, SSD 512GB"},
    {"Điện thoại", "Smartphone flagship với camera 108MP và pin 5000mAh"},
}

pterm.DefaultTable.WithData(duLieuDai).Render()

Ví dụ ứng dụng thực tế

Tạo báo cáo doanh số bán hàng:

baoCao := [][]string{
    {"Mặt hàng", "Doanh thu", "Số lượng", "Tỷ lệ lợi nhuận"},
    {"Laptop", "350,000,000 VND", "70", "27%"},
    {"Điện thoại", "420,000,000 VND", "150", "32%"},
    {"Tai nghe", "85,000,000 VND", "250", "38%"},
}

bangBaoCao := pterm.DefaultTable.
    WithData(baoCaoo).
    WithBoxed(true).
    WithAlternatingRowStyles(true).
    WithColumnAlignments(
        pterm.AlignLeft,
        pterm.AlignRight,
        pterm.AlignRight,
        pterm.AlignRight
    )

bangBaoCao.Render()

Thẻ: Go PTerm console-tables data-display terminal-output

Đăng vào ngày 21 tháng 8 lúc 18:46