Trong phát triển web hiện đại, các nhà phát triển có xu hướng xây dựng dựa trên các hệ thống dựa trên dữ liệu bất cứ khi nào có nhu cầu nhập hoặc xuất dữ liệu, trong khi phân tích hoặc báo cáo về nó. Khi làm như vậy, hầu hết các ứng dụng sử dụng tệp CSV hoặc Excel cùng với cơ sở dữ liệu khi xử lý dữ liệu hàng loạt, vì điều này rõ ràng hiệu quả hơn so với nhập dữ liệu, từng mục một.
điều kiện tiên quyết
Để tiếp tục với hướng dẫn này, bạn cần có một dự án Laravel hiện có hoặc cài đặt một thiết lập dự án mới. Nếu bạn chưa quen với Laravel, hãy làm theo các hướng dẫn này để cài đặt thiết lập dự án mới.
Bước 1 – Tạo bảng
Sau khi cài đặt thành công dự án Laravel, hãy tạo cơ sở dữ liệu và bảng. Chạy tập lệnh SQL sau trong môi trường cơ sở dữ liệu của bạn để tạo bảng ‘tbl_customer’ mà bạn có thể sử dụng để lưu trữ dữ liệu của mình.
-- -- Database: `mydata` -- -- -------------------------------------------------------- -- -- Table structure for table `tbl_customer` -- CREATE TABLE `tbl_customer` [ `CustomerID` int[11] NOT NULL, `CustomerName` varchar[250] NOT NULL, `Gender` varchar[30] NOT NULL, `Address` text NOT NULL, `City` varchar[250] NOT NULL, `PostalCode` varchar[30] NOT NULL, `Country` varchar[100] NOT NULL ] ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -- Indexes for table `tbl_customer` -- ALTER TABLE `tbl_customer` ADD PRIMARY KEY [`CustomerID`]; -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tbl_customer` -- ALTER TABLE `tbl_customer` MODIFY `CustomerID` int[11] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=155; COMMIT;
Bước 2 – Tạo kết nối cơ sở dữ liệu Mysql trong Laravel
Để tạo kết nối cơ sở dữ liệu, hãy mở . ENV và xác định cấu hình cơ sở dữ liệu của bạn.
DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=mydata DB_USERNAME=root DB_PASSWORD=
Bước 3. Cài đặt PhpSpreadsheet trong Laravel
Trong thư mục dự án của bạn, hãy chạy lệnh này trên thiết bị đầu cuối của bạn để cài đặt thư viện PhpSpreadsheet
composer require phpoffice/phpspreadsheet
Bước 4. Tạo tệp xem của bạn [chào mừng. lưỡi. php]
Bên trong thư mục resources/views , hãy tạo lời chào mừng. lưỡi. php chứa biểu mẫu để tải lên tệp excel, bảng để tải dữ liệu đã tải lên từ cơ sở dữ liệu, cũng như nút để xuất dữ liệu. Dán đoạn mã sau vào đây.
PHPSpreadsheet in LaravelHandling Excel Data using PHPSpreadsheet in Laravel
Import Excel Data
@if [$message = Session::get['success']]× {{ $message }}
@endif @csrf Select File to Upload {{__['Please upload only Excel [.xlsx or .xls] files']}}@if [$errors->has['uploaded_file']]{{ $errors->first['uploaded_file'] }}
@endifUpload$[document].ready[function[] { $['#example'].DataTable[]; } ];
Customer Data Table
Export Excel DataCustomer Name Gender Address City Postal Code Country @if[!empty[$data] && $data->count[]] @foreach[$data as $row]
{!! $data->links[] !!}@endforeach @else {{ $row->CustomerName }} {{ $row->Gender }} {{ $row->Address }} {{ $row->City }} {{ $row->PostalCode }} {{ $row->Country }} @endif There are no data.
Bước 5. Tạo một bộ điều khiển [ExcelController. php]
Trong thư mục app/Http/Controllers , hãy tạo tệp bộ điều khiển [ ExcelController. php] nơi bạn có thể viết các hàm để tải tệp phiến và dữ liệu từ cơ sở dữ liệu, đồng thời nhập và xuất dữ liệu đã tải lên.
Để sử dụng thư viện Phpspreadsheet, bạn phải nhập các không gian tên bí danh của nó trong Bộ điều khiển. Trong trường hợp này, hãy nhập các lớp sau
use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Reader\Exception; use PhpOffice\PhpSpreadsheet\Writer\Xls; use PhpOffice\PhpSpreadsheet\IOFactory;Bạn cũng sẽ cần sử dụng các phương thức/chức năng sau bên trong bộ điều khiển.
index[] – Đây là phương thức gốc của lớp trình điều khiển này. Bên trong hàm, hãy tạo một truy vấn để tìm nạp dữ liệu từ tbl_customer , truy vấn này sẽ được tải trong welcome. lưỡi. php tệp, ở định dạng bảng. Nếu bảng cơ sở dữ liệu trống, bảng trên giao diện sẽ trống.
importData[] – Phương thức này có một biến yêu cầu chứa dữ liệu tệp excel đã tải lên. Bên trong hàm, xác thực định dạng tệp và kiểm tra xem nó có chứa dữ liệu bạn cần hay không, sau đó bạn có thể đọc dữ liệu chứa bằng gói PhpSpreadsheet. Thư viện PhpSpreadsheet sử dụng lớp IOFactory để tải dữ liệu excel và trích xuất từng hàng một thành một mảng PHP. Sử dụng mảng để chèn dữ liệu đã trích xuất vào bảng tbl_customer . Sau khi nhập dữ liệu thành công, chuyển hướng trở lại trang chính, trả về thông báo thành công.
exportData[]- Phương thức này truy vấn bảng tbl_customer để tải dữ liệu khách hàng và sử dụng . Nó sẽ tải xuống tệp excel chứa dữ liệu trên PC cục bộ.
Chủ Đề