magento中的CSV文件批量导入,下面直接简单写一个大框的例子:
protected function _prepareForm()
{
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/import'),
'method' => 'post',
'enctype' => 'multipart/form-data'
));
$fieldset = $form->addFieldset('base_fieldset', array('legend' => Mage::helper('coupon')->__('Send Coupon')));
$fieldset->addField(Mage_ImportExport_Model_Import::FIELD_NAME_SOURCE_FILE, 'file', array(
'name' => Mage_ImportExport_Model_Import::FIELD_NAME_SOURCE_FILE,
'label' => Mage::helper('coupon')->__('Select File to Import'),
'title' => Mage::helper('coupon')->__('Select File to Import'),
'required' => true
));
$form->setUseContainer(true);
$this->setForm($form);
return parent::_prepareForm();
}
public function importPostAction()
{
$file = array_shift($_FILES);
$fileHandle = new Varien_Io_File();
if (isset($file['tmp_name']) && $fileHandle->streamOpen($file['tmp_name'], 'r+b')) {
while (($line = $fileHandle->streamReadCsv()) !== false) {
......
}
$fileHandle->close();
}
$fileHandle->rm($file['tmp_name']);
}