Công thức nhập Laravel Excel
Tôi có thể truy xuất các trường riêng biệt và hình ảnh riêng biệt, tôi muốn kết hợp chúng lại với nhau. Vấn đề tôi gặp phải là Hình ảnh đang được truy cập bằng $spreadsheet->getActiveSheet()->getDrawingCollection() và đối với lĩnh vực khác tôi phải truy cập chúng như thế này $spreadsheet->getRowIterator() vì cả hai đều yêu cầu các vòng lặp riêng biệt, tôi có nên hợp nhất chúng thành một hoặc cách nào phù hợp để tôi có thể truy xuất cả hai (hình ảnh và trường) cùng nhau Hình ảnh lấy mã $spreadsheet = IOFactory::load($request->import_file); $i = 0; foreach ($spreadsheet->getActiveSheet()->getDrawingCollection() as $key => $drawing) { if ($drawing instanceof MemoryDrawing) { ob_start(); call_user_func( $drawing->getRenderingFunction(), $drawing->getImageResource() ); $imageContents = ob_get_contents(); ob_end_clean(); switch ($drawing->getMimeType()) { case MemoryDrawing::MIMETYPE_PNG : $extension = 'png'; break; case MemoryDrawing::MIMETYPE_GIF: $extension = 'gif'; break; case MemoryDrawing::MIMETYPE_JPEG : $extension = 'jpg'; break; } } else { $zipReader = fopen($drawing->getPath(), 'r'); $imageContents = ''; while (!feof($zipReader)) { $imageContents .= fread($zipReader, 1024); } fclose($zipReader); $extension = $drawing->getExtension(); } $myFileName = time() .++$i. '.' . $extension; $imagesCollection['answerImages_'.$key] =$myFileName; file_put_contents('images/products/' . $myFileName, $imageContents); $a = Answers::create([ 'answerImages'=>$myFileName, 'questionId'=>($key <=4)?1:2, ]); } Tôi muốn lưu trữ chúng vào bảng của mình trong cơ sở dữ liệu sao cho trong cột questionImage của cơ sở dữ liệu, nó có tên hình ảnh như thế này Một điều cuối cùng cần lưu ý khi nhập trang tính excel là các công thức thường không hoạt động như bạn dự định. Nếu bạn bắt đầu nhận được lỗi, hãy xem chính bảng excel và tìm xem có bất kỳ công thức nào ẩn bên trong không Laravel-Excel — P4. Nhập nhiều trang tính Tải có điều kiệnCó một số vấn đề khi nhập nhiều trang tính có thể được giải quyết bằng Laravel Excel. Nếu tác giả thay đổi…khủng long. trung bình. com Hãy cùng xem một ví dụ với một công thức tham chiếu dữ liệu trên trang tính đang được nhập Bảng excel mà chúng ta sẽ xem xét có các cột sau
Bốn cột đầu tiên chứa dữ liệu tĩnh, nhưng cột cuối cùng được tạo bằng cách kết hợp cột thứ nhất và cột thứ hai. Hãy tạo một bản nhập và xem nó trông như thế nào Mô hình { 1Chúng tôi cũng sẽ cần thêm một phương thức trong { 2 của mình và tạo một tuyến đường để có thể gọi nhà nhập khẩu nàyNếu bạn nhìn vào bảng { 3 của mình, bạn sẽ thấy một cái gì đó như thế này{ Tên chứa công thức chứ không phải tên thật. Vì vậy, làm thế nào để chúng tôi sửa chữa nó? Chạy lại mã và bạn sẽ nhận được kết quả mà bạn đang tìm kiếm { Điều gì xảy ra khi bạn đang nhập nhiều trang tính và công thức đến từ một trang tính khác? Công thức trên một Sheet khácTrong ví dụ này, chúng tôi sẽ có một tài liệu excel với hai trang tính. Cả hai sẽ có cùng tiêu đề
Tờ thứ hai của chúng tôi, { 9, sẽ là bản sao của {0, nhưng sẽ thêm +1 vào tất cả các email để làm cho chúng trở nên độc nhất. tôi. e. {1 bây giờ sẽ là {2. Công thức mà chúng tôi sẽ sử dụng trong tài liệu Excel của chúng tôi trong { 9 là {4 Tại sao tôi chọn công thức này? . tiếp tục Trước tiên, chúng tôi cần tạo Trình nhập nhiều trang tính có thể nhập từng trang tính Tiếp theo, hãy xem {5 trông như thế nào. Hãy nhớ rằng, nhà nhập khẩu này sẽ nhập {0, không chứa bất kỳ công thức nào. Tuy nhiên, các trang tính khác tham chiếu nó, vì vậy chúng ta sẽ cần thêm một mối quan tâm {7 để nói rõ ràng với Laravel Excel rằng các trang tính khác sẽ tham chiếu nó Nhà nhập khẩu thứ hai của chúng tôi, {8, có công thức trong { 9 cho trường email mới. Chúng ta chỉ cần triển khai mối quan tâm của { 4 và Laravel Excel sẽ biết cách xử lý phần còn lạiTất cả những gì còn lại là tạo phương thức của chúng tôi trong { 2 và lộ trình của chúng tôi và chúng tôi sẽ sẵn sàng để thử nghiệmVà kết quả chúng ta nhận được là { Kết quả mà chúng tôi đã mong đợi. Điều gì xảy ra nếu chúng tôi quên thực hiện mối quan tâm May mắn thay, chúng tôi biết những gì chúng tôi phải thực hiện để tránh vấn đề này Tôi nghĩ rằng tôi đã chính thức nói xong về các tình huống khác nhau trong sổ làm việc nhiều trang. Hãy chuyển sang một số tính năng thú vị khác trong Laravel Excel trong bài viết tiếp theo Dino Cajic hiện là Trưởng phòng CNTT tại LSBio (LifeSpan BioSciences, Inc. ), Kháng thể tuyệt đối, Kerafast, Everest BioTech, Nordic MUbio và Exalpha. Ông cũng là Giám đốc điều hành tại MyAutoSystem. Ông có hơn một thập kỷ kinh nghiệm về công nghệ phần mềm. Anh ấy có điểm B. S. về Khoa học Máy tính và môn phụ về Sinh học. Nền tảng của anh ấy bao gồm việc tạo ra các ứng dụng thương mại điện tử cấp doanh nghiệp, thực hiện phát triển phần mềm dựa trên nghiên cứu và tạo điều kiện phổ biến kiến thức thông qua viết lách Bạn có thể kết nối với anh ấy trên LinkedIn, theo dõi anh ấy trên Instagram hoặc đăng ký ấn phẩm Phương tiện của anh ấy Đọc mọi câu chuyện từ Dino Cajic (và hàng nghìn nhà văn khác trên Medium). Phí thành viên của bạn trực tiếp hỗ trợ Dino Cajic và các nhà văn khác mà bạn đọc. Bạn cũng sẽ có toàn quyền truy cập vào mọi câu chuyện trên Phương tiện |