-2

こんにちは、私は Symfony2 を初めて使用します。Excel ファイルを MYSQL データベースにアップロードする必要がありますか? 誰かがそれを行う方法の例を送ってもらえますか? らきさん、ありがとうございます

4

2 に答える 2

1

Ceradの例はオプションですが、そのバンドルを使用せず、mysqlでも機能しません。このバンドルは、サービスを公開する単純な依存関係です。Excelからmysqlにデータを保存する必要がある場合は、最初にファイルをどこかにアップロードする必要があります。次に
、サービスでファイルを読み取ります。$ excelObj = $ this-> get('xls.load_xls5')-> load($ filename); 次に、PHPExcelのドキュメントを読む必要があります

それが少し役立つことを願っています

于 2012-12-18T23:22:08.703 に答える
1

まず、composer.jsonファイルに「CodePlex / PHPExcel」:「1.7.7」を追加して更新します。

PHPExcelのものとコードの間に位置するクラスを追加します。何かのようなもの:

namespace Cerad\ArbiterBundle\Format;

class Excel
{
    protected function createReaderForFile($fileName,$readDataOnly = true)
    {
        // Most common case
        $reader = new \PHPExcel_Reader_Excel5();

        $reader->setReadDataOnly($readDataOnly);

        if ($reader->canRead($fileName)) return $reader;

        // Make sure have zip archive
        if (class_exists('ZipArchive')) 
        {
            $reader = new \PHPExcel_Reader_Excel2007();

            $reader->setReadDataOnly($readDataOnly);

            if ($reader->canRead($fileName)) return $reader;
        }

        // Note that csv does not actually check for a csv file
        $reader = new \PHPExcel_Reader_CSV();

        if ($reader->canRead($fileName)) return $reader;

        throw new Exception("No Reader found for $fileName");

    }
    public function load($fileName, $readDataOnly = true)
    {
        $reader = $this->createReaderForFile($fileName,$readDataOnly);

        return $reader->load($fileName);
    }
}

これで、コードに次のようなものが含まれます。

$excel = new Excel();
$reader = $excel->load('SomeFileName.xls');

$ws = $reader->getSheet(0);

$rows = $ws->toArray();

そして、離れて処理します。

于 2012-12-18T17:05:28.023 に答える