Nhập và Xuất Excel, CSV, & ODSOpen Files qua Thư viện PHP Miễn phí
API PHP mã nguồn mở cho phép các nhà phát triển phần mềm nhập và xuất tệp MS Excel. Tìm hiểu các tính năng, lợi ích và ví dụ mã để xử lý các bộ dữ liệu lớn một cách hiệu quả.
Fast-Excel là gì?
Fast-Excel là một gói PHP nhẹ được thiết kế để đơn giản hoá các thao tác nhập/xuất Excel và CSV trong các ứng dụng Laravel. Được xây dựng dựa trên OpenSpout, nó tập trung vào tốc độ, tiêu thụ bộ nhớ thấp và cú pháp thân thiện với nhà phát triển. Khác với các thư viện bảng tính nặng hơn, Fast-Excel lý tưởng cho các dự án cần xử lý bảng tính đơn giản và hiệu quả mà không có sự phức tạp không cần thiết. Nó hỗ trợ xuất và nhập các tệp XLSX, CSV và ODS trong khi giữ mức tiêu thụ bộ nhớ bất ngờ thấp.
Fast-Excel đặc biệt hữu ích cho các nhà phát triển cần xử lý các tệp Excel, CSV hoặc ODS lớn mà không gặp phải giới hạn bộ nhớ. Các thư viện truyền thống thường tải toàn bộ bộ dữ liệu vào bộ nhớ, nhưng Fast-Excel sử dụng kỹ thuật streaming để xử lý dữ liệu một cách hiệu quả. Thư viện này được sử dụng rộng rãi để xuất bản ghi cơ sở dữ liệu ra bảng tính, nhập dữ liệu người dùng hoặc báo cáo, tạo các báo cáo lớn một cách động, đơn giản hoá việc xử lý Excel trong các ứng dụng Laravel, v.v. Với API sạch sẽ và cấu hình tối thiểu, Fast-Excel giảm thời gian phát triển đồng thời cải thiện hiệu năng.
Bắt đầu với Fast-Excel
Cách khuyến nghị để cài đặt Fast-Excel vào dự án của bạn là sử dụng Composer. Vui lòng sử dụng lệnh sau để cài đặt một cách suôn sẻ
Cài đặt Fast-Excel qua Composer
composer require rap2hpoutre/fast-excelBạn cũng có thể sao chép dự án bằng Git bằng cách chạy
Xuất bộ sưu tập ra tệp Excel bằng PHP
Fast-Excel giúp việc xuất các collection hoặc model sang Excel trở nên vô cùng đơn giản. Chỉ với vài dòng code, bạn có thể tạo các tệp .xlsx, .csv hoặc .ods. Tính năng này loại bỏ mã lặp lại và tăng tốc quá trình phát triển, đặc biệt cho các bảng điều khiển hoặc hệ thống báo cáo. Ví dụ dưới đây minh họa cách xuất dữ liệu vào tệp MS Excel XLSX bằng mã PHP. Thư viện chuyển đổi một Laravel collection trực tiếp thành tệp Excel mà không cần cấu hình phức tạp.
Cách xuất dữ liệu vào tệp Excel XLSX thông qua thư viện PHP?
use Rap2hpoutre\FastExcel\FastExcel;
// Sample data
$list = collect([
['id' => 1, 'name' => 'Jane'],
['id' => 2, 'name' => 'John'],
]);
// Export to Excel
(new FastExcel($list))->export('users.xlsx');
Xuất dữ liệu dạng khối tiết kiệm bộ nhớ bằng Generators
Thư viện Fast-Excel mã nguồn mở đã tích hợp hỗ trợ sử dụng bộ nhớ thấp và cú pháp đơn giản để nhập hoặc xuất dữ liệu. Đây là tính năng chủ lực để xử lý "big data". Thay vì tải 1 triệu người dùng vào một mảng, bạn sử dụng cursor() của Laravel hoặc một generator yield tùy chỉnh. Trình xuất xử lý từng hàng một, ghi vào tệp và loại bỏ khỏi bộ nhớ. Điều này giữ cho việc sử dụng bộ nhớ của bạn luôn ổn định (rất thấp) bất kể bạn đang xuất 100 hàng hay 10 triệu hàng.
Cách xuất các trường cụ thể với tiêu đề tùy chỉnh trong các ứng dụng PHP?
return (new FastExcel(User::all()))->export('formatted_users.xlsx', function ($user) {
return [
'Full Name' => $user->firstname . ' ' . $user->lastname,
'Email Address' => $user->email,
'Member Since' => $user->created_at->format('Y-m-d'),
'Status' => $user->is_active ? 'Active' : 'Suspended'
];
});
Nhập dữ liệu trực tiếp vào cơ sở dữ liệu
Thay vì nhập dữ liệu theo hàng một cách thủ công, Fast-Excel có thể xử lý từng hàng và chèn trực tiếp vào cơ sở dữ liệu của bạn. Điều này lý tưởng cho việc tải lên hàng loạt của quản trị viên và mang lại nhiều lợi ích như chèn dữ liệu hàng loạt vào cơ sở dữ liệu, mã sạch hơn, giảm xử lý thủ công, quy trình làm việc quản trị dễ dàng, v.v. Điều này đặc biệt hữu ích cho các hệ thống HR, CRM và nền tảng thương mại điện tử. Dưới đây là một ví dụ hữu ích cho thấy cách nhập dữ liệu vào cơ sở dữ liệu trong các ứng dụng PHP.
Cách nhập dữ liệu trực tiếp vào cơ sở dữ liệu thông qua thư viện PHP?
use Rap2hpoutre\FastExcel\FastExcel;
use App\Models\User;
(new FastExcel)->import('users.xlsx', function ($line) {
return User::create([
'name' => $line['Name'],
'email' => $line['Email'],
]);
});
Ánh xạ cột tùy chỉnh & định dạng bằng PHP
Các cột trong cơ sở dữ liệu không phải lúc nào cũng dễ đọc cho con người. Thư viện Fast-Excel đã bao gồm hỗ trợ đầy đủ cho việc ánh xạ và định dạng cột hoặc hàng tùy chỉnh. Tính năng này cho phép bạn xác định chính xác các thuộc tính cần xuất và định dạng lại giá trị của chúng ngay lập tức. Cho dù bạn cần viết hoa họ, kết hợp tên và họ, hoặc đổi tên ‘user_id’ thành ‘Employee Identifier’, hàm đóng (closure) cung cấp cho bạn toàn quyền kiểm soát mảng đầu ra cuối cùng.