【问题标题】:yii changing removing and renameing column namesyii 更改删除和重命名列名
【发布时间】:2015-07-02 01:09:28
【问题描述】:

我目前有一份退货单,它会发回拍卖中的物品清单。我要做的是在将数组导出到excel电子表格之前清理数组。我可以使用yii或php在导出前清理select,我只需要知道怎么做。我知道如何使用 mysql 语句来做到这一点,但这在 yii 世界中是不受欢迎的。

这是我当前的代码:

$auction = Btmauctions::model()->findByPk($id);
$listings = $auction->btmListings;
$filename = 'last_lot_export.csv';
$csv = new ECSVExport($listings);
$csv->toCSV($filename); // returns string by default
Yii::app()->getRequest()->sendFile( $auction->name.'_lots.csv' , file_get_contents( $filename ) ); 

这会导出一个如下所示的 csv:

ID| auction_ID| lot| description | manufacturer | model|more_info|  condition
21  10  12  FANUC CIRCUIT BOARD Fanuc   A20B-9000-0180/09C      3
20  10  1   FANUC CIRCUIT BOARD Fanuc   A20B-0008-0242/023A     4
22  10  18  FANUC CIRCUT BOARD  Fanuc   A20B-1003-0010/12B  * A LITTLE DIRTY    3
23  10  19  FANUC CIRCUIT BOARD Fanuc   A20B-1003-0020/03A  *VERY DIRTY!!! *PLASTIC BROKEN ON RISERS!! COSMETIC ONLY!!  3

我需要做的是在导出之前自动清理 cvs,使其看起来像这样:

lot|INFO              | manufacturer| model|  more info |         condition
12  FANUC CIRCUIT BOARD  Fanuc   A20B-9000-0180/09C                     3
1   FANUC CIRCUIT BOARD  Fanuc   A20B-0008-0242/023A                    4
18  FANUC CIRCUT BOARD   Fanuc   A20B-1003-0010/12B * A LITTLE DIRTY    3
19  FANUC CIRCUIT BOARD  Fanuc   A20B-1003-0020/03A *VERY DIRTY!!!

为了总结更改,我需要删除前 2 列,并将 'description' 列重命名为 'INFO'

【问题讨论】:

    标签: php excel csv yii export


    【解决方案1】:

    来自Human Readable headers的应该是这样的

    $headers = array('header_to_change'=>'new value');
    $csv->setHeaders($headers);
    
    // or
    
    $csv->setHeader($currentHeaderValue, $newHeaderValue);
    

    并且只导出您想要的列,我将只选择那些列。看起来 ECSVExport 类可以使用 CArrayDataprovider 作为输入。因此,因此只需选择您要导出的列并用它填充 CArrayDataprovider 并使用您的类导出。

    但您也可以使用“setCallback”函数来删除不需要的列条目或“setExclude”函数。 对于这两个函数,上面给出的链接中都有一个示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-27
      • 2020-01-18
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 2016-12-31
      • 2018-09-21
      相关资源
      最近更新 更多