wabisoft/spreadsheetobject
CSV、XLS 和 XLSX 文件转换为 Twig 中使用的代码。
1.0.1
2023-06-23 19:48 UTC
Requires
- php: ^8.0
- craftcms/cms: ^4.0.0
- phpoffice/phpspreadsheet: ^1.23
- wabisoft/framework: ^1.1.0
Requires (Dev)
README
{% set table = spreadsheetobject(asset) %}
这返回一个项目数组
- 标题
- 列数
- 行
{% if table %} Name of imported sheet: {{ table.title }} Total Columns: {{ table.columnCount }} <table> {% for row in table.rows %} <tr> {% for column in row %} <td>{{ column }}</td> {% endfor %} </tr> {% endfor %} </table> {% endif %}
选项
支持
sheet
- 要导入的表格的整数。默认为 1;removeRow
- 要删除的行的整数。默认为 falseremoveColumn
- 要删除的列的字母值。默认为 falseremoveColumnByIndex
- 要删除的列的索引值,从 1 开始。默认为 false
示例
{% set table = asset | spreadsheetobject({ 'removeRow': 1, 'removeColumnByIndex': 1 }) %} %}
配置选项
如果表格结果应存储在数据库中以供后续读取。
'storeInDb' => true
命令
插件将监视已删除和更新的资产,但如果您想刷新所有记录
craft spreadsheet-object/flush/all
辅助宏
在 _table-helper
处公开辅助宏,它与表格、行和单元格兼容。
简单的表格示例
{% import '_table-helper' as tableHelper %}
{% set table = asset | spreadsheetobject %}
{{ tableHelper.table(table) }}
完整示例
{% import '_table-helper' as tableHelper %}
{% set table = asset | spreadsheetobject %}
{{ tableHelper.table(table, {
thead: false,
tfoot: false,
classes: {
table: false,
tr: false,
td: false,
th: false,
thead: false,
tfoot: false,
first: {
tr: false,
td: false,
th: false,
},
last: {
tr: false,
td: false,
th: false
}
}
}) }}
见:模板代码
仅行示例
{% import '_table-helper' as tableHelper %}
{% set table = asset | spreadsheetobject %}
<table>
{% for row in table.rows %}
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
</tr>
</thead>
{{ tableHelper.tr(row) }}
{% endfor %}
</table>
行辅助接受与完整表格相同的选项对象
见:模板代码