是否可以将列与pdfmake库相加?

时间:2017-04-19 09:46:06

标签: php codeigniter pdfmake

我想总结一列,以便从pdfmake

生成的pdf文件中获取总计

示例数据:

#ID ItemName Description          Unit  Qty  Amount    Subtotal
1   Mawe     Misumari ya ukuta    KG    10    3,000.00  30,000.00
2   Mawe     Misumari ya ukuta    PCS   10   50,000.00 500,000.00
3   Mawe     Kwa ajili ya misingi KG    20    3,000.00  60,000.00

所以我想在导出期间将小计列与pdfmake相加并获得类似

的内容
#ID ItemName Description          Unit  Qty  Amount    Subtotal
1   Mawe     Misumari ya ukuta    KG    10    3,000.00  30,000.00
2   Mawe     Misumari ya ukuta    PCS   10   50,000.00 500,000.00
3   Mawe     Kwa ajili ya misingi KG    20    3,000.00  60,000.00
-----------------------------------------------------------------
Total:                                                 590,000.00
-----------------------------------------------------------------

请知道。

3 个答案:

答案 0 :(得分:1)

我们也可以以此在视图页面中手动计算

<?php $total=0; ?>  
                                    <?php foreach($query as $row): ?>
                                            <?php $total += $row['Subtotal'];?>

                                        <?php endforeach ?>

我们可以通过<?php echo"$total_qty"?>

显示它

答案 1 :(得分:0)

没有。 PDFMake制作PDF但它不是一个计算器而不是真正关心它打印的内容。你需要自己总结一下。

答案 2 :(得分:0)

谢谢大家,我已经解决了,我刚刚使用的是解决方案,我认为它可以帮助那里的人。 希望代码可读且易于理解。再次感谢。

"footerCallback": function ( row, data, start, end, display ) {
                    var api = this.api(), data;
                    var intVal = function ( i ) {
                        return typeof i === 'string' ?
                            i.replace(/[\$,]/g, '')*1 :
                            typeof i === 'number' ?
                                i : 0;
                    };
                    total = api
                        .column( 6 ) //Getting the column # i want to sum
                        .data()
                        .reduce( function (a, b) {
                            return intVal(a) + intVal(b);
                        }, 0 );
                    pageTotal = api
                        .column( 6, { page: 'current'} ) 
                        .data()
                        .reduce( function (a, b) {
                            return intVal(a) + intVal(b);
                        }, 0 );
                    $( api.column( 6 ).footer() ).html(
                        'TZS '+ pageTotal.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",") +'/='+
                        '( TZS '+ total.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",") +'/= total)'
                    );
                }