Nhập excel vào mongodb

       
         
          '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; '; ';

Con trai

3 năm trước

Hồi đáp

Nhập excel vào mongodb

Bạn tham khảo tài liệu nền cho ô.
https. //toidicode. com/live?id=729 or https. //toidicode. com/live?id=730

Vũ Thành Tài

3 năm trước

Nhập excel vào mongodb

ý mình là style ô đó theo điều kiện của nó, vì ô đó được tạo bằng vòng lặp chứ không phải 1 ô cố định

';
        foreach($data as $id => $item) {


tiếng vang'

         
         
         
         
         
         ';

Con trai

3 năm trước

Hồi đáp

Nhập excel vào mongodb

Cái này bạn kiểm tra là được mà, hãy sử dụng biểu thức điều kiện để kiểm tra nhé. liên kết. https. //toidicode. com/cau-lenh-dieu-kien-if-khác-trong-php-57. html

VĐ.
 

' 5000 ? 'style="background: red"' : '') . '>' . $item[3] . ''

 

Vũ Thành Tài

3 năm trước

Nhập excel vào mongodb

back xin làm phiền bạn 1 lần nữa. Dữ liệu trong cột đầu tiên của tệp XLS của mình là ngày tháng, nhưng khi mình sử dụng PHP xls thì nó hiện ra dạng số, mình đã thử sử dụng hàm Date để định dạng

Trong thực tế, đôi lúc chúng ta cần phải truy - xuất dữ liệu bằng file excel (Microsoft Excel) như. xuất dữ liệu thống kê ra cho người dùng, hoặc nhập nhiều dữ liệu từ tệp excel,. Và bài viết hôm nay mình sẽ hướng dẫn mọi người có thể làm được điều đó với thư viện PHPExcel

1, Tổng quan

-PHPExcel là thư viện giúp chúng ta có thể truy xuất dữ liệu từ tệp excel một cách đơn giản và để sử dụng được nó thì máy chủ của các bạn phải đáp ứng đủ các yêu cầu sau

  • PHP version from 5. 2. 0 trở lên
  • Tiện ích mở rộng PHP đã bật php_zip [^phpzip_footnote]
  • Đã bật tiện ích mở rộng PHP php_xml
  • Tiện ích mở rộng PHP php_gd2 được bật (nếu không được biên dịch)

-Sau khi đã đáp ứng đủ các yêu cầu trên thì việc tiếp theo chúng ta cần là download thư viện PHPexcel về máy để thực hiện các bước tiếp theo (download)

2, Ghi dữ liệu vào file excel

-Đầu tiên muốn sử dụng được thư viện thì các bạn cần phải yêu cầu tệp PHPExcel.php (trong thư mục Lớp học) vào nơi muốn sử dụng. Và dưới đây mình sẽ demo cho các bạn một ví dụ về ghi dữ liệu vào file excel (giải thích trong code luôn)

n)
$excel->setActiveSheetIndex(0);
//Tạo tiêu đề cho trang. (có thể không cần)
$excel->getActiveSheet()->setTitle('demo ghi dữ liệu');

//Xét chiều rộng cho từng, nếu muốn set height thì dùng setRowHeight()
$excel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$excel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$excel->getActiveSheet()->getColumnDimension('C')->setWidth(30);

//Xét in đậm cho khoảng cột
$excel->getActiveSheet()->getStyle('A1:C1')->getFont()->setBold(true);
//Tạo tiêu đề cho từng cột
//Vị trí có dạng như sau:
/**
 * |A1|B1|C1|..|n1|
 * |A2|B2|C2|..|n1|
 * |..|..|..|..|..|
 * |An|Bn|Cn|..|nn|
 */
$excel->getActiveSheet()->setCellValue('A1', 'Tên');
$excel->getActiveSheet()->setCellValue('B1', 'Giới Tính');
$excel->getActiveSheet()->setCellValue('C1', 'Đơn giá(/shoot)');
// thực hiện thêm dữ liệu vào từng ô bằng vòng lặp
// dòng bắt đầu = 2
$numRow = 2;
foreach ($data as $row) {
    $excel->getActiveSheet()->setCellValue('A' . $numRow, $row[0]);
    $excel->getActiveSheet()->setCellValue('B' . $numRow, $row[1]);
    $excel->getActiveSheet()->setCellValue('C' . $numRow, $row[2]);
    $numRow++;
}
// Khởi tạo đối tượng PHPExcel_IOFactory để thực hiện ghi file
// ở đây mình lưu file dưới dạng excel2007
PHPExcel_IOFactory::createWriter($excel, 'Excel2007')->save('data.xlsx');

-Nếu các bạn muốn xuất cửa sổ tải xuống thì chỉ cần sửa dòng cuối cùng thành

header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="data.xls"');
PHPExcel_IOFactory::createWriter($excel, 'Excel2007')->save('php://output');

-Và đây là kết quả chúng ta thu được

Nhập excel vào mongodb

3, Đọc dữ liệu từ file excel

-Mình sẽ demo đọc file data.xlsx chúng ta vừa tạo phần trên và giải thích luôn trong code

setReadDataOnly(true);

// Load dữ liệu sang dạng đối tượng
$objPHPExcel = $objData->load($file);

//Lấy ra số trang sử dụng phương thức getSheetCount();
// Lấy Ra tên trang sử dụng getSheetNames();

//Chọn trang cần truy xuất
$sheet = $objPHPExcel->setActiveSheetIndex(0);

//Lấy ra số dòng cuối cùng
$Totalrow = $sheet->getHighestRow();
//Lấy ra tên cột cuối cùng
$LastColumn = $sheet->getHighestColumn();

//Chuyển đổi tên cột đó về vị trí thứ, VD: C là 3,D là 4
$TotalCol = PHPExcel_Cell::columnIndexFromString($LastColumn);

//Tạo mảng chứa dữ liệu
$data = [];

//Tiến hành lặp qua từng ô dữ liệu
//----Lặp dòng, Vì dòng đầu là tiêu đề cột nên chúng ta sẽ lặp giá trị từ dòng 2
for ($i = 2; $i <= $Totalrow; $i++) {
    //----Lặp cột
    for ($j = 0; $j < $TotalCol; $j++) {
        // Tiến hành lấy giá trị của từng ô đổ vào mảng
        $data[$i - 2][$j] = $sheet->getCellByColumnAndRow($j, $i)->getValue();;
    }
}
//Hiển thị mảng dữ liệu
echo '
';
var_dump($data);

-Sau khi chạy file, bạn sẽ thu được kết quả như sau

Nhập excel vào mongodb

 

-Ở trên mình chỉ demo và biến dữ liệu var_dump(), còn các bạn sử dụng biến dữ liệu để thêm vào cơ sở dữ liệu hoặc dùng để hiển thị các kiểu khác thì các bạn có thể tùy chỉnh nhé.

3, Lời kết

-Phần này mình chỉ demo chức năng đọc, ghi cơ bản còn các bạn muốn nâng cao hơn thì có thể tham khảo thêm các ví dụ tại đây

Chúc các bạn một ngày vui vẻ

Đăng ký nhận tin

Chúng tôi chỉ gửi tối đa 2 lần trong 1 tháng. Tuyên bố không spam mail

Đăng ký

MẸO PHP

Bài trước   Bài sau

29 nhận xét 508 lượt thích

Nhập excel vào mongodb

Vũ Thành Tài

Về tác giả

Cách học tốt nhất là chia sẻ

Xem tất cả bài đăng

Bài Viết Mới

  • Nhập excel vào mongodb

    Những tính năng mới trong PHP 8. 1

    1 năm trước 7 Nhận xét

  • Nhập excel vào mongodb

    Bài 39. Bộ đệm trong Laravel 8

    2 năm trước 1 Nhận xét

  • Nhập excel vào mongodb

    PHP Swoole là gì?

    2 năm trước 0 Nhận xét

  • Nhập excel vào mongodb

    Cài đặt SSL trên local sử dụng mkcert

    2 năm trước 4 Nhận xét

29 Bình luận

Nhập excel vào mongodb

tuyệt vời cám ơn bài hướng dẫn của bạn nhé

nguyễn đức

6 năm trước

Hồi đáp

Nhập excel vào mongodb

Thank you

Toidicode. com

6 năm trước

Nhập excel vào mongodb

xóa và dữ liệu sữa như thế nào ạ

Nam

4 năm trước

Nhập excel vào mongodb

anh ơi có cách nào kiểm tra hay so sánh 1 cột trong DB với 1 cột 1 cột trong excel vd như 1 mã khách hàng có trong DB rồi thì bỏ qua ko insert vào DB nữa nếu chưa có thì insert vào

Hoàng

4 năm trước

Nhập excel vào mongodb

Bạn ơi cho mình hỏi, nếu mình muốn đọc file excel rồi save vào database thì làm thế nào. Xin cảm ơn

Hồng Nhị Lê

6 năm trước

Hồi đáp

Nhập excel vào mongodb

Bạn xem ở phần đọc file đó, mình đã xuất ra một mảng dữ liệu rồi, bạn chỉ cần duyệt một mảng và chèn từng phần tử vào cơ sở dữ liệu là được mà

Toidicode. com

6 năm trước

Nhập excel vào mongodb

Bạn ơi, để giữ nguyên các định dạng đã được định sẵn trong file excel khi import vào CSDL thì phải làm sao vậy bạn?

Nga

4 năm trước

Nhập excel vào mongodb

a ơi sao e làm như ví dụ 1 của a mà cứ lỗi này là sao ạ

Cảnh báo. yêu cầu(. /Lớp/PHPExcel. php). không thể mở luồng. Không có tệp hoặc thư mục như vậy trong /home/sys_sk2a07/public_html/luuchudulie. php trên dòng 2

Lỗi nghiêm trọng. yêu cầu(). Yêu cầu mở không thành công '. /Lớp/PHPExcel. php' (bao gồm_path='. /usr/chia sẻ/lê. /usr/share/php') trong /home/sys_sk2a07/public_html/luuchudulie. php trên dòng 2

無名

3 năm trước

Nhập excel vào mongodb

Toàn cái tên nhảm. v

Trung Đức

6 năm trước

Hồi đáp

Nhập excel vào mongodb

hot is like any you?. D

Toidicode. com

6 năm trước

Nhập excel vào mongodb

có một vấn đề là khi import excel kiểu này vào cơ sở dữ liệu với khoảng 1 triệu dòng thì sẽ bị treo máy, bạn biết có cách nào để giải quyết ko. cảm tạ

Vũ Công Thành

5 năm trước

Hồi đáp

Nhập excel vào mongodb

Chào bạn,
rất cảm ơn bạn đã quan tâm đến chủ đề.
Ở trường hợp như bạn đưa ra thì mình có 2 cách giải quyết như sau.

  • Chia ra thành nhiều lần nhập
  • Chuyển đổi nó thành các câu SQL rồi nhập bằng cmd thì bạn sẽ được nhé

Vũ Thành Tài

5 năm trước

Nhập excel vào mongodb

Anh cho em hỏi là. muốn nhập dữ liệu từ cơ sở dữ liệu vào 1 file excel đã có sẵn dữ liệu (vd như ảnh, cấu hình font chữ) thì làm như thế nào ạ?

trung

4 năm trước

Hồi đáp

Nhập excel vào mongodb

Có vấn đề khi file excel có nhiều dòng đơn dạng 10878 trong hình

https. // hình ảnh. com/a/NpxkFX6

Thì làm sao gom dữ liệu để chèn vào dữ liệu anh

Vũ Trần

4 năm trước

Hồi đáp

Nhập excel vào mongodb

Chào bạn,
Trong trường hợp này, bạn có thể hợp nhất lại các hàng đã được, bằng cách sử dụng mergeCells()

http. //bộ mã hóa nhất quán. com/merge-cells-in-phpexcel

Vũ Thành Tài

4 năm trước

Nhập excel vào mongodb

mình làm theo mà gặp bug này mãi ko bug đc

Lỗi nghiêm trọng. Không tìm thấy lớp 'XMLWriter' trong /home/bitrix/www/Classes/O2/PHPExcel/Shared/XMLWriter. php trên dòng 36

Mình đã check và cài đặt các extension theo yêu cầu mà vẫn ko đc. *(

Xin được chỉ giáo

Cảm ơn ad nhiều

Tùng Lv

4 năm trước

Hồi đáp

Nhập excel vào mongodb

Chào bạn.
Lỗi này xuất hiện do PHP của bạn chưa cài đặt gói php-xml nhé bạn

Vũ Thành Tài

4 năm trước

Nhập excel vào mongodb

ad cho mình hỏi thêm mình đặt giá trị cho ô công thức này thì ko ăn

$excel->getActiveSheet()->setCellValue('A2', '=IF(B2<>"",VLOOKUP(B2,dulieu. $A$2. $B$10,2,SAI),"")');

ko ghi đc vào ô mình thay hàm khác thì vẫn dc

Tùng Lv

4 năm trước

Hồi đáp

Nhập excel vào mongodb

Để thực hiện được hàm IF trong excel thì bạn phải sử dụng phép tính đối tượng. Ví dụ như sau.
 

$ifFormula = '=IF(B2-300=0,B6,C6)';
$formulaResult = PHPExcel_Calculation::getInstance($objPHPExcel)
    ->calculateFormula(
        $ifFormula,
        'A1',
        $objPHPExcel->getActiveSheet()->getCell('A1')
    );
var_dump($formulaResult);

 

Vũ Thành Tài

4 năm trước

Nhập excel vào mongodb

cảm ơn bạn, bài viết rất hay và chi tiết

nguyễn tình

4 năm trước

Hồi đáp

Nhập excel vào mongodb

1 Hướng dẫn đầy đủ và chi tiết, mình không phải dân lập trình cũng có thể thực hiện được nhé

nhưng có 1 thắc mắc là nếu mình muốn đọc file XLS có nhiều sheet thì câu lệnh phải thực hiện thế nào vậy bạn?

cảm ơn

Con trai

3 năm trước

Hồi đáp

Nhập excel vào mongodb

Chào bạn, cảm ơn bạn đã quan tâm.
Bạn muốn đọc trang nào thì sửa dòng này nhé bạn
 

//Chọn trang cần truy xuất
$sheet = $objPHPExcel->setActiveSheetIndex(0);

 

Vũ Thành Tài

3 năm trước

Nhập excel vào mongodb

làm phiền bạn thêm 1 chút, mã đoạn trên là mình echo ra web, mình muốn định dạng cột thứ 3 $item[3], kiểu như số xuất hiện ở cột đó nếu lớn hơn 5000 thì màu nền nền sẽ là màu đỏ. mình đang tìm trong các bài hướng dẫn về CSS của mình nhưng chưa tìm được cách làm. Nếu bạn rảnh có thể chỉ mình mình được không, cảm ơn nhiều

tiếng vang'