您好我是Symfony2的新手,我需要将Excel文件上传到MYSQL数据库吗? 任何人都可以给我一个如何做的例子吗? 谢谢 拉基
答案 0 :(得分: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();
然后离开。
答案 1 :(得分:1)
Cerad的例子是一个选项,但它不使用该bundle,也不能使用mysql, 该bundle是一个公开服务的简单依赖项, 如果必须将数据从excel存储到mysql, 你需要先在某处上传文件,然后再 用服务读取文件, $ excelObj = $ this-> get('xls.load_xls5') - > load($ filename); 然后你必须阅读PHPExcel的文档
希望它有所帮助