Php 导出到XLS单元格时如何使宽度适合内容

Php 导出到XLS单元格时如何使宽度适合内容,php,html,excel,export-to-excel,Php,Html,Excel,Export To Excel,我有一个将HTML表格转换为XLS格式的代码,如下所示: $fileNameXls = 'report.xls'; $result = " <table> <tr> <th>Brand</th> <th>Heroes</th> </tr> <tr> <td> Marvel </td> <td> Spiderman, Ba

我有一个将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表中包含行的单元格似乎具有固定的宽度,并且宽度不在行内容宽度之后,因此它会像这样重叠:

$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扩展名。MS Excel仅显示html文件,打开该文件时,可能还会收到一条警告,说明文件格式无效

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


使用代码可以尝试的最好方法是为标记设置近似的列宽。

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

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


您可以尝试使用代码的最好方法是为标记设置近似的列宽。

这就是excel的工作方式从phpIt中无法执行任何操作从phpexcel中无法执行任何操作您可以使用phpexcel类这就是excel的工作方式从phpIt中无法执行任何操作从phpexcel中无法执行任何操作您可以使用phpexcel的html文件class@PeeHaa-确实是Excel女士知道如何读取html文件,但这不是Excel文件格式。使用xls扩展名保存html文件是一种糟糕的做法,MS Excel试图与之抗衡,特别是自从XLSX文件格式发布以来。使用OpenXMLXLSX文件格式,没有理由保存html文件以供MS Excel读取。MS Excel从二进制格式切换为开放文件格式。如果文件格式是扩展名为xls的html文件,最新的MS Excel版本会发出警告,指出该文件格式无效。@PeeHaa-MS Excel确实知道如何读取html文件,但这不是Excel文件格式。使用xls扩展名保存html文件是一种糟糕的做法,MS Excel试图与之抗衡,特别是自从XLSX文件格式发布以来。使用OpenXMLXLSX文件格式,没有理由保存html文件以供MS Excel读取。MS Excel从二进制格式切换为开放文件格式。如果文件格式是扩展名为xls的html文件,则最新的MS Excel版本会发出警告,指出该文件格式无效。