2011-03-31 84 views
0

我正在做一些我们在页面上显示的报告,然后提供一个指向用户下载文件的链接。大多数情况下,对于非常简单的报告,我们只需在下载时设置标题即可将HTML表格推送到xls文件中。在Excel中隐藏​​(来自HTML)

问题是,我似乎无法隐藏Excel中的列,即我的列在网页上不可见,在Excel中显示。我尝试保存一个原始的xls文档,将一列隐藏到HTML中以查看显示的内容,它只是设置width = 0,我尝试复制但它对我无效。

有没有人有任何想法或解决方案,只需在Excel中打开时隐藏整个HTML列?

+0

刚刚意识到'display:none'或'visibility:hidden'完全不起作用,即使当我将它与''标签一起使用 – uXuf 2011-03-31 15:25:17

回答

2

当一个HTML文件被Excel打开时,解析不是特别复杂,并且它不能识别CSS的每个方面。这是因为HTML标记不是电子表格,并且将该格式读取到Excel中的能力比微软公认的电子表格格式更能代表Microsoft的礼貌。

明智的做法,如果你想使用Excel风格更复杂的功能是使用实际编写真正的Excel文件的许多PHP库之一,而不是简单地希望你可以按照HTML来呈现你想要的时候在Excel中打开。就个人而言,我建议PHPExcel,虽然我确实有开发商的既得利益。

+0

我同意,PHPExcel非常出色,我们一直都在使用它。但是这个报告应该是非常简单和快速的,没有使用库来输出xls文件的开销。 – uXuf 2011-04-02 12:27:56

+0

只要您使用HTML,您将无法创建在MS Excel中打开文件时隐藏的列... Excel的HTML解析器并不那么复杂。如果您需要在Excel中打开时隐藏该列,Excel将只在从实际的xls文件读取时识别该列 – 2011-04-02 14:38:24

0

您也可以在页面加载表格时,将某些数组中显示的数据保存起来。然后,您可以通过数组解析并输出“\ n”作为新行,“\ t”作为新的单元格输出到.xls文件处理程序。不确定你希望你的表有多复杂,但这是简单电子表格的简单解决方案。