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>
行辅助接受与完整表格相同的选项对象
见:模板代码