Php Magento发票Excel导出-如何更改字段?

Php Magento发票Excel导出-如何更改字段?,php,excel,magento,export,Php,Excel,Magento,Export,我想将一些发票导出到Microsoft Excel/XML。标准格式不太好用,因为我需要一些额外的列 我的问题是:文件在哪里生成?我在哪里设置这些特殊列 提前感谢当InvoiceController调用Mage\u Adminhtml\u Block\u Sales\u Invoice\u Grid上的getExcelFile()时,将执行导出到Excel的操作。发票网格从Mage\u Adminhtml\u Block\u Widget\u网格扩展而来,后者依次在网格的每一行上调用\u exp

我想将一些发票导出到Microsoft Excel/XML。标准格式不太好用,因为我需要一些额外的列

我的问题是:文件在哪里生成?我在哪里设置这些特殊列


提前感谢

InvoiceController
调用
Mage\u Adminhtml\u Block\u Sales\u Invoice\u Grid上的
getExcelFile()
时,将执行导出到Excel的操作。发票网格从
Mage\u Adminhtml\u Block\u Widget\u网格
扩展而来,后者依次在网格的每一行上调用
\u exportExcelItem

\u exportExcelItem
方法使用网格的
\u列
私有变量导出电子表格列

所有这些都表明。。。
Mage\u Adminhtml\u Block\u Sales\u Invoice\u Grid
中的
\u prepareColumns()
方法设置网格中显示的列,以及Excel导出中完全相同的列

如果要添加额外的列,可以重写
Mage\u Adminhtml\u Block\u Sales\u Invoice\u Grid
,并使用以下内容重新定义
\u exportExcelItem()
方法:

$this->addColumn('your_extra_field_name', array(
        'header'    => Mage::helper('sales')->__('Field Title'),
        'index'     => 'your_extra_field_name',
        'type'      => 'relevant_data_type',
    ));
... rinse and repeat ... then finish with
parent::_exportIterateCollection($callback, array $args);
关于StackOverflow和Intertube关于编写自定义模块来扩展一个块的文章有很多,仔细研究一下,然后应用上面的细节

这是config.XML中需要的XML的关键部分:

 <blocks>
        <adminhtml>
            <rewrite>
                 <sales_invoice_grid>Namespace_Modulename_Block_Rewrite_AdminhtmlSalesInvoiceGrid</sales_invoice_grid>
.... 

名称空间\u模块名称\u块\u重写\u AdminhtmlSalesInvoiceGrid
.... 
HTH,

JD

您可以编写一个自定义报告,扩展
Mage\u Adminhtml\u Block\u Sales\u Invoice\u网格(以及容器
Mage\u Adminhtml\u Block\u Sales\u Invoice

它需要做的唯一区别是调用
parent::\u prepareColumns()
,然后添加您自己的列。你也可以用它来移动它们


您还需要制作一个类似于
Mage\u Adminhtml\u Report\u SalesController::invoicedAction()

的控制器。由于没有获得正确的文件,我编写了一个到数据库的全新连接和类。
谢谢你的帮助,但这个解决方案简单多了,它节省了我大约5天的工作

Magento的哪个版本?在哪个文件中可以找到此代码?对不起,我对Magento很陌生。我搜索了整个/app/code/core/Mage/Adminhtml文件夹,但没有找到任何内容。更正:找到文件并立即测试:-)