18910140161

将希腊字符输出到CodeIgniter中的excel文件

顺晟科技

2021-07-03 19:26:48

228

我有一个简单的项目与代码点火器3。在其中一个视图中,我有一个数据表,在那里我可以看到一些数据(如订单号、客户名称、交货日期等)。在该视图中,我有一个按钮,根据我检查的行,它创建了一个excel文件,其中包含检查的每个订单的详细信息(用希腊字符表示)。此按钮工作正常。

我想要的是添加另一个按钮,并获得另一个细节较少的文件(例如,只有订单号和交货日期)。

我尝试的方法是:

在表的视图页上,我为新建按钮添加了以下代码:

<a href="#" style="float:right" class="DTTT_button DTTT_button_print" id="ToolTables_data-table_csv3" title="CSV 3" tabindex="0" aria-controls="data-table" onclick="sendordersids()"  ><span>Old Button</span></a> 
<a href="#" style="float:right" class="DTTT_button DTTT_button_print" id="ToolTables_data-table_csv4" title="CSV 4" tabindex="0" aria-controls="data-table" onclick="sendordersids2()"  ><span>New Button</span></a> <-- this is for the new button

这是工作函数sendordersids():

function sendordersids(){
    var vals = [];
    jQuery('.checkorders:checked').each(function(){
        vals.push($(this).val());   
    });
    vals3=vals.toString();
    urlt='<?php echo base_url();?>excel/detailed_export.php?orders='+vals3;
    window.location.replace(urlt);
}

之后为sendordersids2()添加了新函数:

function sendordersids2(){
    var vals = [];
    jQuery('.checkorders:checked').each(function(){
        vals.push($(this).val());   
    });
    vals3=vals.toString();
    urlt='<?php echo base_url();?>excel/quick_export.php?orders='+vals3;
    window.location.replace(urlt);
}

接下来,我创建了quick_export.php文件,它实际上是detailed_export.php的副本,但我不打印我不想要的额外信息。但问题是,它下载的文件,但不会显示希腊字符。现在最令人沮丧的部分是,如果我从quick_export.php复制代码并将其粘贴到detailed_export.php中,它就可以正常工作。

这两个文件之间的区别是(在带有箭头的行中):

<?php
    $base_dir  = __DIR__; // Absolute path to your installation, ex: /var/www/mywebsite
    $doc_root  = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']); # ex: /var/www
    $base_url  = preg_replace("!^${doc_root}!", '', $base_dir); # ex: '' or '/mywebsite'
    $protocol  = empty($_SERVER['HTTPS']) ? 'http' : 'https';
    $port      = $_SERVER['SERVER_PORT'];
    $disp_port = ($protocol == 'http' && $port == 80 || $protocol == 'https' && $port == 443) ? '' : ":$port";
    $domain    = $_SERVER['SERVER_NAME'];
    $ur="http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
    $curl=$_SERVER['REQUEST_URI'];
====>$curl=str_replace("excel/quick_export.php","index.php?admin/orders",$curl);<====
    $curl='http://localhost'.$curl;
    $poss=strpos($curl,"?orders");
    $curl=substr($curl,0,$poss);
?>
<script>
    $(window).load(function() 
    {
        $(".table2excel2").table2excel(
            {
            exclude: ".noExl",
            name: "Excel Document Name",
            filename: "sinoptiko"
            });
        window.location.replace('<?php echo $curl;?>');
    });

有人知道我错过了什么或做错了什么吗。

多谢提醒。


顺晟科技:

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航