Laravel-excel: [问题]刀片视图是否支持CSS?

创建于 2018-03-23  ·  29评论  ·  资料来源: Maatwebsite/Laravel-Excel

  • []能够重现代码外部的行为,该问题被隔离到Laravel Excel中。
  • []检查您的问题尚未提交。
  • []检查是否未提交可解决此问题的PR。

版本号

  • PHP版本:7.0
  • Laravel版本:5.5
  • 套件版本:3.0

描述

我正在使用此代码:

<html>
    <h1>{{ $report->title }}</h1>
    <br/>
    <h2>{{ $report->description }}</h2>
    <br/>
    <p>{{ __('excel.dateLabel') }} {{ $date }}</p>
    <br/>
    <table>
        <thead>
            <tr>
                <th>{{ __('excel.firstColumn') }}</th>
                <th>{{ __('excel.secondColumn') }}</th>
                <th>{{ __('excel.thirdColumn') }}</th>
                <th>{{ __('excel.fourthColumn') }}</th>
            </tr>
        </thead>
    </table>
</html>

但是,当我使用类或样式标签时,只能使用背景色。 颜色,字体粗细...不起作用。

重现步骤

<html>
    <h1>{{ $report->title }}</h1>
    <br/>
    <h2>{{ $report->description }}</h2>
    <br/>
    <p>{{ __('excel.dateLabel') }} {{ $date }}</p>
    <br/>
    <table>
        <thead>
            <tr>
                <th style="font-weight : bold">{{ __('excel.firstColumn') }}</th>
                <th>{{ __('excel.secondColumn') }}</th>
                <th>{{ __('excel.thirdColumn') }}</th>
                <th>{{ __('excel.fourthColumn') }}</th>
            </tr>
        </thead>
    </table>
</html>
help wanted

所有29条评论

3.0不再支持通过刀片视图进行样式设置。 您应该使用PhpSpreadsheet方法$worksheet->getStyle('B2:G8')来完成此操作。

在我们的文档中阅读如何调用PhpSpreadsheet方法: https ://laravel-excel.maatwebsite.nl/docs/3.0/export/extending

@patrickbrouwers使用

@ shadoWalker89它引起了很多问题,并且难以维护。 我们从来没有亲自使用过它,因为它也会消耗性能。 我们不会再次实现它,建议大家只使用PhpSpreadsheet样式方法。
如果社区中有人想要维护它,建议您为HtmlReader创建一个程序包。 我很高兴能够与自定义/自己的实现交换HtmlReader。

我将重新打开它,看看是否有人需要帮助。

我试图从视图创建文件,但还要对某些单元格应用粗边框,我在这里使用示例: https :

您是否可以在其中添加一行,以便更清晰地了解如何实现这样的目标? 我敢肯定,很多人将从这样的例子中受益。

我浏览了所有文档很多次,但仍然感到困惑:(

谢谢!

@LastxTemplar您应该查看

好的,您能否至少给我一些有关如何从视图中获取数据到文档示例中的提示? 我正在并行阅读phpspreadsheet和laravel-excel文档,但仍然很难理解如何做到这一点。

如果您愿意,我将在此之后尝试为文档提供一些更实际的示例。 目前的文档非常技术性强,鉴于这些信息,很难快速入门。

我不确定你是什么意思? https://laravel-excel.maatwebsite.nl/docs/3.0/export/from-view是否很实用?

如何在没有HTMLReader的情况下从Blade设置动态视图的样式? 因为使用扩展方法,我无法通过良好的行或列知道我的数据在哪里:/

导出它,打开它,检查坐标,使用坐标吗? 对我来说听起来不像火箭科学吗?

https://phpspreadsheet.readthedocs.io/en/develop/topics/recipes/#styles

不可能导出并打开它来检查坐标,因为每次导出都是唯一的:/

在这种情况下,我无能为力。 您必须自己开发一些东西来解决这个问题。 如前所述:任何人都可以自由维护旧的HtmlReader。

为什么h1或h2或h3有效? :)

检查PhpSpreadsheet的HtmlReader。 开箱即用地支持其中的所有内容。 我们尚未实现自定义。

PhpSpreadsheet的HtmlReader没有引用此内容。 请问您有网址吗? PhpSpreadsheet网站表示有限制,但未列出:/

它确实可以做到: https :

非常感谢 :)

我不是一个幸运的人:/样式颜色在Excel(macOS和Windows)上不起作用,仅在macOS和Numbers上的Preview中起作用:/

@patrickbrouwers

我不确定你是什么意思? https://laravel-excel.maatwebsite.nl/docs/3.0/export/from-view是否很实用?

在更具体的用例中,我的意思是实用。 例如,如果我想使用FromView关心对象,还要在之后将一些样式添加到单元格A3到D5中,我该怎么做? 我可以同时添加FromView和WithEvents关注吗?

是的,您几乎可以同时使用任何顾虑。 该文档有多个合并关注点的示例。

我非常感谢您的帮助,但是它似乎对我没有用,我一定会错过一些东西。
如果您在某个时候有时间,可以看一下这个要点吗?

也许我在那里缺少明显的东西,我想至少看到某种格式,当我用MS Excel打开生成的文件时,甚至“方向”仍然是“纵向”。

您的要点不会导入事件类的名称空间。 因此,逻辑上是行不通的。 有关可用事件的列表,请参见https://laravel-excel.maatwebsite.nl/docs/3.0/export/extending

谢谢帕特里克,成功了!

由于没有人似乎也渴望支持此操作,因此关闭它;)

嗨,如何处理粗体样式的动态行? 我必须列出一些分组的行,并且在每个组之前,我需要添加一个粗体图例。 问题是我不知道每个组有多少行,所以由于我不完全知道行的位置,所以这行不通:

$event->sheet->getStyle('A1:N1')->applyFromArray([ 'font' => [ 'bold' => true ] ]);

样式可以很容易地设置。 为此,请为每个th或td标签设置样式。 例如,您可以将样式写入变量,然后将变量插入标签的style属性中。 这样您就可以轻松制作边框和其他样式。

谢谢你

您建议将所有宏放在哪里?

服务提供者

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