【问题标题】:Hiding a <td> (from HTML) in Excel在 Excel 中隐藏 <td>(来自 HTML)
【发布时间】:2016-11-06 05:13:28
【问题描述】:

我正在做一些我们在页面上显示的报告,然后向用户提供下载文件的链接。大多数情况下,对于非常简单的报告,我们只是在下载时通过设置标题将 HTML 表格推送到 xls 文件中。

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

有没有人有任何想法或解决方案来在 Excel 中打开时简单地隐藏整个 HTML 列?

【问题讨论】:

  • 刚刚意识到 display:nonevisibility:hidden 根本不起作用,即使我将它与 &lt;span&gt; 标签一起使用

标签: php html excel html-table


【解决方案1】:

当一个 HTML 文件被 Excel 打开时,解析不是特别复杂,它不能识别 CSS 的每个方面。这是因为 HTML 标记不是电子表格,将这种格式读入 Excel 的能力更像是 Microsoft 的礼遇,而不是公认的电子表格格式。

如果您想使用 Excel 样式的更复杂的功能,明智的做法是使用实​​际编写真正 Excel 文件的众多 PHP 库之一,而不是简单地希望您可以在打开 HTML 时按您的需要进行渲染在 Excel 中。就个人而言,我推荐PHPExcel,尽管作为开发人员之一,我确实有既得利益。

【讨论】:

  • 我同意,PHPExcel 非常棒,我们一直在使用它。但是这个报告应该是非常简单和快速的,没有使用库输出 xls 文件的开销。
  • 只要您使用 HTML,您将无法创建在 MS Excel 中打开文件时隐藏的列... Excel 的 HTML 解析器并没有那么复杂.如果您需要在 Excel 中打开该列时隐藏该列,Excel 只会在从真正的 xls 文件中读取时识别这一点
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 2016-10-22
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    相关资源
    最近更新 更多