Làm cách nào để nhập dữ liệu từ Excel sang codeigniter 4?

Sử dụng tệp Excel, bạn có thể lưu trữ tất cả dữ liệu và nhập dữ liệu tệp Excel vào cơ sở dữ liệu cùng một lúc bằng MYSQL và Codeigniter. Nhập Excel vào MySQL giúp tiết kiệm thời gian của người dùng và tránh lặp đi lặp lại công việc. Trong hướng dẫn này, chúng tôi sẽ giải thích cách nhập Excel vào cơ sở dữ liệu MySQL bằng CodeIgniter

cũng đọc. Nhập dữ liệu vào tệp Excel và CSV bằng thư viện PhpSpreadsheet trong CodeIgniter và MySQL

Trước tiên, chúng ta cần tải xuống Thư viện PHPExcel. Sau đó giải nén Thư viện PHPExcel

Bước 1. Trích xuất thư viện PHPExcel

Ghi chú. Sao chép và Dán bên trong thư mục “application/third_party”

Bước 2. tạo tập tin

Tạo một tệp có tên Excel. php bên trong thư mục “ứng dụng/thư viện”

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

nếu (. đã xác định('BASEPATH')) exit('No direct script access allowed');

/*

*  =======================================

* Tác giả. Nhóm công nghệ phát sinh

* Giấy phép. được bảo vệ

*  Email. thông tin @ techarise. com

*

*  =======================================

*/

require_once APPPATH . "/third_party/PHPExcel. php";

lớp Excel mở rộng PHPExcel {

    hàm công khai __construct() {

        cha mẹ. . __construct();

    }

}

?>

Bước 3. Tạo cơ sở dữ liệu và bảng

Đối với hướng dẫn này, bạn cần có cơ sở dữ liệu MySQL với bảng sau

1

2

3

4

5

6

7

8

9

10

11

12

//Cấu trúc bảng để nhập bảng

TẠO BẢNG `nhập` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Primary Key',

  `first_name` varchar(100) NOT NULL COMMENT 'First Name',

  `last_name` varchar(100) NOT NULL COMMENT 'Last Name',

  `email` varchar(255) NOT NULL COMMENT 'Email Address',

  `dob` varchar(20) NOT NULL COMMENT 'Date of Birth',

  `contact_no` int(11) NOT NULL COMMENT 'Contact No',

  CHÍNH KEY (`id`)

) CÔNG DỤNG = InnoDB MẶC ĐỊNH CHARSET=latin1 COMMENT='datatable demo table' AUTO_INCREMENT=1;

?>

Bước 4. Tạo Trình điều khiển và tải lớp

cú pháp. Tải lớp “excel” trong bộ điều khiển

1

2

3

4

    // tải thư viện

    $this - >tải->library('excel');

?>

Tạo một tệp điều khiển như contactus. php bên trong thư mục “application/controllers”

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

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

/**

* Mô tả Bộ điều khiển nhập khẩu

*

* @author Nhóm TechArise

*

* @email  info@techarise. com

*/

nếu (. đã xác định('BASEPATH'))

    thoát('Không cho phép truy cập tập lệnh trực tiếp');

 

lớp Nhập mở rộng CI_Controller {

 

    hàm công khai __construct() {

        cha mẹ. . __construct();

        $này - >tải->model('Import_model', 'import');

    }

 

    // tải xlsx lên. tệp xls

    chức năng công khai chỉ mục() {

        $data['trang'] = 'import';

        $data['title'] = 'Import XLSX | TechArise';

        $này - >tải->view('import/index', $data);

    }

    // nhập dữ liệu excel

    chức năng công khai lưu() {

        $này - >tải->library('excel');

        

        nếu ($this - >input->post('importfile')) {

            $path = ROOT_UPLOAD_IMPORT_PATH;

 

            $config['upload_path'] = $path;

            $config['allowed_types'] = 'xlsx|xls|jpg|png';

            $config['remove_spaces'] = TRUE;

            $this - >tải lên->initialize($config);

            $this - >tải->library('upload', $config);

            nếu (. $this - >tải lên->do_upload('userfile')) {

                        $error = mảng('error' => $this->upload->display_errors());

            } else {

                        $data = mảng('upload_data' => $this->upload->data());

            }

            

            nếu (. trống($data['upload_data']['file_name'])) {

                        $import_xls_file = $data['upload_data']['file_name'];

            } else {

                        $import_xls_file = 0;

            }

            $inputFileName = $path . $import_xls_file;

            thử {

                $inputFileType = PHPExcel_IOFactory. xác định($inputFileName);

                        $objReader = PHPExcel_IOFactory. createReader($inputFileType);

                        $objPHPExcel = $objReader - >load($inputFileName);

            } catch (Ngoại lệ $e) {

                        die('Lỗi khi tải tệp "' . thông tin đường dẫn($inputFileName, PATHINFO_BASENAME)

                        . '". ' . $e - >getMessage());

            }

            $allDataInSheet = $objPHPExcel - >getActiveSheet()->toArray(null, true, true, true);

            

            $arrayCount = count($allDataInSheet);

            $flag = 0;

            $createArray = mảng('First_Name', 'Last_Name', 'Email', 'DOB', 'Contact_NO');

            $makeArray = mảng('First_Name' => 'First_Name', 'Last_Name' => 'Last_Name', 'Email' => 'Email', 'DOB' => 'DOB', 'Contact_NO' => 'Contact_NO');

            $SheetDataKey = mảng();

            foreach ($allDataInSheet as $dataInSheet) {

                        foreach ($dataInSheet as $key => $value) {

                    if (in_array(trim($value), $createArray)) {

                        $value = preg_replace('/\s+/', '', $value);

                        $SheetDataKey[trim($value)] = $key;

                    } else {

                        

                    }

                }

            }

            $data = array_diff_key($makeArray, $SheetDataKey);

          

            nếu (trống($data)) {

                        $flag = 1;

            }

            if ($flag == 1) {

                        cho ($i = 2; $i <= $arrayCount; $i++) {

                    $addresses = mảng();

                    $firstName = $SheetDataKey['First_Name'];

                    $lastName = $SheetDataKey['Last_Name'];

                    $email = $SheetDataKey['Email'];

                    $dob = $SheetDataKey['DOB'];

                    $contactNo = $SheetDataKey['Contact_NO'];

                    $firstName = filter_var(trim($allDataInSheet[$i][$firstName]), FILTER_SANITIZE_STRING);

                    $lastName = filter_var(trim($allDataInSheet[$i][$lastName]), FILTER_SANITIZE_STRING);

                    $email = filter_var(trim($allDataInSheet[$i][$email]), FILTER_SANITIZE_EMAIL);

                    $dob = filter_var(trim($allDataInSheet[$i][$dob]), FILTER_SANITIZE_STRING);

                    $contactNo = filter_var(trim($allDataInSheet[$i][$contactNo]), FILTER_SANITIZE_STRING);

                    $fetchData[] = array('first_name' => $firstName, 'last_name' => $lastName, 'email' => $email, 'dob' => $dob, 'contact_no' => $contactNo);

                }              

                        $data['employeeInfo'] = $fetchData;

                        $này - >nhập->setBatchImport($fetchData);

                        $này - >nhập->importData();

            } else {

                        echo "Vui lòng nhập đúng tệp";

            }

        }

        $này - >tải->view('import/display', $data);

        

    }

}

?>

Bước 5. Tạo mô hình

Tạo một tệp mô hình có tên là Import_model. php bên trong thư mục “application/models”

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

/**

* Mô tả Mô hình nhập khẩu

*

* @author Nhóm TechArise

*

* @email  info@techarise. com

*/

nếu (. đã xác định('BASEPATH'))

    thoát('Không cho phép truy cập tập lệnh trực tiếp');

 

lớp Import_model mở rộng CI_Model {

 

    riêng tư $_batchImport;

 

    hàm công khai setBatchImport($batchImport) {

        $this - >_batchImport = $batchImport;

    }

 

    // lưu dữ liệu

    hàm công khai Dữ liệu nhập() {

        $data = $this - >_batchImport;

        $this - >db->insert_batch('import', $data);

    }

    //lấy danh sách nhân viên

    chức năng công khai Danh sách nhân viên() {

        $this - >db->select(array('e.id', 'e. first_name', 'e. last_name', 'e. email', 'e. dob', 'e. contact_no'));

        $this - >db->from('import as e');

        $query = $this - >db->get();

        return $query - >result_array();

    }

 

}

 

?>

Bước 6. Tạo dạng xem (Upload file Excel)

Tạo một tệp xem có tên là chỉ mục. php bên trong thư mục “application/views/import”

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

    <div class = "row">

    <div class = "col-lg-12">

        <h1>Luật sư <small>Overview</small></h1>

        <ol lớp = "breadcrumb">

            <li lớp = "active"><i class="fa fa-list"></i> Import Members</li>

        < / ol>            

    < / div>

< / div><! -- / . hàng -- >

$output = '';

$đầu ra . = form_open_multipart('nhập/lưu');

$đầu ra . = ';

$đầu ra . = ';

$đầu ra . = form_label('Luật sư nhập khẩu', 'image');

$data = mảng(

    'name' = > 'userfile'<,

    'id' = > 'userfile'<,

    'class' = > 'form-control,

    'value' = > '',

    'data-icon' = > 'false

);

$đầu ra . = form_upload($data);

$đầu ra . = ' '''''''''''''''''''''';

$đầu ra . = ';

$data = mảng(

    'name' = > 'importfile'<,

    'id' = > 'tệp nhập-,

    'class' = > 'btn btn-,

    'value' = > 'Nhập'<,

);

$đầu ra . = form_submit($data, 'Import Data');

$đầu ra . = '

                        ';

$đầu ra . = form_close();

echo $output;

?>

Bước 7. Tạo dạng xem (Hiển thị dữ liệu Excel)

Tạo một tệp dạng xem có tên là hiển thị. php bên trong thư mục “application/views/import”

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

<div class = "table-responsive">

    <bảng lớp = "table table-hover tablesorter">

        <đầu>

            <tr>

                <thứ lớp = "header">First Name</th>

                <thứ lớp = "header">Last Name</th>                          

                <thứ lớp = "header">Email</th>                      

                <thứ lớp = "header">DOB</th>

                <thứ lớp = "header">Contact Name</th>

            < / tr>

        < / đầu>

        <tbody>

            ?php

            if (isset($employeeInfo) && !trống($employeeInfo)) {

                        foreach ($employeeInfo as $key => $element) {

                    ?>

                    <tr>

                        <td>php echo $element['first_name']; ?></td>  

                        <td>php echo $element['last_name']; ?></td>

                        <td>php echo $element['email']; ?></td>                      

                        <td>php echo $element['dob']; ?></td>

                        <td>php echo $element['contact_no']; ?></td>

                    < / tr>

                    ?php

                }

            } else {

                ?>

                        <tr>

                    <td colspan = "5">There is no employee.< / td>    <

                        < / tr>

            ?php } ?>

 

        < / tbody>

    < / bảng>

< / div>

cũng đọc. Nhập dữ liệu vào tệp Excel và CSV bằng thư viện PhpSpreadsheet trong CodeIgniter và MySQL

Tải xuống bản trình diễn

Làm cách nào để nhập tệp Excel trong codeigniter?

Codeigniter Nhập tệp Excel, CSV .
Tải xuống Codeigniter mới nhất
Cấu hình cơ bản
Tải xuống thư viện phpExcel
Tạo thư viện
Tạo cơ sở dữ liệu với bảng
Thiết lập thông tin xác thực cơ sở dữ liệu
Tạo bộ điều khiển mới
Tạo mô hình

Làm cách nào để nhập tệp CSV trong php?

Làm cách nào để nhập và xuất CSV bằng cách sử dụng php và MySQL? .
Phê duyệt hồ sơ đã gửi, cho dù là tệp CSV quan trọng
Kiểm tra trạng thái truyền tệp CSV bằng hàm is_uploaded_file() của PHP
Truy cập tệp CSV bằng hàm PHP fopen()
Phân tích dữ liệu từ bản ghi CSV sử dụng hàm PHP fgetcsv()

Làm cách nào để nhập tệp XLSX vào cơ sở dữ liệu MySQL bằng php?

php sử dụng Phppot\DataSource; . php'; . /nhà cung cấp/tự động tải. php'); . ms-excel', 'text/xls', 'text/xlsx', 'application/vnd

Làm cách nào để sử dụng PhpSpreadsheet trong CodeIgniter 3?

Cách Nhập và Xuất bằng Thư viện PhpSpreadsheet trong Codeigniter .
Tải xuống và cài đặt Codeigniter. Chúng ta đã thảo luận về việc thiết lập Codeigniter. .
Cài đặt PhpSpreadsheet. .
Cài đặt Tự động tải Trình soạn nhạc. .
Tạo Chế độ xem. .
Cấu hình tuyến đường