Laravel-excel: ์ฒซ ๋ฒˆ์งธ ํ–‰(ํ—ค๋”)์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2019๋…„ 05์›” 02์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Maatwebsite/Laravel-Excel

๋ฒ„์ „

  • PHP ๋ฒ„์ „: 7.2.17
  • ๋ผ๋ผ๋ฒจ ๋ฒ„์ „: 5.8.15
  • ํŒจํ‚ค์ง€ ๋ฒ„์ „: 3.1

์„ค๋ช…

ํ—ค๋” ํ–‰์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‘ ๋ฒˆ์งธ ํ–‰์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ข‹๋‹ค:

class UsersImport implements ToModel
{
    /**
     * <strong i="13">@param</strong> array $row
     *
     * <strong i="14">@return</strong> User|null
     */
    public function model(array $row)
    {
        return new User([
           'name'     => $row[0],
           'email'    => $row[1], 
           'password' => Hash::make($row[2]),
        ]);
    }
}

๊ทธ๋Ÿฐ๋ฐ ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ? ๋”ฐ๋ผ์„œ ํ—ค๋” ์ด๋ฆ„์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์—ด ์ˆœ์„œ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค

class UsersImport implements ToModel, WithStartRow
{
    ...

    /**
     * <strong i="6">@return</strong> int
     */
    public function startRow(): int
    {
        return 2;
    }
}

๋ชจ๋“  5 ๋Œ“๊ธ€

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค

class UsersImport implements ToModel, WithStartRow
{
    ...

    /**
     * <strong i="6">@return</strong> int
     */
    public function startRow(): int
    {
        return 2;
    }
}

๋‚˜๋Š” ๋‹น์‹ ์ด ์ด๋ฏธ ์ด๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ๋œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค: WithHeadingRow

๋‚˜๋Š” ๋‹น์‹ ์ด ์ด๋ฏธ ์ด๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ๋œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค: WithHeadingRow

๊ทธ๋Ÿฌ๋‚˜ WithHeadingRow ํ•˜๋ฉด ์ธ๋ฑ์Šค๋กœ ํ–‰ ํ•ญ๋ชฉ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฉ‹์ง„!

๋‹ซํ˜€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ @lcardosozago ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

use Maatwebsite\Excel\Concerns\WithStartRow;

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰