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()