繁体   English   中英

如何适应 <td> 导出到XLS单元时内容的宽度

[英]How to fit <td> width to content when exporting to XLS cell

我有一个将HTML表转换为XLS格式的代码,如下所示:

$fileNameXls = 'report.xls'; 
$result = "
<table>
  <tr>
    <th>Brand</th>
    <th>Heroes</th>
  </tr>
  <tr>
    <td> Marvel </td>
    <td> Spiderman, Batman, Power Ranger, Power Puffgirl, and booya </td>
  </tr>
</table>
";


$result = $header.$body;
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$fileNameXls");
echo $result;

问题是,当我打开XLS文件时,HTML表中包含行的单元格似乎具有固定的宽度,并且该宽度未跟随行内容的宽度,因此它变得像这样重叠:

例

真正的问题是您没有保存XLS文件,它仍然是HTML,但具有XLS扩展名。 MS Excel仅显示html文件,打开文件时,您可能还会收到警告,提示文件格式无效。

对于真正的Excel文件,应使用PHPExcelEasyXLS之类的Excel库,并且可以自动调整列宽以适合单元格内容。 我还建议您使用最新的XLSX Excel文件格式,而不是旧的XLS文件格式。

您可以尝试使用的最佳代码是为标签设置近似的列宽。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM