简介 #
“复杂报表"是 SmartChart 内置的类 Excel 报表功能,支持直接将数据库查询结果填入表格单元格,并保留表格样式。适合财务报表、统计汇总表等需要明细数据展示的场景。
新建仪表盘 #
- 在开发模式下,滑动“开发管理” ->“仪表盘”-> “新增Dashboard”
- 填写相应信息后点击“保存”
- 点击进入仪表盘开发, 点击右方的编辑进行开发界面
新建Excel场景 #
- 点击右下角的SC图标,再点击左上角的设定
- 进入设定后,选择Excel模板

数据集编辑 #
- 点开“数据集”
- 输入以下SQL后,点击“保存并刷新”, 关闭数据集编辑界面
select H1 as 英雄名称, sum(qty) as 英雄1出场数 from smartdemo2
group by H1 order by sum(qty) desc;
select count(1) as 总出场数 from smartdemo2
多条 SQL 用
;分隔,在报表中分别对应df0、df1两个数据集
报表页面开发 #
- 和excel一样, 编辑相应表格
- 点击"数据集图标”(再次点击隐藏), 显示数据集字段名, 选中单元格, 单击字段名填入

- 点击"获取数据", 可对真实数据调整样式

- 点击"保存"

- 点击"预览", 可查看最终效果

导入EXCEL/WPS开发的模板 #
你也可直接导入excel或wps开发好的模板, 点击左下方的上传即可
关于自动填充方式 #
单元格占位符语法 #
在表格单元格中输入以下格式的占位符,系统将在渲染时自动替换为实际数据:
#df编号.字段名 → 按列方向向下填充(默认)
#df0.英雄名称__ → 按行方向向右填充(末尾加 __)
#df0.英雄名称! → 自动继承单元格字段标识的格式(末尾加 !)
#df0.英雄名称!__ → 同时修改填充方向+继承格式
填充方向 #
默认的填充方向, 是按列方向向下填充 如果需要按行方向向右填充, 可在单元格字段标识后面加上__, 如下:
#df0.英雄名称__
格式填充 #
默认不会填充格式, 采用单元格自身的格式 如果需要自动采用"单元格字段标识"的格式, 可在单元格字段标识后面加上!, 如下:
#df0.英雄名称!
格式填充在数据预览不会生效, 仅在报表预览及用户模式下生效
如果需要同时修改填充方向, 可标识如下:
#df0.英雄名称!__
一、功能概述 #
SmartChart Excel 支持:
| 功能 | 说明 |
|---|---|
| 数据展示 | 通过 #df 占位符绑定数据集字段,自动填充数据 |
| 数据填报 | 通过 #input.字段名 占位符,让用户填写数据并提交 |
| 模板保存 | 开发者设计的表格布局(带占位符)可保存为模板 |
| Excel 导入/导出 | 支持导入已有 Excel 文件,或导出为 xlsx/csv |
二、核心概念 #
模式 B:option.view — 显示风格
#
控制 LuckySheet 的界面显示:
| 值 | 含义 |
|---|---|
true |
纯净查看模式:隐藏工具栏、sheet栏、统计栏 |
false |
完整编辑模式:显示所有工具栏 |
模式 C:option.dev_mode — 数据加载模式
#
| 值 | 含义 |
|---|---|
true |
开发模式:保留 #df/#input 占位符,从存储的 table_data 加载 |
false |
自由模式:从 dataset 自动生成所有单元格数据 |
三、占位符语法 #
3.1 #df — 数据字段绑定
#
#df0.字段名 — 纵向填充(默认)
#df0.字段名__ — 横向填充
#df0.字段名! — 复制源单元格格式
#df0.字段名:N — 最多填充 N 行
示例:
// 纵向填充 city 字段,最多 10 行
#df0.city:10
// 横向填充 name 字段
#df0.name__
// 纵向填充,并复制格式
#df0.salary!
3.2 #input — 用户填报输入框
#
#input.字段名 — 填写单元格,提交时以字段名为 key
示例:
#input.username // 用户填写后提交数据 { username: "用户输入的值" }
#input.email // 用户填写后提交数据 { email: "用户输入的值" }
七、工具栏按钮 #
根据访问模式动态显示不同按钮:
| 按钮 | 图标 | 开发者 | 普通用户 |
|---|---|---|---|
| 导入 Excel | 📂 | ✓ | - |
| 刷新数据 | 🔄 | ✓ | - |
| 数据字段 | 📋 | ✓ | - |
| 保存 | 💾 | ✓ | - |
| 提交填报 | 📤 | - | ✓ (有 #input 时) |
| 重置填报 | 🔄 | - | ✓ (有 #input 时) |
| 导出 | 📥 | ✓ | ✓ |
7.1 提交按钮功能 #
当表格中存在 #input 单元格且用户为查看模式时,工具栏会自动显示提交填报按钮。
八、典型调用示例 #
8.1 开发模式(填报模板设计) #
let dataset = __dataset__;
let options = {
view: true, // 纯净显示
dev_mode: true, // 开发模式
allowEdit: true, // 允许编辑
};
ds_excel_upload('__name__', dataset, options);
8.2 用户模式(数据展示+填报) #
let dataset = __dataset__;
let options = {
view: true, // 纯净显示
dev_mode: true, // 保留 #df/#input 占位符
allowEdit: true, // 允许用户填写 #input
submitId: 1, // 提交按钮使用的 ID(可选,默认 1)
};
ds_excel_upload('__name__', dataset, options);
8.3 纯展示模式 #
let dataset = __dataset__;
let options = {
view: true, // 纯净显示
dev_mode: true, // 开发模式
allowEdit: false, // 只读
};
ds_excel_upload('__name__', dataset, options);