Import EXCELμ PHP7.4μμ μμΈκ° λ°μν©λλ€.
μμΈ-> message ()λ λ€μκ³Ό κ°μ΅λλ€.
int μ νμ κ°μ λν λ°°μ΄ μ€νμ
μ μ‘μΈμ€νλ €κ³ ν©λλ€.
μμλλ λμ :
php72wμμ μ½λλ₯Ό μ€ννλ©΄μ xlsx νμΌ κ°μ Έ μ€κΈ°
μ€μ νλ :
Excelμ κ°μ Έμ¬ λ php7.2μμ php7.4λ‘ μλ² νκ²½μ μ
λ‘λ ν ν μμ κ°μ΄ μ€ν¨ν©λλ€.
php7.4μμ php7.2λ‘ λ€μ΄ κ·Έλ μ΄λνλ©΄ λ€μ μ μμ λλ€.
$extension=$request->file()['file']->getClientOriginalExtension();
$extension[0] = strtoupper($extension[0]);
Excel::import(new RejectedImport(), $request->file()['file']->path(),null,$extension);
κ·Έλ¦¬κ³ Import Classμμλ κ² :
<?php
namespace App\Imports;
use App\Commodity;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class CommodityImport implements ToCollection, WithHeadingRow
{
protected $isOverride=false;
public function __construct($isOverride)
{
if($isOverride=='1')
$this->isOverride=true;
}
/**
* <strong i="26">@param</strong> Collection $collections
*/
public function collection(Collection $collections)
{
foreach ($collections as $row)
{
$barcode = $row['barcode'] ?? $row['BARCODE'] ?? $row['Barcode'];
if(!$barcode)continue;
$name = $row['name'] ?? $row['NAME'] ?? $row['Name'] ?? '';
$sku = $row['sku'] ?? $row['SKU'] ?? $row['Sku'] ?? '';
$owner = $row['owner'] ?? $row['owner_name'] ?? $row['OWNER'] ?? $row['Owner'] ?? '';
$commodity=Commodity::where('barcode',$row['barcode'])->first();
if($commodity){
if($this->isOverride){
$name?$commodity['name']= $name:false;
$sku?$commodity['sku']= $sku:false;
$owner?$commodity['owner_name']= $owner:false;
$commodity->update();
}
}else{
Commodity::create([
'name' => $name,
'sku' => $sku,
'owner_name' => $owner,
'barcode' => $barcode,
]);
}
}
}
}
ν°μΌμ μ μΆν΄ μ£Όμ μ κ°μ¬ν©λλ€. μ 곡νμ μ λ³΄κ° λΆμμ ν©λλ€. μ΄λ€ λ²μ μ μ¬μ©νκ³ μ΄λ»κ² μ¬ννλμ§ μμμΌν©λλ€. μ½λ μμ λ₯Ό ν¬ν¨νμμμ€. μλ ΉνκΈ° μ μ (https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/ISSUE_TEMPLATE.md) νμΈνκ³ λλ½ λ μ 보λ₯Ό μΆκ°νμμμ€. μ΄ ν°μΌμ λ μ½κ² μ²λ¦¬νλ €λ©΄ (https://laravel-excel.maatwebsite.nl/3.1/getting-started/contributing.html) νμΈνκ³ λ¬Έμ ν νλ¦Ώμ μμ±νλμ§ λ€μ νμΈνμμμ€. λ°λ₯΄κ². μ΄λ κ²νλ©΄ ν°μΌμλ³΄λ€ ν¨μ¨μ μΌλ‘ μλ Ή ν μ μμ΅λλ€. μ§μΉ¨μ μ¬λ°λ₯΄κ² λ°λ₯΄λ λ¬Έμ λ λ€λ₯Έ λ¬Έμ λ³΄λ€ μ°μ ν©λλ€.
μ’ λ μ€ν νΈλ μ΄μ€λ₯Ό λ³΄μ¬ μ£Όμ€ μ μλμ? PHP7.4μμ ν¨ν€μ§λ₯Ό μ¬μ©ν λ λ²κ·Έλ₯Ό νμΈν μ μμ΅λλ€. μλ§λ λΉμ μμ μ μ½λμμλ κ²μΌκΉ μ?
μλ νμΈμ @patrickbrouwers ν¨ν€μ§μ κ°μ¬λ립λλ€. μ λ κ·Έκ²μ ν° ν¬μ λλ€!
λ΄λ³΄λ΄κΈ° μ€μ΄μ§λ§ μ κ·Έλ μ΄λ ν λΉμ·ν μ€λ₯κ° λ°μνκ³ stacktraceλ λ¬Έμ κ° Laravel-Excelμ΄ μλ phpsreadsheetμ μμμ λνλ΄μ§ λ§ Googleμ΄ λλ₯Ό μ¬κΈ°λ‘ κ°μ Έ μμ΅λλ€.
λ€μμ μ€ν μΆμ μ λλ€.
#0 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php(56): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php(34): PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder::dataTypeForValue()
#2 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php(184): PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder->bindValue()
#3 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php(2510): PhpOffice\\PhpSpreadsheet\\Cell\\Cell->setValue()
#4 /vendor/maatwebsite/excel/src/Sheet.php(402): PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet->fromArray()
#5 /vendor/maatwebsite/excel/src/Sheet.php(502): Maatwebsite\\Excel\\Sheet->append()
#6 /vendor/maatwebsite/excel/src/Sheet.php(368): Maatwebsite\\Excel\\Sheet->appendRows()
#7 /vendor/maatwebsite/excel/src/Sheet.php(195): Maatwebsite\\Excel\\Sheet->fromCollection()
#8 /vendor/maatwebsite/excel/src/Writer.php(73): Maatwebsite\\Excel\\Sheet->export()
#9 /vendor/maatwebsite/excel/src/Excel.php(176): Maatwebsite\\Excel\\Writer->export()
#10 /vendor/maatwebsite/excel/src/Excel.php(97): Maatwebsite\\Excel\\Excel->export()
#11 /app/Console/Commands/EmailCardRequestList.php(89): Maatwebsite\\Excel\\Excel->store()
PhpSpreadsheetμμ μμ λ¨, https://github.com/PHPOffice/PhpSpreadsheet/issues/1300 μ°Έμ‘°
PHPExcel νμΌ "DefaultValueBinder.php"μμ λ€μ μ€ 82λ₯Ό λ°κΏλλ€.
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
μ΄λ κ²νλ©΄ "int μ ν κ°μ λν λ°°μ΄ μ€νμ
μ‘μΈμ€ μλ"μ€λ₯κ° μμ λ©λλ€. κ·Έλ¬λ "μ€κ΄νΈλ₯Ό μ¬μ©νλ λ°°μ΄ λ° λ¬Έμμ΄ μ€νμ
μ‘μΈμ€ ꡬ문μ λ μ΄μ μ¬μ©λμ§ μμ΅λλ€"μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄ PHPExcel μ½λ μ 체μμ μ€κ΄νΈλ₯Ό μ°Ύμμ κ΅μ²΄ν΄μΌν©λλ€.μ΄ μ€λ₯λ λν PHPλ₯Ό 7.4λ‘ μ
κ·Έλ μ΄λνλ λ° μν₯μ λ―ΈμΉ©λλ€. λͺ¨λ κ³³μμ "["λ° "]"λ‘ λ체νκ³ λͺ¨λ κ²μ΄ λ€μ μ μμ μΌλ‘ μλν©λλ€.
κ³΅κΈ μ 체 ν΄λ λ΄λΆμ DefaultValueBinder.php? μλλ©΄ μ΄λμ μμ΅λκΉ? μ¬κΈ°μλ κ°μ λ¬Έμ κ° μμ΅λλ€.
κ³΅κΈ μ 체 ν΄λ λ΄λΆμ DefaultValueBinder.php? μλλ©΄ μ΄λμ μμ΅λκΉ? μ¬κΈ°μλ κ°μ λ¬Έμ κ° μμ΅λλ€.
μ£μ‘ν©λλ€. λλ λ ꡬ체μ μ΄μ΄μΌνλ€. λ΄ μ€μΉμμ λ€μ μμΉμ PHPExcel ν΄λμ μμ΅λλ€. PHPExcel \ Cell \ DefaultValueBinder.php
μ€μΉμ λ°λΌ λ€λ₯Ό μ μμ΅λλ€. κ·Έλ¬λ μμ€ν
μμ κ²μμ μ€νν μ μμ΄μΌν©λλ€.
λ΄κ° μκ°νλ λΌμΈμ 82κ° μλλΌ 62μ λλ€. μ€νΈλ μ€λ₯Ό λ°μΌλκΉ μ λκΈΈ λ°λμ. λ΄ νλ‘μ νΈμμ μ€λ₯μ λν ν΄κ²°μ± μ μ°Ύμ μ μμ΅λλ€. μ€λ₯ μ€λ₯ : int '/ Cell / DefaultValueBinder μ νμ κ°μμ λ°°μ΄ μ€νμ μ μ‘μΈμ€νλ €κ³ ν©λλ€. php : 56 '. λλ λμ ν¬λ§μ΄μλ€!
κ²½λ‘ : third_party / PHPExcel / Classes / PHPExcel / Cell / DefaultValueBinder.php
μ¬κΈ°μ third_partyλ PHPExcel ν΄λλ₯Ό λ³΄κ΄ ν μμΉλ₯Ό μλ―Έν©λλ€.
μ΄μ === '='λ₯Ό κ²μνκ³ μΌμΉνλ μ€μ΄ μλμ§ νμΈν λ€μ νΉμ μ€λ‘ λ°κΏλλ€.
0 === strpos ($ pValue, '=')
ν΄μμ λμΌν©λλ€. μ κ²½μ°μλ
$ pValue [0] === '='
PHPExcel νμΌ "DefaultValueBinder.php"μμ λ€μ μ€ 82λ₯Ό λ°κΏλλ€.
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
μ΄λ κ²νλ©΄ "int μ ν κ°μ λν λ°°μ΄ μ€νμ μ‘μΈμ€ μλ"μ€λ₯κ° μμ λ©λλ€. κ·Έλ¬λ "μ€κ΄νΈλ₯Ό μ¬μ©νλ λ°°μ΄ λ° λ¬Έμμ΄ μ€νμ μ‘μΈμ€ ꡬ문μ λ μ΄μ μ¬μ©λμ§ μμ΅λλ€"μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄ PHPExcel μ½λ μ 체μμ μ€κ΄νΈλ₯Ό μ°Ύμμ κ΅μ²΄ν΄μΌν©λλ€.μ΄ μ€λ₯λ λν PHPλ₯Ό 7.4λ‘ μ κ·Έλ μ΄λνλ λ° μν₯μ λ―ΈμΉ©λλ€. λͺ¨λ κ³³μμ "["λ° "]"λ‘ λ체νκ³ λͺ¨λ κ²μ΄ λ€μ μ μμ μΌλ‘ μλν©λλ€.
ν¨κ³Όκ°μλ€! λΉμ μ μ¬λν©λλ€!
PHPExcel νμΌ "DefaultValueBinder.php"μμ λ€μ μ€ 82λ₯Ό λ°κΏλλ€.
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
μ΄λ κ²νλ©΄ "int μ ν κ°μ λν λ°°μ΄ μ€νμ μ‘μΈμ€ μλ"μ€λ₯κ° μμ λ©λλ€. κ·Έλ¬λ "μ€κ΄νΈλ₯Ό μ¬μ©νλ λ°°μ΄ λ° λ¬Έμμ΄ μ€νμ μ‘μΈμ€ ꡬ문μ λ μ΄μ μ¬μ©λμ§ μμ΅λλ€"μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄ PHPExcel μ½λ μ 체μμ μ€κ΄νΈλ₯Ό μ°Ύμμ κ΅μ²΄ν΄μΌν©λλ€.μ΄ μ€λ₯λ λν PHPλ₯Ό 7.4λ‘ μ κ·Έλ μ΄λνλ λ° μν₯μ λ―ΈμΉ©λλ€. λͺ¨λ κ³³μμ "["λ° "]"λ‘ λ체νκ³ λͺ¨λ κ²μ΄ λ€μ μ μμ μΌλ‘ μλν©λλ€.
PHP 7.3μΌλ‘ κ±°μ λ€μ΄ κ·Έλ μ΄λ ν λ λμμ΄λμμ΅λλ€.
PHP 7.4.3 λ° maatwebsite / excel λ²μ 2.1λ‘μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μμ΄λμ΄κ° μμ΅λκΉ?
λ μ΄μ μ¬μ©λμ§ μλ phpexcel ν¨ν€μ§λ₯Ό ν¬ν¬νκ³ ν¬ν¬λ₯Ό μ§μ μ μ§ κ΄λ¦¬ν΄μΌν©λλ€.
} elseif (0 === strpos($pValue, '=') && strlen($pValue) > 1) {
boolμ strpos, rly?
is_bool λ° is_float νμΈ νμ΄ μ½λλ₯Ό λ£μΌμμμ€.
μ½λλμ΄ ν¨ν€μ§μ μΌλΆκ° μλλΌ λ κ±°μ PhpExcelμ μΌλΆμ λλ€.
PHPExcel νμΌ "DefaultValueBinder.php"μμ λ€μ μ€ 82λ₯Ό λ°κΏλλ€.
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
μ΄λ κ²νλ©΄ "int μ ν κ°μ λν λ°°μ΄ μ€νμ μ‘μΈμ€ μλ"μ€λ₯κ° μμ λ©λλ€. κ·Έλ¬λ "μ€κ΄νΈλ₯Ό μ¬μ©νλ λ°°μ΄ λ° λ¬Έμμ΄ μ€νμ μ‘μΈμ€ ꡬ문μ λ μ΄μ μ¬μ©λμ§ μμ΅λλ€"μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄ PHPExcel μ½λ μ 체μμ μ€κ΄νΈλ₯Ό μ°Ύμμ κ΅μ²΄ν΄μΌν©λλ€.μ΄ μ€λ₯λ λν PHPλ₯Ό 7.4λ‘ μ κ·Έλ μ΄λνλ λ° μν₯μ λ―ΈμΉ©λλ€. λͺ¨λ κ³³μμ "["λ° "]"λ‘ λ체νκ³ λͺ¨λ κ²μ΄ λ€μ μ μμ μΌλ‘ μλν©λλ€.
κ³ λ§μμ. κ·Έκ²μ μ¬λ. κ°μ¬ν©λλ€ @burello <3
κ°μ₯ μ’μ λ°©λ²μ νλ‘μ νΈμμ PHPOffice/PhpSpreadsheet
1.10 μ΄μμΌλ‘ μ
λ°μ΄νΈνλ κ²μ
λλ€. ν¨ν€μ§ μ½λλ² μ΄μ€λ₯Ό μλμΌλ‘ νΈμ§ ν νμμμ΄μ΄ μ€λ₯κ° μμ λκΈ° λλ¬Έμ
λλ€. κ·Έλμ λλ₯Ό μν΄
composer require phpoffice/phpspreadsheet "^1.10"
λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
λλμ΄ μ€λ₯κ°μλ€
μ΄λ―Έ λ¨μκ° μλ€
PHPExcel νμΌ "DefaultValueBinder.php"μμ λ€μ μ€ 82λ₯Ό λ°κΏλλ€.
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
μ΄λ κ²νλ©΄ "int μ ν κ°μ λν λ°°μ΄ μ€νμ μ‘μΈμ€ μλ"μ€λ₯κ° μμ λ©λλ€. κ·Έλ¬λ "μ€κ΄νΈλ₯Ό μ¬μ©νλ λ°°μ΄ λ° λ¬Έμμ΄ μ€νμ μ‘μΈμ€ ꡬ문μ λ μ΄μ μ¬μ©λμ§ μμ΅λλ€"μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄ PHPExcel μ½λ μ 체μμ μ€κ΄νΈλ₯Ό μ°Ύμμ κ΅μ²΄ν΄μΌν©λλ€.μ΄ μ€λ₯λ λν PHPλ₯Ό 7.4λ‘ μ κ·Έλ μ΄λνλ λ° μν₯μ λ―ΈμΉ©λλ€. λͺ¨λ κ³³μμ "["λ° "]"λ‘ λ체νκ³ λͺ¨λ κ²μ΄ λ€μ μ μμ μΌλ‘ μλν©λλ€.
μ λ₯Ό μν΄ μΌν΄ μ£Όμ μ κ°μ¬ν©λλ€! orderimportexport.ocmod opencart 3x
PHPExcel νμΌ "DefaultValueBinder.php"μμ λ€μ μ€ 82λ₯Ό λ°κΏλλ€.
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
μ΄λ κ²νλ©΄ "int μ ν κ°μ λν λ°°μ΄ μ€νμ
μ‘μΈμ€ μλ"μ€λ₯κ° μμ λ©λλ€. κ·Έλ¬λ "μ€κ΄νΈλ₯Ό μ¬μ©νλ λ°°μ΄ λ° λ¬Έμμ΄ μ€νμ
μ‘μΈμ€ ꡬ문μ λ μ΄μ μ¬μ©λμ§ μμ΅λλ€"μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄ PHPExcel μ½λ μ 체μμ μ€κ΄νΈλ₯Ό μ°Ύμμ κ΅μ²΄ν΄μΌν©λλ€.μ΄ μ€λ₯λ λν PHPλ₯Ό 7.4λ‘ μ
κ·Έλ μ΄λνλ λ° μν₯μ λ―ΈμΉ©λλ€. λͺ¨λ κ³³μμ "["λ° "]"λ‘ λ체νκ³ λͺ¨λ κ²μ΄ λ€μ μ μμ μΌλ‘ μλν©λλ€.
λλλ€, λ λ κ΅¬ν΄ μ€¬μ΄, μ λ§ κ³ λ§μ
μ΄ μ€μ λ°κΏλλ€ 82 :
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
λλ₯Ό μν΄ μΌνλ ...
PhpSpreadsheet λ΄μ μ€λ₯λ₯Ό PhpSpreadsheetμλ³΄κ³ νμμμ€.
κ°μ₯ μ μ©ν λκΈ
PHPExcel νμΌ "DefaultValueBinder.php"μμ λ€μ μ€ 82λ₯Ό λ°κΏλλ€.
} elseif ($ pValue [0] === '='&& strlen ($ pValue)> 1) {
λ€μκ³Ό ν¨κ» :
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
μ΄λ κ²νλ©΄ "int μ ν κ°μ λν λ°°μ΄ μ€νμ μ‘μΈμ€ μλ"μ€λ₯κ° μμ λ©λλ€. κ·Έλ¬λ "μ€κ΄νΈλ₯Ό μ¬μ©νλ λ°°μ΄ λ° λ¬Έμμ΄ μ€νμ μ‘μΈμ€ ꡬ문μ λ μ΄μ μ¬μ©λμ§ μμ΅λλ€"μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄ PHPExcel μ½λ μ 체μμ μ€κ΄νΈλ₯Ό μ°Ύμμ κ΅μ²΄ν΄μΌν©λλ€.μ΄ μ€λ₯λ λν PHPλ₯Ό 7.4λ‘ μ κ·Έλ μ΄λνλ λ° μν₯μ λ―ΈμΉ©λλ€. λͺ¨λ κ³³μμ "["λ° "]"λ‘ λ체νκ³ λͺ¨λ κ²μ΄ λ€μ μ μμ μΌλ‘ μλν©λλ€.