设置列宽Excel导出php

时间:2018-01-19 06:47:11

标签: php excel export

我有一个使用php进行excel导出的表单。现在代码运行良好但是所有列看起来都是相同的宽度。我想设置列宽但是我如何设置它。这是我的代码

<form style="display:none" id="sendtable" action="<?php echo PRODUCTS . 'downloadexcel' ?>" method="post">
<input type="button" name="Export Excel"
     value="Export Excel" onclick="callexports();"/>
<div id="tabledata">
<html>
<head>
<style>
  table, th, td {
    border: 1px solid black;
    border-collapse: collapse;
  }
  th, td {
    padding: 5px;
    text-align: left;
  }
  table#t01 {
    width: 100%;    
    background-color: #f1f1c1;
  }
</style>
</head>
<body>
  <table style="width:100%">
    <!-- Column 1 -->
    <colgroup width="80%" style="background-color: green;">
    <!-- Column 2 -->
    <colgroup width="80%" style="background-color: red;">
  <tr>
    <th>#</th>
    <th>Action Items</th>
    <th>Assigned to</th>
    <th>Start date</th>
    <th>End date date</th>
  </tr>
  <tr>
    <?php
    if (isset($this->getallactionitems)):
       $i = 1;
       foreach ($this->getallactionitems as $details):
     ?>
     <td><?php echo $i; ?></td>
     <td style="width: 80%;">
       <?php echo $details['Actions']?></td>
     <td><?php echo $details['Assigned_to']  ?></td>
     <td><?php echo $details['Start_date']  ?></td>
     <td><?php echo $details['End_date']  ?></td>
  </tr>
     <?php $i++ ?>
     <?php endforeach;
        endif; ?>
  </tr>
</table>
<br>
</body>
<input type="hidden" name="tableval" id="tableval" />
</form>

功能下载:

public function downloadexcel() {
        $filename = "Actionitems" . time(); //File Name
        $file_ending = "doc";
//header info for browser
        header("Content-type:application/vnd.msword");
//    header("Expires:0");//no cache
//    header("Cache-Control:must-revalidate,post-check=0,pre-check=0");//no cache
//    header("content-disposition:attachment;filename=sampleword.xlxs");
        header("Content-Type: application/xls");
        header("Content-Disposition: attachment; filename=$filename.xls");
        header("Pragma: no-cache");
        header("Expires: 0");
        Echo $_REQUEST['tableval'];
}

哪个效果很好..但是我想用这个代码设置B列宽。现在所有的列宽似乎都是相同的宽度。如何设置列宽?请帮帮我。

1 个答案:

答案 0 :(得分:0)

你应该检查这个软件包,它非常适合使用excel文件,它有很棒的文档。您不必构建自己的excel文件,只将数据作为数组传递给库。

https://packagist.org/packages/phpoffice/phpexcel