Laravel-excel: 使用字体大小导出时会丢失所有样式吗?

创建于 2017-02-17  ·  3评论  ·  资料来源: Maatwebsite/Laravel-Excel

请为您的问题添加以下前缀之一:[BUG] [PROPOSAL] [QUESTION]。

包版,Laravel 版

包装:2.1
Laravel:5.3

预期行为

为一个单元格导出具有更大字体大小的 xlsx 文件

实际行为

失去所有风格

重现行为的步骤

<table>
    <tbody>
        <tr>
            <td colspan="5" style="text-align: center; font-size: 18px; background: #000000; color: #76933C; font-weight: bold;">Test</td>
        </tr>
    </tbody>
</table>

如果我删除 font-size: 18px ,我会得到一个包含该单元格上其余样式的文件,如果我添加 font-size: 18px 我在打开 excel 文件时收到错误消息:

“我们发现 'example.xlsx' 中的某些内容存在问题。您希望我们尽可能多地尝试恢复吗?”

单击是打开它,但没有样式。

这是在 Microsoft Office Plus 2016 中

最有用的评论

你可以通过不给它一个这样的单位来修复它

<table>
    <tbody>
        <tr>
            <td colspan="5" style="text-align: center; font-size: 18; background: #000000; color: #76933C; font-weight: bold;">Test</td>
        </tr>
    </tbody>
</table>

参考: https :

所有3条评论

我无法重现这一点。

你可以通过不给它一个这样的单位来修复它

<table>
    <tbody>
        <tr>
            <td colspan="5" style="text-align: center; font-size: 18; background: #000000; color: #76933C; font-weight: bold;">Test</td>
        </tr>
    </tbody>
</table>

参考: https :

我也是。 问题是,它不适用于 px。 不仅是内联样式,还有外部 css 文件。 变通方法,由 mrclronald 提供仅适用于 Excel 文件,但不适用于 UI,此外,如果可行,我不想在我需要的所有地方使用内联样式。
如果我在外部 css 中编写: td { width:200px } - 列在 excel 文件中变为 0 px 宽,在 ui 中变为 200px 宽。 否则,如果我使用这样的样式: td { width:200 } - 列在 excel 中变得非常宽,而在 UI 中为 auto

另外,如果您在样式中使用“px”,excel 文件将打开并显示恢复和错误消息:
删除部分:/xl/styles.xml 部分,带有 XML 错误。 (样式)加载错误。 第 2 行,第 0 列。
修复的记录:来自 /xl/worksheets/sheet1.xml 部分的单元格信息

PHP 版本:7.1.13
Laravel 版本:5.6.15
包版本:2.1.27

此页面是否有帮助?
0 / 5 - 0 等级