Import excel phpspreadsheet codeigniter 3

Dalam posting ini, saya ingin menunjukkan penggunaan perpustakaan PhpSpreadsheet dalam proyek CodeIgniter 3 Anda. PhpSpreadsheet adalah pustaka PHP murni untuk membaca dan menulis file spreadsheet

Posting Serupa
CodeIgniter 4 – Mengekspor data ke excel di CodeIgniter menggunakan PhpSpreadsheet
Bagaimana cara menggunakan PHPExcel dengan CodeIgniter?
Cara generate excel dari array menggunakan PHPExcel

Import excel phpspreadsheet codeigniter 3
Import excel phpspreadsheet codeigniter 3

Berikut langkah-langkah generate Excel pada aplikasi CodeIgniter 3 dengan PhpSpreadsheet

Langkah 1. Unduh dan instal CodeIgniter

Langkah 2. Jalankan perintah komposer di bawah ini untuk mengunduh phpspreadsheetperpustakaan dari folder proyek Anda. Itu akan membuat folder baru bernama "vendor" dan itu akan mengunduh phpoffice/phpspreadsheet perpustakaan ke dalamnya

$ composer require phpoffice/phpspreadsheet

Import excel phpspreadsheet codeigniter 3
Import excel phpspreadsheet codeigniter 3

Berikut adalah struktur direktori saya setelah menginstal phpoffice/phpspreadsheet

Langkah 3. Buka file application/config/config.php dan atur jalur direktori vendor Anda

 $config['composer_autoload'] = 'vendor/autoload.php';
_

Langkah 4. Gunakan phpspreadsheet_ perpustakaan di dalam pengontrol Anda, ini contohnya

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

class Welcome extends CI_Controller {
    
	public function index()
	{       
		$spreadsheet = new Spreadsheet();
		$sheet = $spreadsheet->getActiveSheet();
		$sheet->setCellValue('A1', 'Hello World !');
		
		$writer = new Xlsx($spreadsheet);

		$filename = 'name-of-the-generated-file.xlsx';

		$writer->save($filename); // will create and save the file in the root of the project

	}

	public function download()
	{
		$spreadsheet = new Spreadsheet();
		$sheet = $spreadsheet->getActiveSheet();
		$sheet->setCellValue('A1', 'Hello World !');
		
		$writer = new Xlsx($spreadsheet);

		$filename = 'name-of-the-generated-file';

		header('Content-Type: application/vnd.ms-excel');
		header('Content-Disposition: attachment;filename="'. $filename .'.xlsx"'); 
		header('Cache-Control: max-age=0');
		
		$writer->save('php://output'); // download file 

	}
}

Untuk informasi lebih lanjut, berikut adalah halaman dokumentasi resmi dari – dokumentasi phpspreadsheet

Saya harap Anda menyukai Posting ini, Silakan berkomentar di bawah ini, saran dan masalah Anda jika Anda hadapi - kami di sini untuk menyelesaikan masalah Anda

Codeigniter 3 - PHPSpreadsheet

Codeigniter 3 Impor & Ekspor Excel menggunakan PHPSpreadsheet

Keterangan

Jenis fitur sampel

  • Impor Data dari Excel

  • Ekspor Semua Data ke Excel

  • Ekspor Data dengan Filter Tanggal ke Excel

Cara Penggunaan

  • Kloning Repositori ini
  • Jalankan composer update

Sumber daya

  • Pembuat kode 3. 1. 11
  • PHPOffice/PHPSpreadsheet 1. 16
  • Bootstrap 4. 6. 0
  • Font Keren 5. 15. 2
  • jQuery 3. 5. 1
  • UI jQuery 1. 12. 1
  • Popper 2. 6. 0

Menggunakan file Excel dan CSV Anda dapat menyimpan semua data dan mengimpor data file Excel dan CSV ke dalam database sekaligus menggunakan library PhpSpreadsheet di CodeIgniter dan MySQL. PhpSpreadsheet adalah library PHP untuk membaca dan menulis file spreadsheet. Impor Excel dan CSV ke bantuan MySQL untuk menghemat waktu pengguna dan menghindari pekerjaan berulang

Dalam tutorial ini bagaimana menjelaskan Import Data ke file Excel dan CSV menggunakan library PhpSpreadsheet di CodeIgniter dan MySQL. Karena PHPExcel sudah tidak digunakan lagi, maka kami akan menggunakan PhpSpreadsheet untuk membuat file excel dengan data koleksi. Kami akan membahas tutorial ini dengan demo langsung untuk Mengimpor Data ke file Excel dan CSV menggunakan pustaka PhpSpreadsheet di CodeIgniter dan MySQL

Baca juga. Cara menggunakan PHPExcel dengan CodeIgniter

Langkah 1. Unduh dan instal CodeIgniter

Langkah 2. komposer atau unduhan langsung

Jalankan perintah komposer di bawah ini untuk mengunduh pustaka phpspreadsheet dari folder proyek Anda. Itu akan membuat folder baru bernama "vendor" dan itu akan mengunduh pustaka phpoffice/phpspreadsheet

$ composer require phpoffice/phpspreadsheet Ini adalah struktur direktori saya setelah menginstal phpoffice/phpspreadsheet

3. Siapkan Pemuatan Otomatis Komposer

Anda perlu menyetel jalur direktori vendor di dalam application/config/config.php

1

2

3

    $config['composer_autoload'] = 'vendor/autoload.php';

?>

Sebelum mulai mengimplementasikan impor data ke file excel dan csv menggunakan library PhpSpreadsheet di CodeIgniter dan MySQL, lihat struktur file

  • codeigniter-import-excel-csv-file-data-ke-mysql
    • aplikasi
      • config
        • memuat otomatis. php
        • konstanta. php
        • basis data. php
        • rute. php
      • pengontrol
        • Phpspreadsheet. php
      • model
        • Lokasi. php
      • pandangan
        • spreadsheet
          • indeks. php
          • menampilkan. php
        • template
          • tajuk. php
          • footer. php
    • penjaja
      • phpoffice
    • sistem
    • indeks. php
    • aktiva
      • css
      • upload
        • sampel-xlsx. xlsx
        • sampel-xls. xls
        • sampel-csv. csv

Langkah 4. Membuat Database dan Tabel MySQL

SQL berikut membuat tabel pelanggan di database MySQL

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

    BUAT TABEL `impor` (

      `id` int(11) NOT NULL,

      `nama_pertama` varchar(100) NOT NULL,

      `nama_belakang` varchar(100) NOT NULL,

      `email` varchar(255) NOT NULL,

      `dob` varchar(20) NOT NULL,

      `contact_no` varchar(16) NOT NULL

    ) ENGINE = InnoDB DEFAULT CHARSET=latin1;

 

    UBAH TABEL `impor`

      TAMBAHKAN UTAMA KUNCI (`id`);

 

    UBAH TABEL `impor`

      MODIFIKASI `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;

?>

Langkah 5. Model Situs menangani database

Buat file bernama Situs. php di dalam “folder aplikasi/model

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

/*

* Untuk mengubah tajuk lisensi ini, pilih Tajuk Lisensi di Properti Proyek

* Untuk mengubah file template ini, pilih Tools. Templat

* dan buka templat di editor

*/

 

/**

* Deskripsi Model Impor

*

* @author Tim Mag Coders

*

* @email  info@techarise. com

*/

jika (. ditentukan('BASEPATH'))

    keluar('Tidak ada akses skrip langsung yang diizinkan');

 

class Situs meluas CI_Model {

    pribadi $_batchImport;

    fungsi publik setBatchImport($batchImport) {

        $ini - >_batchImport = $batchImport;

    }

    // menyimpan data

    fungsi publik importData() {

        $data = $ini - >_batchImport;

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

    }

    // dapatkan daftar karyawan

    fungsi publik daftar karyawan() {

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

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

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

        return $query - >result_array();

    }

}

 

?>

Langkah 6. Buat Pengontrol dan muat kelas

Buat pengontrol bernama Phpspreadsheet. php dan gunakan pustaka phpspreadsheet di dalam pengontrol. Silakan temukan di bawah kode untuk pengontrol

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

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

/**

* @paket Phpspreadsheet. Phpspreadsheet

* Tim TechArise @penulis

*

* @email  info@techarise. com

*

* Deskripsi Pengontrol Phpspreadsheet

*/

 

ditentukan('BASEPATH') ATAU exit('No direct script access allowed');

//PhpSpreadsheet

gunakan PhpOffice\PhpSpreadsheet\Spreadsheet;

 

class Phpspreadsheet meluas CI_Controller {

 

    fungsi publik __construct()

    {

        orang tua. . __konstruksi();

         // memuat model

        $ini - >memuat->model('Site', 'site');

    }

    // indeks

    fungsi publik impor()

    {

        $data = array();

        $data['title'] = 'Import Excel Sheet | TechArise';

        $data['breadcrumbs'] = array('Home' => '#');

        $ini - >memuat->view('spreadsheet/index', $data);

    }

 

    // fungsi upload file

    fungsi publik unggah() {

        $data = array();

        $data['title'] = 'Import Excel Sheet | TechArise';

        $data['breadcrumbs'] = array('Home' => '#');

         // Memuat pustaka validasi formulir

         $ini - >memuat->library('form_validation');

         $this - >form_validation->set_rules('fileURL', 'Upload File', 'callback_checkFileValidation');

         jika($ini - >form_validation->run() == false) {

            

            $ini - >memuat->view('spreadsheet/index', $data);

         } lain {

            // Jika file diunggah

            jika(. kosong($_FILES['fileURL']['name'])) {

                // dapatkan ekstensi file

                $ekstensi = pathinfo($_FILES['fileURL']['name'], PATHINFO_EXTENSION);

 

                jika($ekstensi == 'csv'){

                    $reader = baru \PhpOffice\PhpSpreadsheet\Reader\Csv();

                } elseif($ekstensi == 'xlsx') {

                    $reader = baru \PhpOffice\PhpSpreadsheet\Reader\Xlsx();

                } lain {

                    $reader = baru \PhpOffice\PhpSpreadsheet\Reader\Xls();

                }

                // jalur file

                $spreadsheet = $reader - >load($_FILES['fileURL']['tmp_name']);

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

            

                // jumlah larik

                $arrayCount = hitung($allDataInSheet);

                $flag = 0;

                $createArray = array('First_Name', 'Last_Name', 'Email', 'DOB', 'Contact_No');

                $makeArray = array('First_Name' => 'First_Name', 'Last_Name' => 'Last_Name', 'Email' => 'Email', 'DOB' => 'DOB', 'Contact_No' => 'Contact_No');

                $SheetDataKey = array();

                foreach ($allDataInSheet as $dataInSheet) {

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

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

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

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

                        }

                    }

                }

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

                jika (kosong($dataDiff)) {

                    $flag = 1;

                }

                // cocok dengan kolom lembar excel

                jika ($bendera == 1) {

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

                        $addresses = array();

                       $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['dataInfo'] = $fetchData;

                    $ini - >situs->setBatchImport($fetchData);

                    $ini - >situs->importData();

                } lain {

                    echo "Harap impor file yang benar, tidak cocok dengan kolom lembar excel";

                }

                $ini - >memuat->view('spreadsheet/display', $data);

            }              

        }

    }

 

    // checkFileValidation

    fungsi publik periksaValidasi File($string) {

      $file_mimes = array('text/x-comma-separated-values',

        'text/comma-separated-values',

        'application/octet-stream',

        'aplikasi/vnd. ms-excel',

        'aplikasi/x-csv',

        'text/x-csv',

        'text/csv',

        'application/csv',

        'aplikasi/excel',

        'aplikasi/vnd. msexcel',

        'teks/polos',

        'aplikasi/vnd. openxmlformats-officedocument. spreadsheetml. lembar'

      );

      jika(ada($_FILES['fileURL']['name'])) {

            $arr_file = meledak('.', $_FILES['fileURL']['name']);

            $ekstensi = end($arr_file);

            if(($ekstensi == 'xlsx' |. $extension == 'xls' . . $extension == 'csv') && in_array($_FILES['fileURL']['type'], $file_mimes)){

kembali benar;

            }lain{

                $this - >form_validation->set_message('checkFileValidation', 'Please choose correct file.');

                return false;

            }

        }lain{

            $this - >form_validation->set_message('checkFileValidation', 'Please choose a file.');

            kembalikan false;

        }

    }

 

}

 

?>

Langkah 7. Buat Tampilan

Buat tampilan bernama index. php di dalam direktori application/views. Silakan temukan kode untuk file tampilan

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

  ?php $ini - >load->view('templates/header');?>

<. -- wadah -- >

  <bagian kelas = "showcase">

    <div kelas = "container">

      <div kelas = "pb-2 mt-4 mb-2 border-bottom">

        <h2>Impor Data to Excel and CSV file using PhpSpreadsheet library in CodeIgniter and MySQL</h2>

      < / div>

 

      ?php if(form_error('fileURL')) {?>    

        <div kelas = "alert alert-danger alert-dismissible">

            <tombol ketik = "button" class="close" data-dismiss="alert">×</button>

            ?php cetak form_error('fileURL'); ?>

        < / div>      

    ?php } ?>

    <div kelas = "row padall border-bottom">  

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

      <div kelas = "float-right">  

           <a href = " print site_url();?>assets/uploads/sample-xlsx.xlsx" kelas = "btn btn-info btn-sm"> . <i class="fa fa-file-excel"></i> Sample .XLSX< / a>

           <a href = " print site_url();?>assets/uploads/sample-xls.xls" kelas = "btn btn-info btn-sm"> . <i class="fa fa-file-excel"></i> Sample .XLS< / a>

           <a href = " print site_url();?>assets/uploads/sample-csv.csv" kelas = "btn btn-info btn-sm" target . ="_blank" ><i class="fa fa-file-csv"></i> Sample .CSV< / a>

        < / div>

      < / div>

      < / div>

 

    <bentuk tindakan = " print site_url();?>phpspreadsheet/upload" class="excel-upl" id="excel-upl" enctype="multipart/form-data" method="post" accept-charset="utf-8">

      <div kelas = "row padall">

        <div kelas = "col-lg-6 order-lg-1">

          

           <masukkan ketik = "file" class="custom-file-input" id="validatedCustomFile" name="fileURL">

           <label kelas = "custom-file-label" for="validatedCustomFile">Choose file.. . < / label>

        < / div>

        <div kelas = "col-lg-6 order-lg-2">

          <tombol ketik = "submit" name="import" class="float-right btn btn-primary">Import</button>

        < / div>

      < / div>

    < / bentuk>

    < / div>

  < / bagian>

$ini->memuat< $this->load->view('templates/footer');?>

Langkah 8. Buat Tampilan

Buat tampilan bernama tampilan. php di dalam direktori application/views. Silakan temukan kode untuk file tampilan

Bagaimana cara mengimpor file Excel di CodeIgniter 3?

Impor Codeigniter Excel, File CSV .
Unduh Codeigniter Terbaru
Konfigurasi Dasar
Unduh Perpustakaan phpExcel
Buat Perpustakaan
Buat Database Dengan Tabel
Siapkan Kredensial Database
Buat Pengontrol Baru
Buat model

Bagaimana cara mengunduh pustaka PhpSpreadsheet?

Gunakan komposer untuk menginstal PhpSpreadsheet ke dalam proyek Anda . Atau unduh juga dokumentasi dan sampel jika Anda berencana untuk menggunakannya. Cara yang baik untuk memulai adalah menjalankan beberapa sampel. Jangan lupa mengunduhnya melalui flag --prefer-source composer.

Bagaimana cara mengimpor data dari Excel ke codeigniter 4?

Codeigniter 4 Mengimpor Data File Excel/CSV ke Contoh Database MySQL .
Langkah 1. Unduh Proyek Codeigniter
Langkah 2. Konfigurasikan Penanganan Kesalahan
Langkah 3. Hasilkan Tabel Pengguna di Database
Langkah 4. Terhubung ke Basis Data
Langkah 5. Buat Contoh File CSV
Langkah 6. Buat Model
Langkah 7. Atur Pengontrol
Langkah 8. Mengatur Rute

Bagaimana cara mengimpor data dari Excel csv ke database mysql di PHP menggunakan penyisipan dan pembaruan PhpSpreadsheet?

php gunakan Phppot\DataSource; . php'; . /vendor/muat otomatis. php'); . ms-excel', 'teks/xls', 'teks/xlsx', 'aplikasi/vnd