Hướng dẫn ruby excel gem
Sử dụng gem Axlsx export excel file trong Rails1. Giới thiệu gem axlsx_railsTrong mọi ứng dụng Rails đều luôn có yêu cầu trích xuất dữ liệu ra các file CSV, những file này sau đó được chuyển thành định dạng Excel để có thể tùy biến định dạng, thêm các style, biểu đồ, .... Tuy nhiên nếu có thể tự động thực hiện các tác vụ tùy biến đó vừa có thể sinh ra các file xlsx ngay lập tức thì thật tuyệt vời, gem axlsx với đa dạng các tính năng là câu trả lời tốt nhất cho vấn đề này. Show Gem axlsx_rails cung cấp một danh sách lớn các tính năng được hỗ trợ, có thể kể đến đó là:
2. Cách sử dụngTa sẽ tìm hiểu nhanh các bước sử dụng cơ bản của gem axlsx
Tạo dữ liệu demo bằng gem faker và sử dụng file seeds.rb, sau đó xây dựng chức năng đơn giản:
ta muốn thực hiện thêm chức năng download file Excel khi click chọn link trong view. Để thực hiện download, ta tiến hành theo các bước sau: Thêm gem vào Gemfile và chạy bundle install
khi đó, ta có một định dạng response mới trong products_controller.rb phục vụ cho chức năng export:
Thêm định dạng đó vào link download trong views/products/index.html.erb
Sau đó tạo một template mới cho response tương ứng là index.xlsx.axlsx, khi đó sẽ tự sinh ra một biến local là xlsx_package trong file index.xlsx.axlsx Cấu trúc của 1 file Excel bao gồm 1 workbook, mỗi workbook sẽ bao gồm nhiều sheets. Từ đó ta tạo một sheet cho dữ liệu của product và sử dụng hàm add_row để tạo một hàng chứa dữ liệu ta cần export:
3. Một vài config trong axlsxĐổi tên file được tạo:
Hoặc sử dụng hàm
Bố cục: ta có thể màu nền cho sheet bằng cách sử dụng hàm
có rất nhiều style có thể dùng, ví dụ: bg_color, border, alignment Định dạng thời gian: Sẽ thật khó chịu khi hiển thị thời gian mặc định trong database, khi đó ta có thể hiển thị lại theo format ta đã định sẵn Ví dụ, khi muốn hiển thị created_at của product: ta sử dụng style
Thêm thẻ link: Với hàm
Thêm các công thức tính toán: Ta muốn
4. Một vài vấn đề tương thíchLibre Office: Bạn phải sử dụng dữ liệu ở trong sheet để tạo biểu đồ, không thể sử dụng dữ liệu tự nhập Không thể render ra biểu đồ lưới và biểu đồ trục. Google Docs: Không hỗ trợ ảnh và màu viền Numbers: Không hỗ trợ biểu đồ 5. Kết luậnTrên đây là một vài hướng dẫn cơ bản để sử dụng gem axlsx cho việc xuất dữ liệu database ra file excel đồng thời giới thiệu qua các tính năng và các hạn chế của gem axlsx, mong rằng với các tính năng được hỗ trợ, gem axlsx sẽ là công cụ đắc lực cho quá trình export dữ liệu và bố cục dữ liệu trong file excel Nguồn: gem axlsx_rails generate-excel-spreadsheets-rails-axlsx-gem |