嗨,我是 Symfony2 的新手,我需要将 Excel 文件上传到 MYSQL 数据库?谁能给我一个如何做的例子?谢谢你拉基
问问题
2586 次
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 回答