

### やりたいこと

PHPExelライブラリを使用し、サーバ側に保存されたエクセルファイルをcsvファイルに変換し、  
新たにcsvファイルとして保存したい。

  * サーバ側にすでに保存されたエクセルファイルのイメージ（juchuu.xls）
[code]     item1 item2 item3

    2 3 6
    
[/code]

  * 新たに変換させたいcsvファイル
[code]     item1,item2,item3

    2,3,6
    
[/code]

### 実際のプログラム

  * サーバ側の該当フォルダにjuchuu.xlsが保存されている
  * ライブラリとしてPHPEXLELのプログラム一式がサーバ側に保存されている

[code]

    **<?php
    
    echo "段階0";
    require_once(DIR . "/lib/PHPExcel.php");
    require_once(DIR . "/lib/PHPExcel/IOFactory.php");
    
    echo "段階1";
    // PHPExcelオブジェクトを生成する
    $reader = PHPExcel_IOFactory::createReader("Excel2007");
    
    echo "段階2";
    //Excel読み込み
    book=book=objReader->load('./juchuu.xls');
    
    echo "段階3";
    //CSV保存
    writer=PHPExcelIOFactory::createWriter(writer=PHPExcelIOFactory::createWriter(book, 'csv');
    $writer->save('./juchuu3.csv');?>**
    
[/code]

### できないこと（結果）

  * 段階2 まで表示された
  * 当然、csvファイルも保存されていない。

### おしえていただきたいこと

どこが間違っていますか？

### 参考にした記事

[PHPExcelでxlsファイルをCSVに変換する -
Qiita](https://qiita.com/hodade/items/13aa1df16bb5f4c2702a)


CC BY-SA 4.0
2020-11-09T02:46:53.810
71809
2022-02-02T08:02:05.250
2020-11-09T04:24:46.970
3060
16826
question
php csv excel
phpでエクセルファイルをCSVファイルに変換したい


cubickさんがすでにコメントされていますが、[PHPExcel](https://github.com/PHPOffice/PHPExcel)では

> # PHPExcel - DEAD
>
> * * *
>
> PHPExcel last version, 1.8.1, was released in 2015. The project was
> officially deprecated in 2017 and permanently archived in 2019.
>
> The project has not be maintained for years and must not be used anymore.
> **All users must migrate** to its direct successor PhpSpreadsheet, or
> another alternative.

とありますから、従うべきかと思います。

* * *

>
[code]

>     $reader = PHPExcel_IOFactory::createReader("Excel2007");
>  
[/code]

とりあえず`Excel2007`はいわゆる`.xlsx`形式です。`.xls`形式を扱うのであれば[`Excel5`](https://github.com/PHPOffice/PHPExcel/blob/1.8/Documentation/markdown/ReadingSpreadsheetFiles/01-File-
Formats.md)を指定する必要があります。Qiita記事もそう指定されています。

（ちなみに[キータ](https://help.qiita.com/ja/articles/qiita)なので綴りに`u`が入り込む余地はありません）


CC BY-SA 4.0
2020-11-09T04:36:05.590
71811
2020-11-09T04:36:05.590
4236
71809
answer