Hàm nhập trong php
Trong tut này mình sẽ chia sẽ như thế nào để nhập tệp excel vào cơ sở dữ liệu bằng cách sử dụng php excel cho thư viện php và vue js cho phần javascript Thư viện php excelThư viện này anh chị có thể tải từ https. //github. com/nguyentantung/library-php-excel Code sample dùng cho công việc import file excel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 function stocksCodeExcelToData($path_file){ // bao gồm PHPExcel bao gồm CHECKSTOCKSCODE_LIBS_DIR. 'phpexcel/Classes/PHPExcel. php'; // đường dẫn tập tin $file = $path_file; //xác nhận tập tin $objFile = \PHPExcel_IOFactory:. xác định($tệp); $objData = \PHPExcel_IOFactory:. createReader($objFile); //chỉ đọc $objData - >setReadDataOnly(true); // Nạp dữ liệu cho đối tượng $objPHPExcel = $objData->load($file); //Lấy số trang sử dụng getSheetCount(); // Lấy tên trang sử dụng getSheetNames(); //Chọn trang cần đọc $trang tính = $objPHPExcel->setActiveSheetIndex(0); //Lấy hàng cuối cùng $Tổng số = $trang tính->getHighestRow(); //Lấy tên cột cuối cùng $Cột cuối = $trang tính->getHighestColumn(); $TotalCol = \PHPExcel_Cell:. columnIndexFromString($LastColumn); $dữ liệu = mảng(); cho ($i = 2; $i <= $Totalrow; $i++) { for ($j = 0; $j < $TotalCol; $j++) { $dữ liệu[$i - 2][$j] = $sheet->getCellByColumnAndRow($j, $i)->getValue();; } } if($dữ liệu): foreach($dữ liệu as $key=>$data_item): $này - >stocksCodeInsert($data_item[0], $note=''); endforeach; endif; // trả lại dữ liệu $; } Chức năng này anh chị truyền vào đường dẫn đến file anh thu được khi submit, anh chị chỉ cần lưu ý vị trí $data_item[0] là cột 1, tương tự như dữ liệu vận tải ở cột 2 sẽ là $data_item[1] Code php xử lý ajax1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 function importStocksCodeFromExcel(){ $tệp = $_FILES['fileExcel']; $kết quả = mảng(); //cập nhật dử liệu $upload_dir = wp_upload_dir(); $kết quả['wp_upload_dir'] = $upload_dir; nếu(. trống($tệp)){ $target_dir = $upload_dir['basedir']."/"; $tệp target_file = $target_dir . tên cơ sở($tệp["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); $thông điệp = ''; // Kiểm tra xem file đã tồn tại chưa if (file_exists($target_file)) { $tin nhắn = "Tệp đã có trong hệ thống . "; $uploadOk = 0; } // Kiểm tra dung lượng file if ($_FILES["fileToUpload"]["size"] > 50000) { $tin nhắn = "Only for file 10 mg; $uploadOk = 0; } // Cho phép một số định dạng tệp nhất định $allow_file_formats = mảng("pdf","xlsx","xls","doc","docx"); nếu(. in_array($imageFileType,$allow_file_formats)) { $thông báo = "Chí cho phép tệp pdf; $uploadOk = 0; } // Kiểm tra xem $uploadOk có bị lỗi đặt thành 0 không if ($uploadOk == 0) { $kết quả['thông báo']=$message; } khác { if (move_uploaded_file($file["tmp_name"], $target_file)) { $kết quả['stocksCodeExcelToData'] = $this->stocksCodeExcelToData($target_file); $kết quả['target_file']=$target_file; @hủy liên kết($target_file); $kết quả['thông báo']="Đã import thành công!"; } else { $kết quả['thông báo']="Có lỗi trong quá trình upload"; } } } wp_send_json_success($kết quả); } chức năng cổ phiếuMãChènđây là hàm chèn dữ liệu sau khi lấy từ file excel 1 2 3 4 5 6 7 8 9 10 11 12 hàm stocksCodeInsert($mã, $note=''){ toàn cầu $wpdb; $bảng = $wpdb->prefix.'stocks_code'; $dữ liệu = mảng( 'mã' = > $mã, 'ghi chú' = > $ghi chú ); $định dạng = mảng('%s', '%s'); $wpdb - >chèn($table,$data,$format); $my_id = $wpdb->insert_id; return $my_id; }
Các bài viết khác có thể hữu ích với bạn
Code xử lý vue jsTrong ví dụ này, mình sẽ tạo một phương thức như hình bên dưới Chế độ mã này mình sử dụng thư viện [email được bảo vệ], sau đây là mã 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <q - hộp thoại v-model="modalImportFromExcel"> <q - thẻ kiểu="width: 500px; max-width: 80vw;"> <q - thẻ - section class="row items-center q-pb-none"> <div class = "text-h6">Import từ file excel</div> <q - dấu cách></q-space> <q - btn icon="close" flat round dense v-close-popup ></q-btn> < / q - thẻ-section> <q - thẻ - section > <mẫu> <div class = "q-pa-> <div class = "q-gutter- . 800px" style="max-width: 800px"> <div class = "row q-col> <div class = "col-12"> <q - tệp màu="purple-12" v-model="fileExcel" label="Chọn file excel"> <mẫu v - slot:vào trước> <q - icon name="attach_file" /> < / mẫu> < / q - file> < / div> < / div> <div class = "row q-col> <div class = "col-4"> <nút lớp = "custom-btn" @click="triggerImportFromExcel" v-html="triggerImportFromExcelText" ></button> < / div> <div class = "col-8" . ><a :href = "excelUrlTemplate" tải xuống><i class="fa fa-cloud-download" aria-hidden="true"></i> Tải mẫu excel để import nếu chưa có</a></div> < / div> < / div> < / div> < / mẫu> < / q - thẻ-section> < / q - thẻ> < / q - hộp thoại> trọng 1 2 3 4 dữ liệu. () = > ({ triggerImportFromExcelText. ' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập' Nhập', modalImportFromExcel. sai })
Khi muốn mở modal anh chị chỉ cần viết một chức năng đơn giản 1 2 3 4 5 phương pháp. { openModalImportFromExcel(){ này. modalImportFromExcel = true } } Giờ chúng ta sẽ đi viết mã cho nút gửi, ah ngoài thư viện [email được bảo vệ] mình còn dùng axios cho phần bất đồng bộ |