Laravel-excel: إلحاق البيانات إلى Excel الموجود؟

تم إنشاؤها على ١١ سبتمبر ٢٠١٤  ·  19تعليقات  ·  مصدر: Maatwebsite/Laravel-Excel

مرحبًا ، رأيت عددًا قليلاً من الأشخاص يسألون ولكني لم أشاهد مثالًا كاملًا للرمز (آسف إذا فاتني). هل يمكنك تقديم مثال رمز كامل لكيفية إلحاق البيانات بملف Excel الحالي؟

التعليق الأكثر فائدة

بدءًا من الإصدار 1.2.* ستتمكن من تحرير الملفات الموجودة وتصديرها باستخدام هذا النحو:

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

إذا كنت تريد تعديل ورقة معينة ، فيمكنك القيام بما يلي: $reader->sheet(1, function() ...) أو $reader->sheet('SheetTitle', function() ...)

ال 19 كومينتر

يمكن العثور على أمثلة لصفوف الإلحاق داخل وثائقنا:

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

شكرا على الرد! هذان سطرين فقط من التعليمات البرمجية ، لذلك لست متأكدًا من كيفية استخدامها. أحاول هذا:

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

لكني أحصل على Call to undefined method PHPExcel_Worksheet::row()

الملف موجود بالفعل على الخادم وأريد فقط إلحاق البيانات به.

آسف ، لقد أسأت فهم سؤالك.
في هذه اللحظة لا يمكن تحرير ملف موجود. يعمل إلحاق الصفوف فقط عند إنشاء ملف Excel جديد.

بدءًا من الإصدار 1.2.* ستتمكن من تحرير الملفات الموجودة وتصديرها باستخدام هذا النحو:

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

إذا كنت تريد تعديل ورقة معينة ، فيمكنك القيام بما يلي: $reader->sheet(1, function() ...) أو $reader->sheet('SheetTitle', function() ...)

شكرا لك! سيكون ذلك رائعا! أنا حقا أحب كيف تحافظ على هذه الحزمة.

على الرحب والسعة :)

أهلا،
هل يمكن أن تساعدني من فضلك في معرفة ما إذا كان أدناه ممكن أم لا إذا كانت الإجابة بنعم كيف ؟.
عن طريق تحرير ملف موجود
1.يمكننا الكتابة فوق خلية معينة
2.يمكننا إلحاق البيانات بصف يحتوي بالفعل على بعض البيانات

  1. هل هناك أي خيار لإنشاء قائمة منسدلة للعمود
  2. للقراءة فقط خلية / صف / عمود

تلقيت هذا الخطأ مع الرمز المقدم: نوع الإزاحة غير القانوني في مجموعة أو فارغة.

عندما أستخدم هذا الرمز ،

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

سأتعامل مع هذا الخطأ،
نوع الإزاحة غير قانوني في مجموعة أو فارغة

نفس الشيء هنا ، أنا أتلقى هذا الخطأ

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

من هذا الرمز

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

أنا أستخدم الإصدار "~1.3.0"

تحتاج إلى تحديد ورقة ، وإلا كيف يعرف Excel مكان إلحاق الصف؟

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

شكرًا لك على إجابتك السريعة حقًاpatrickbrouwers!

بعد أن أضع 'sheetName' حصل خطأ آخر ،

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

أعتقد أن مشاكلي هي نفسها هذه المشكلة https://github.com/Maatwebsite/Laravel-Excel/issues/502#issue -97465111

أم أنني أضع 'sheetName' الخطأ؟ لأنني أحاول إلحاق ملف CSV (تم إنشاؤه باستخدام نفس المكتبة)

إذن هذا هو المثال:

      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);
        }

هذا عمل معي

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

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

@ ingenio-se
أنا استخدم رمزك وأحصل على هذا

استدعاء دالة عضو appendRow () على قيمة خالية

هل قمت بفحص المصفوفة التي تستخدمها مع الوظيفة؟
ربما الصق الكود الخاص بك للحصول على تلميح لما يحدث

hisway تحقق مرتين من اسم الورقة. قوله فارغ لأن الورقة التي تحاول إلحاقها غير صحيحة. إذا كان هناك أي شيء ، فقم بنسخ اسم الورقة مباشرة من المصنف في بعض الأحيان ، فهناك مسافات بادئة أو لاحقة لا تستخدمها.

هل يمكن لأي شخص أن يشرح كيفية القيام بذلك في 3.0؟

كيف يمكنني إلحاق عمود في العمود الموجود ؟؟ يمكن لأي شخص مساعدتي

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات