2

亲爱的大家

我是 PHP 新手,英语不好。

我有一个控制器

function download($id)
{
    $file_name = 'report1';
    $fieldnames ='Tanggal,Bulan,Block,Afdeling,Jumlah Panen Terakhir';
    $query = $this->main_model->get_report($id);
    to_excel($query,$file_name,$fieldnames,$judul);
}

这是我的链接/锚

anchor("report/report/download/$id",'download', array('class' => 'excel'))

这是我的帮手

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function to_excel($query, $filename='exceloutput', $fieldnames)
{
 $columnnames = explode(",", $fieldnames); //better looking column names instead
 $headers = ''; // just creating the var for field headers to append to below
 $data = ''; // just creating the var for field data to append to below

 $obj =& get_instance();

 $fields = $query->field_data();
 if ($query->num_rows() == 0) {
      echo '<p>The table appears to have no data.</p>';
 } else {
       $i = 0;
      foreach ($fields as $field) {

         $headers .= $columnnames[$i]."\t";
         $i++;
      }

      foreach ($query->result() as $row) {
           $line = '';
           foreach($row as $value) {                                            
                if ((!isset($value)) OR ($value == "")) {
                     $value = "\t";
                } else {
                     $value = str_replace('"', '""', $value);
                     $value = '"' . $value . '"' . "\t";
                }
                $value = utf8_decode($value);
                $line .= $value;
           }
           $data .= trim($line)."\n";
      }

      $data = str_replace("\r","",$data);

      header("Content-type: application/x-msdownload");
      header("Content-Disposition: attachment; filename=$filename.xls");
      echo "$headers\n$data";  
 }
 } ?>

这是我的输出

在此处输入图像描述

问题是

'tanggal' mysql 类型是时间戳,但是当我拖动调整单元格大小时,值显示如下

在此处输入图像描述

那么如何在 to_excel_helper 中设置大一个单元格?

以及如何设置标题和边框?

所以它变成了这样

在此处输入图像描述

非常感谢您的关注

这部分让我从 1 周前开始感到压力

所以我需要你的帮助

4

1 回答 1

1

您只是输出 Excel 能够读取的制表符分隔文件。它不包含“真实”Excel 文件的所有功能。因此,您无法控制列宽。

如果您想更好地控制 Excel 格式,我建议您使用 PHPExcel ( http://phpexcel.codeplex.com/ ) 之类的库,它可以让您对格式、大小、颜色等进行大量控制。

PHPExcel 很容易集成到 CI 中。这里有一篇关于它的 wiki 文章:https ://github.com/EllisLab/CodeIgniter/wiki/PHPExcel

于 2012-06-24T00:49:50.580 回答