Laravel-excel: Tambahkan data ke excel yang ada?

Dibuat pada 11 Sep 2014  ·  19Komentar  ·  Sumber: Maatwebsite/Laravel-Excel

Hai, saya melihat beberapa orang bertanya tetapi saya tidak melihat contoh kode lengkap (maaf jika saya melewatkannya). Bisakah Anda memberikan contoh kode lengkap tentang cara menambahkan data ke file Excel yang ada?

Komentar yang paling membantu

Mulai dari versi 1.2.* Anda akan dapat mengedit file yang ada dan mengekspornya, dengan menggunakan sintaks ini:

Excel::load($path . '/exported.xls', function($reader) 
{
    $reader->sheet(function($sheet) 
    {
        $sheet->appendRow([
             'test1', 'test2',
         ]);
    });
})->export('xls');

Jika Anda ingin mengedit lembar tertentu, Anda dapat melakukan: $reader->sheet(1, function() ...) atau $reader->sheet('SheetTitle', function() ...)

Semua 19 komentar

Contoh menambahkan baris dapat ditemukan di dalam dokumentasi kami:

http://www.maatwebsite.nl/laravel-excel/docs/export#rows

Terima kasih balasannya! Itu hanya dua baris kode, jadi saya tidak yakin bagaimana menggunakannya. Saya mencoba ini:

Excel::load($path . '/exported.xls', function($reader){
                    $sheet = $reader->getActiveSheet();
                    // Manipulate third row
                    $sheet->row(3, array(
                            'test1', 'test2'
                        ));
                });

Tapi saya mendapatkan Call to undefined method PHPExcel_Worksheet::row()

File sudah ada di server dan saya hanya ingin menambahkan data ke dalamnya.

Maaf, saya salah memahami pertanyaan Anda.
Saat ini tidak mungkin untuk mengedit file yang ada. Menambahkan baris hanya berfungsi saat membuat file Excel baru.

Mulai dari versi 1.2.* Anda akan dapat mengedit file yang ada dan mengekspornya, dengan menggunakan sintaks ini:

Excel::load($path . '/exported.xls', function($reader) 
{
    $reader->sheet(function($sheet) 
    {
        $sheet->appendRow([
             'test1', 'test2',
         ]);
    });
})->export('xls');

Jika Anda ingin mengedit lembar tertentu, Anda dapat melakukan: $reader->sheet(1, function() ...) atau $reader->sheet('SheetTitle', function() ...)

Terima kasih! Itu akan luar biasa! Saya sangat suka bagaimana Anda mempertahankan paket ini.

Terima kasih kembali :)

Halo,
dapatkah Anda membantu saya apakah di bawah ini mungkin atau tidak jika ya bagaimana caranya?.
dengan mengedit file yang ada
1.bisakah kita menimpa sel tertentu?
2. dapatkah kita menambahkan data ke baris yang sudah memiliki beberapa data?

  1. apakah ada opsi untuk membuat daftar drop-down untuk kolom?
  2. hanya baca sel/baris/kolom

Saya mendapatkan kesalahan ini dengan kode yang diberikan: Jenis offset ilegal dalam isset atau kosong.

Ketika saya menggunakan kode ini,

Excel::load(storage_path('exports') . '/report.csv', function($reader) {
        $reader->sheet(function($sheet)  {
            $sheet->rows($data);
     });
})->store('csv',storage_path('exports'),false);

Saya mendapatkan kesalahan ini,
Jenis offset ilegal dalam isset atau kosong

Sama di sini, saya mendapatkan kesalahan ini

exception 'ErrorException' with message 'Illegal offset type in isset or empty' in pathToVendor/vendor/phpoffice/phpexcel/Classes/PHPExcel.php:582

dari kode ini

Excel::load($file_path,  function ($excel) {
    $excel->sheet(function($sheet) {
        $sheet->appendRow([
            'test1', 'test2',
        ]);
    });
})->store($ext, storage_path('exports'), true);

Saya menggunakan versi "~1.3.0"

Anda perlu memilih lembar, bagaimana lagi Excel tahu di mana harus menambahkan baris?

$excel->sheet('sheetName', function()

Terima kasih atas jawaban Anda yang sangat cepat @patrickbrouwers!

Setelah saya memasukkan 'sheetName' itu mendapatkan kesalahan lain,

Call to a member function appendRow() on null in path/to/myControllerName.php on line 200

Saya pikir masalah saya sama dengan masalah ini https://github.com/Maatwebsite/Laravel-Excel/issues/502#issue -97465111

atau saya salah memasukkan 'sheetName' ? karena saya mencoba menambahkan file CSV (Dihasilkan menggunakan perpustakaan yang sama)

jadi inilah contohnya:

      if(! File::exists($file_path)){
            $excelFile = Excel::create($filename, function ($excel) use($data)
            {
                $excel->setTitle('Export');
                $excel->setCreator('Meta System')->setCompany('Company Sdn Bhd.');
                $excel->setDescription('Export Master Data');
                $excel->sheet('Sheet1', function ($sheet) use($data)
                {
                    $sheet->fromArray($data, null, 'A1', true, true);
                });
            })->store($ext, storage_path('exports'), true);
        }else{
            $excelFile = Excel::load($file_path,  function ($reader) {
                $reader->sheet('Sheet1', function($sheet) {
                    $sheet->appendRow([
                        'test1', 'test2',
                    ]);
                });
            })->export($ext);
        }

Ini berhasil untuk saya

  \Excel::load('master.xls', function($reader) {

  $reader->sheet('ReportsMaster',function($sheet) {
    $sheet->appendRow([
         'test1', 'test2',
     ]);
  });
  })->export('xls');

@ingenio-se
Saya menggunakan kode Anda dan mendapatkan ini

Panggil ke fungsi anggota appendRow() pada null

Apakah Anda memeriksa array yang Anda gunakan dengan fungsinya?
Mungkin tempel kode Anda untuk mengetahui apa yang terjadi

@hisway periksa kembali nama

dapatkah seseorang menjelaskan bagaimana melakukan ini di 3.0?

bagaimana saya bisa menambahkan kolom di kolom yang ada?? ada yang bisa bantu saya

Apakah halaman ini membantu?
0 / 5 - 0 peringkat