-2

嗨,我是 Symfony2 的新手,我需要将 Excel 文件上传到 MYSQL 数据库?谁能给我一个如何做的例子?谢谢你拉基

4

2 回答 2

1

首先将:“CodePlex/PHPExcel”:“1.7.7”添加到您的 composer.json 文件并进行更新。

在 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 回答
1

Cerad 的示例是一个选项,但它不使用该捆绑包,也不与 mysql 一起使用,该捆绑包是一个暴露服务的简单依赖项,如果您必须将数据从 excel 存储到 mysql,您需要先在某处上传文件,然后
用服务读取文件,$excelObj = $this->get('xls.load_xls5')->load($filename); 然后你必须阅读 PHPExcel 的文档

希望它有一点帮助

于 2012-12-18T23:22:08.703 回答