Spreadsheets

概览文档演示版本历史

Spreadsheets 文档

Table of contents

Qlik 的 Spreadsheets Extension

下载与安装

Qlik Sense Desktop

要在 Qlik Sense Desktop 中安装 Spreadsheets Extension,请执行以下操作: 

  1. 下载适用于 Qlik Sense 的 Spreadsheets Extension 。 
  2. 解压压缩包。 
  3. 打开 Windows 资源管理器窗口并导航至 Qlik Sense Extensions 目录: 
    ..\Users\<UserName>\Documents\Qlik\Sense\Extensions. 
  4. 将 anychart-4x-spreadsheets 文件夹复制到 Extensions 目录。 
  5. 重新启动 Qlik Sense Desktop。 

Qlik Sense Server

要在 Qlik Sense 服务器上安装 Spreadsheets Extension, 

  1. 下载适用于 Qlik Sense 的 Spreadsheets Extension 。 
  2. 打开 Qlik Management Console (QMC):https://<QPS server name>/qmc 
  3. 在 QMC 首页或从“开始”下拉菜单中选择 Extensions。 
  4. 点击操作栏中的 Import。 
  5. 在对话框中,选择下载的压缩包。将密码区域留空。 
  6. 在文件资源管理器窗口中点击“打开”。 
  7. 点击 Import。 

Qlik Sense Cloud

要在 Qlik Sense Cloud 中安装 Spreadsheets Tree Extension,请执行以下操作: 

  1. 下载适用于 Qlik Sense Cloud 的 Spreadsheets Extension 。 
  2. 解压压缩包。 
  3. 访问 Management Console: 
    1. 在您的租户地址后添加 /console:https://<your tenant address>/console 
    2. 或使用枢纽中用户个人资料下的导航链接 Administration 
  4. 转到 Extensions 页面并点击 Add。 
  5. 在对话框中,选择包含 bundle 中扩展的压缩包 —— 例如 anychart-4x-spreadsheets.zip。 
  6. 点击 Add。 
  7. 重复上述步骤以添加其他扩展。 
  8. 在 Management Console 中,转到 Content Security Policy 部分并点击 Add。 
  9. 在对话框中,为 Content Security Policy 命名 —— 例如 AnyChart。 
  10. 输入源服务器的地址:qlik.anychart.com 
  11. 选择以下指令: 
    1. connect-src 
    2. font-src 
    3. img-src 
    4. script-src 
    5. style-src 
  12. 点击 Add。 

概述

AnyChart Spreadsheets 将类似于 Excel 的强大表格编辑体验直接引入 Qlik Sense。通过对原生 Excel 公式、丰富的格式设置、多工作表设置和交互式数据探索的支持,该 Extension 使用户能够以全功能电子表格的灵活性来操作和分析数据。

浏览 Quick Start 部分以获得对 Spreadsheets Extension 的实际操作经验。

 

Quick Start

创建一个基础表格

本教程将引导您从头开始创建一个基础的 Spreadsheets 可视化。

视频演示

步骤 1:添加一个空的可视化

  1. 在您的 Qlik Sense 应用程序中,转到 Assets Panel 。 
  2. 导航至 Custom objects > AnyChart 4 。 
  3. Spreadsheets 可视化拖放到您的工作表上。 

步骤 2:开启 Autosave

  • 选择该可视化并打开 Properties Panel
  • 转到 Settings -> Autosave 部分
  • 选择 Browser IndexedDB 存储选项
     

步骤 3:添加一个 Data Section

  1. 转到 Data 部分。 
  2. 点击 Add 按钮创建一个新的 Data Section。 
  3. 选择新创建的 Data Section。 
  4. 确保 Create synced sheet 开关已开启。 
  5. 点击 Edit data 并选择 Data 。 
  6. 添加您需要的 Columns。 

 

完成这些步骤后,您的可视化将包含: 

  • 一个空工作表:Sheet1 
  • 一个来自 Data Section 的已填充数据的工作表:DataSheet1 

 

image1.png

步骤 4:格式化电子表格

  1. 删除空工作表:
    1. 右键点击 Sheet1 并选择 Delete。
  2. 在剩余的数据工作表上创建一个表格:
    1. 选择所有包含数据的单元格。
    2. 转到 Ribbon Menu 中的 INSERT 部分。
    3. 点击 Table,然后在弹出窗口中确认。
  3. 调整格式:
    1. 根据需要调整列宽和行高。
    2. 使用 HOME 选项卡自定义字体样式。
    3. 选择您的标题单元格并使用 Font Alignment 下的对齐工具。


3.png

 

 


 

步骤 5:添加图表

  1. 选择所有包含数据的单元格。 
  2. 转到 Ribbon Menu 中的 INSERT 选项卡。 
  3. 点击 Insert Chart 并选择适合您数据的图表类型。 
  4. 点击 OK。 

将您的图表重新放置在工作表上的任何位置。

可选:将您的电子表格导出为 Excel

如果您想在 Excel 等其他工具中继续工作: 

  1. 转到 Ribbon Menu 中的 FILE 选项卡。 
  2. 点击 Export 。 
  3. 选择 Excel file 选项。 
  4. 使用 Save Flags 配置您的导出设置。 
  5. 点击 Export Excel File 按钮。 
  6. 在弹出窗口中为您的文件命名并点击 OK。 

之后,下载将自动开始,您的 .xlsx 文件将准备好在 Excel 或任何兼容软件中打开。 

使用现有的 Excel 模板

 

本指南将引导您如何使用 AnyChart Spreadsheets Extension 在 Qlik Sense 中将 Excel 模板转换为完全交互式的、数据驱动的电子表格。 

视频演示

前提条件

步骤 1:将数据加载到 Qlik

  1. personal-budget.xlsx 文件上传到 Qlik 应用程序的 Attached Files。 
  2. 打开 Data Load Editor 并使用以下脚本加载 Budget 和 Transactions 表: 
LOAD 
Category, 
Budget 
FROM [lib://AttachedFiles/personal-budget.xlsx] 
(ooxml, embedded labels, header is 3 lines, table is Budget) 
Where Upper(Trim(Category)) <> 'TOTAL'; 
LOAD 
"Date", 
Description, 
Category, 
Amount 
FROM [lib://AttachedFiles/personal-budget.xlsx] 
(ooxml, embedded labels, header is 1 lines, table is Transactions); 
  1. 点击 Load Data。 

步骤 2:添加 Spreadsheets Extension

  1. 在您的 Qlik 应用程序中创建一个新工作表并打开它。 
    进入 Edit Mode。 
  2. Custom Objects > AnyChart 部分,将 Spreadsheets Table 可视化拖放到画布上。 

步骤 3:开启 Autosave

  1. 选择该可视化并打开 Properties Panel
  2. 转到 Settings -> Autosave 部分
     

步骤 4:导入 Excel 模板

  1. 选中可视化后,转到功能区菜单中的 FILE 选项卡。 
  2. 点击 Import Excel File 。 
  3. 选择 personal-budget.xlsx 文件。 

该模板包含两个工作表: 

  • 一个 Budget 工作表 
  • 一个 Transactions 工作表 

步骤 5:创建 Data Sections

  • 打开 Properties Panel 并导航至 Data 选项卡。 
  • 点击 Add 创建第一个 Data Section: 
    • 添加维度: 
      • Category 
    • 添加度量: 
      • Sum(Budget) 
      • Sum(Amount) 
      • Sum(Budget) - Sum(Amount) 
  • 再次点击 Add 创建第二个 Data Section: 
    • 添加维度: 
      • Date 
      • Description 
      • Category 
    • 添加度量: 
      • Sum(Amount) 
  • 自定义度量标签(例如,将 Sum(Amount) 重命名为 Amount )。 

步骤 6:为 Qlik 数据准备模板

  1. 在电子表格视图中切换到每个工作表。 
  2. 清除将注入 Qlik 数据的静态单元格值。 
  3. 使用功能区将这些单元格的格式设置为 General(这对于公式正常工作非常重要)。 

步骤 7:插入 QLIK.DATA 公式

Budget 工作表
  1. 在预算表的起始单元格(例如 A4)中,输入: 

=QLIK.DATA(0,,,TRUE,”TOP”) 

这将从第一个 Data Section 提取数据,并同时启用标签和总计。 

  1. 将数据单元格(例如 Budget、Amount 和 Difference 列)格式化为 Currency 。 
Transactions 工作表
  1. 在交易表的起始单元格(例如 A2 )中,输入: 

=QLIK.DATA(1,,,TRUE) 

这将使用第二个 Data Section 并显示标签。 

  1. Date 列格式化为 Short Date ,将 Amount 列格式化为 Currency 。 

步骤 8:最终格式化并保存

  1. 进行任何最终的格式调整。 
  2. 点击功能区中的 USER 选项卡,然后选择 Save to app 以存储您的更改。 

结果

您现在拥有一个完全交互式的电子表格,它结合了: 

  • 熟悉的 Excel 布局 
  • 实时的 Qlik 数据 
  • 使用 QLIK.DATA 的动态计算 

演示

即将推出。 

工作表

Spreadsheets Extension 支持跨多个工作表工作 —— 就像在 Excel 中一样 —— 使您能够在工作簿的逻辑层中组织数据、计算和布局。 

每个工作表可以包含以下内容的混合: 

  • 静态值 —— 手动输入的文本或数字。 
  • 函数 —— 包括对其他单元格、范围或计算的引用。 
  • 数据链接单元格 —— 从 Qlik 数据或 QLIK 公式动态填充。 

工作表完全独立: 

  • 您可以在每个工作表上使用不同的布局和设计。 
  • 每个工作表可以显示不同的超立方体数据,或者根本不显示。 
  • 一个工作表上的结构和格式不会干扰另一个工作表。 

工作表间的引用

就像在 Excel 中一样,您可以使用 SheetName!CellReference 格式引用来自其他工作表的单元格。 

例如:=Sheet2!A1 

此公式从名为 Sheet2 的工作表上的单元格 A1 提取值。 

这使得创建摘要工作表、汇总值或构建结合了多个工作表输出的仪表板变得容易。 

您可以自由重命名工作表并重新排列它们的标签,从而在设计工作簿结构方面提供灵活性。 

数据

Spreadsheets Extension 引入了一种数据模型,将 Qlik 的关联引擎与灵活的、类似于 Excel 的编辑环境集成在一起。本节介绍 Qlik 数据在 Extension 内部的结构以及如何将其连接到电子表格内容。 

Data Sections

Data Sections 定义了基于 Qlik 维度和度量构建的可重用数据集。这些充当 Qlik 和 Spreadsheets 画布之间的桥梁。 

Data Sections 概述

  • 一个 Data Section 由 Columns 组成,其中每列是来自 Qlik 的 Dimension Measure 。 
  • Columns 的顺序是可自定义的。 
  • Data Sections 通过 Spreadsheets Extension 的 Properties Panel 进行管理。 
  • 每个 Data Section 可以在多个工作表或表格中重复使用,并支持多种连接模式(参见 Connecting Data Sections )。 

总计

每个 Data Section 支持针对度量列的自动总计: 

  • 在 Data Section 配置的 Presentation 选项卡中启用总计。 
  • 配置: 
    • 位置:Top / Bottom / None 
    • 标签:自定义文本(例如,“Total”、“Summary”) 

总计由 Qlik 计算并根据选择动态更新。 

Data Section 中的每一列代表一个 Qlik 维度或度量,类似于原生 Qlik 表格中的字段。列在电子表格中呈现,以显示来自 Qlik 引擎的实际值。 

默认情况下,列按照添加的顺序(从上到下)呈现,从工作表的左上角或分配的数据区域开始。 

范围

您可以选择性地为每列指定一个范围,以控制其值在工作表中的具体显示位置。 

  • 示例(垂直):C1:C5 将把列的值放入单元格 C1 到 C5。 
  • 示例(水平):C3:H3 将跨第 3 行水平填充单元格。 

只有 符合定义的范围 的值才会显示。如果存在的值多于可用单元格,该列将 自动截断。 

确保数据范围符合工作表 

当为列使用自定义范围时 —— 无论是垂直(例如 C1:C10)还是水平(例如 C3:H3) —— 确保电子表格有足够的空间来显示数据非常重要。 

呈现的数据必须符合当前工作表范围,该范围由可见行数和列数定义。如果指定的列范围超过这些限制,某些数据可能会被截断、无法正确呈现或导致意外行为。 

调整工作表尺寸 

为避免此类问题: 

  1. 转到 Ribbon Menu 中的 Settings 选项卡。 
  2. 选择 Sheet Settings 下的 General。 
  3. 根据需要增加 Row Count 和/或 Column Count。 

6.png

已知行为和限制: 

  • 滚动:范围设置可能会影响滚动行为(参见 Scrolling 章节 )。 
  • 偏移量:如果不同的列具有不同的起始位置(例如 A1、B5、C10),数据加载和滚动将基于 第一列的 偏移量进行对齐。 
  • 混合偏移量:使用不统一的起始点(如 A3、C5、E7)可能会在数据加载期间导致间隙或意外的呈现。 
  • 数据加载:在计算要提取多少行时,首次加载和滚动触发的加载始终遵循第一列的偏移量。 

连接 Data Sections

一旦定义了 Data Section,您可以通过三种主要方式将其连接到电子表格: 

Data Sections 概述

每种连接方法在自动化和控制之间提供了不同的平衡,并适用于不同的用例,每种方法都有其优缺点: 

方法 用例 控制 最适用于 
Synced Sheet(默认) 自动为新工作表填充数据 低 快速预览,每个工作表一个 section 
Table Binding 将 Data Section 链接到电子表格表格 中 表格数据视图,固定布局 
QLIK Formulas 通过公式手动插入数据 高 自定义模板,高级布局 

创建同步工作表 (Synced Sheet)

  • 在添加 Data Section 时通过 "Create Synced Sheet" 开关启用。 
  • 自动创建一个以 section 标签命名的工作表并注入数据。 
  • 适用于快速迭代和测试新的数据配置。 

🛈 如果 Data Section 发生更改,工作表将自动更新。 

表格绑定 (Table Binding)

将 Data Section 直接绑定到电子表格内部的现有表格。 

步骤: 

  1. 在电子表格视图中选择一个表格。 
  2. 转到 Ribbon Menu 中的 Table Design 选项卡。 
  3. 打开 Select Source 下拉菜单。 
  4. 选择一个 Data Section。 

该表格将自动填充来自所选 section 的数据,并按顺序映射列。 

这对于预先设计的布局,或者当您想在实时 Qlik 数据上使用 Excel 功能(如结构化表格公式、格式化或图表)时非常理想。 

QLIK 公式 (QLIK Formulas)

高级用户可以使用支持 Qlik 的公式手动插入数据。这些公式允许对布局和逻辑进行完全控制: 

除了上述数据绑定函数外,QLIK.EXPRESSION() 公式允许您直接在电子表格中评估任意 Qlik 表达式 —— 动态反映 Qlik 选择中的更改。 

🛈 注意:由于这些公式由实时 Qlik 数据驱动,Qlik 应用程序中的更新(例如过滤器、选择或基础数据更改)将立即影响电子表格。这可能会导致填充单元格的数量增加或减少,因此请相应地规划您的布局。 

有关详细语法和示例,请参阅 Qlik-Related Functions 部分 

Qlik 选择

如果您的电子表格是基于 Data Sections构建的,它将动态响应 Qlik 选择。 

您也可以直接从 Spreadsheets Extension 执行 Qlik 选择。 

如何从电子表格应用选择

  1. 选择您想要过滤的单元格。 
  2. 右键点击所选内容。 
  3. 从上下文菜单中选择 Qlik Select。 

5.png

Spreadsheets Extension 将自动检测有效的选择并将其应用于 Qlik 应用程序。 

Excel 函数

该 Extension 支持大多数原生 Excel 函数,包括: 

  • 数学和三角函数:SUM, AVERAGE, ROUND, INT 
  • 逻辑函数:IF, AND, OR, NOT 
  • 文本函数:CONCATENATE, LEFT, RIGHT, TEXTJOIN 
  • 查找函数:VLOOKUP, INDEX, MATCH 
  • 日期和时间函数:TODAY, NOW, DATEDIF, EOMONTH 
  • 数组函数:UNIQUE, SORT, FILTER 

以及许多其他函数。 

欢迎在 Ribbon Menu 的 Formulas 部分探索可用 Excel 函数的完整列表 

6.png

Qlik 相关函数

Spreadsheets Extension 支持一组 Qlik 特定的公式,允许您直接在电子表格单元格中与 data sections 交互、提取值、标签、总计或评估表达式。 

每个函数异步运行,并根据 Qlik 的关联模型返回动态值。 

QLIK.DATA

从预先配置的 Data Section 获取并插入数据值。 

= QLIK.DATA(data_section_label_or_index, [column_label_or_index], [is_horizontal], [show_label], [show_total], [limit]) 

参数:

  • data_section_label_or_index —— Data Section 的标签或索引。 
  • column_label_or_index ——(可选)列(维度或度量)的标签或索引。 
  • is_horizontal ——(可选)如果为 true,数据将水平填充而不是垂直填充。 
  • show_label ——(可选)如果为 true,则包含列标签。 
  • totals_position ——(可选,枚举)控制是否以及在何处插入总计值。 
    • "INHERIT" —— 使用 Qlik 面板(定义部分)中定义的总计设置。 
    • "TOP" —— 在数据范围上方插入总计值。 
    • "BOTTOM" —— 在数据范围下方插入总计值。 
    • "NONE"(默认) —— 不插入总计。 
    • 🛈 无效值将被视为 "NONE"。 
  • limit ——(可选)设置要从 Data Section 返回的最大行数(如果为水平填充,则为列数)。这与在 Data Section 中设置限制不同,这是对行数的硬性限制,如果您需要对度量进行适当的限制,请使用 Data Section 的限制功能。 

用例:

  • 将 Qlik 数据嵌入到特定的电子表格区域。 
  • 独立地为工作表填充多个数据集。 
  • 在不希望自动进行工作表到 section 绑定时显示数据。 

QLIK.DATA.LABEL

从 Data Section 返回特定维度或度量的标签。 

=QLIK.DATA.LABEL(data_section_label_or_index, column_label_or_index) 

参数:

  • data_section_label_or_index —— Data Section 的标签或索引。 
  • column_label_or_index —— 维度或度量的标签或索引。 

用例:

  • 动态显示列标题。 
  • 使用灵活的数据输入构建通用或可重用的模板。 

QLIK.DATA.TOTAL

返回 Data Section 中特定度量的总聚合值。 

=QLIK.DATA.TOTAL(data_section_label_or_index, column_label_or_index) 

参数:

  • data_section_label_or_index —— Data Section 的标签或索引。 
  • column_label_or_index —— 列的标签或索引。 

用例:

  • 在主数据块之外显示总计行或摘要 KPI。 
  • 在不手动求和的情况下引用 Qlik 计算的总计。 

QLIK.EXPRESSION

评估 Qlik 表达式并返回结果。 

=QLIK.EXPRESSION("=Today()") 

参数:

  • query_string —— 用引号括起来的 Qlik 表达式(必须以 = 开头)。 

用例:

  • 显示聚合度量 (KPI) 
    • =QLIK.EXPRESSION("=Sum(Sales)") 
    • 结合电子表格功能(如条件格式)来突出显示: 
      • 如果高于目标则显示绿色 
      • 如果低于目标则显示红色 
  • 显示应用的选择 
    • =QLIK.EXPRESSION("=GetSelectedCount(Country)") 
    • =QLIK.EXPRESSION("=GetFieldSelections(Region, ' | ')") 
  • 显示系统值 
    • =QLIK.EXPRESSION("=Now()") 
    • =QLIK.EXPRESSION("=OSUser()") 
    • =QLIK.EXPRESSION("ReloadTime()"

 

实时表达式评估

QLIK.EXPRESSION() 返回的所有值都是动态的,并根据以下内容实时更新: 

  • 在 Qlik 应用程序中进行的选择 
  • 基础数据的更改 
  • 系统或会话上下文 

这些值可以在会话或用户之间更改 —— 非常适合实时仪表板或个人视图。 

提示:将此函数与原生 Excel 逻辑(IF、TEXT、ROUND 等)一起使用,直接在电子表格中创建智能仪表板。 

实际示例

KPI

可以基于 Qlik 公式构建 KPI,然后应用条件格式规则以直观地突出显示结果。 

1. 插入 KPI 公式 

在单元格中输入 Qlik 表达式。例如,要计算总利润: 

=QLIK.EXPRESSION("=GetFieldSelections(Region. '|')") 

7.png

2. 应用条件格式 

使用电子表格的条件格式功能,根据 KPI 结果动态设置单元格样式。 

示例规则: 

  • 如果总利润大于 2,400,000,000,则显示绿色 
  • 如果总利润小于 2,400,000,000,则显示红色 

8.png

3. 实时更新 

在 Qlik 中应用选择时,KPI 值将自动更新,并且格式将实时重新评估。 

这使得构建实时 KPI 仪表板变得容易,其中的视觉指示器会立即响应 Qlik 过滤器和选择。 

选择状态横幅 (Selection Status Banner)

选择状态横幅允许您显示 Qlik 应用程序中当前选择了哪些值。这使得在电子表格报告中提供上下文变得容易,确保最终用户始终知道哪些过滤器处于活动状态。 

与简单的 KPI 不同,这里我们使用了结合了多个函数( IF, GetSelectedCount(), GetFieldSelections() )的更复杂的 Qlik 公式。这表明您不限于基本表达式 —— 可以构建灵活的公式以匹配您的确切报告需求。 

1. 插入选择公式 

显示所选的 Region: 
=QLIK.EXPRESSION("=IF(GetSelectedCount(Region) = 0, 'No selection (All Regions)', GetFieldSelections(Region, ' | '))") 

显示所选的 Country: 
=QLIK.EXPRESSION("=IF(GetSelectedCount(Country) = 0, 'No selection (All Countries)', GetFieldSelections(Country, ' | '))") 

2. 带有活动选择的结果 

当用户在 Qlik 应用程序中应用选择时,横幅会自动更新以反映所选的值。 

如果在 Region 中选择了 Europe → 单元格显示 Europe。 

如果在 Country 中选择了 Germany, Latvia, Lithuania → 单元格显示 Germany | Latvia | Lithuania

此示例使用 IF 包装器来处理“未选择”的情况,但您可以调整逻辑: 

  • 将文本字符串替换为您自己的措辞("All Regions" → "所有值")。 
  • 将多个字段连接到一行(例如 Region + Year)。 
  • 应用条件格式以在过滤器太窄或太宽时突出显示。 

应用程序和系统元数据 (实时)

可以使用 Qlik 系统函数直接在电子表格中显示应用程序元数据。这确保了每份报告都能清楚地传达其来源应用程序以及数据的最后刷新时间。 

1. 插入元数据公式 

文档名称: 

=QLIK.EXPRESSION("=DocumentName()") 

重新加载时间戳: 

=QLIK.EXPRESSION("=ReloadTime()") 

11.png

格式化

Spreadsheets Extension 在功能区面板中提供了一套全面的格式化工具,按部分组织。以下是 Home 选项卡中最常用的工具,可帮助您快速设置电子表格内容的样式和结构。 

Home

  • Fonts :字体大小、颜色、加粗、倾斜、下划线、背景填充、边框 
    12.png
  • Text Aligning :垂直和水平对齐、方向、缩进、换行、合并及居中 
    12.png
  • Number formats :货币、百分比、自定义格式 
    13.png
  • Cell Styling :条件格式、表格格式、单元格样式、单元格编辑器 
    14.png
  • Cells :插入、删除、格式 
    15.png
  • Editing :插入函数、填充、清除、排序和筛选、查找 
    16.png

 

 

滚动 (Scrolling)

Spreadsheets Extension 实现了垂直滚动,以支持与大型数据集的顺畅交互,尤其是在使用连接 Qlik 的 Data Sections 时。此行为是自动的,取决于工作表类型以及数据的连接方式。 

本节介绍滚动如何影响数据加载和呈现,并概述高级用例的重要细节。 

滚动通用事项

  • 当用户垂直滚动并接近可见区域的底部时,系统会检查是否应添加更多行或加载数据。 
  • 水平滚动仅支持导航,不会触发数据加载或范围扩展。 

同步数据工作表 (Synced Data Sheets)

当为 Data Section 使用 Create Synced Sheet 时,电子表格将通过在滚动时加载更多行来自动处理大型数据集。 

当您向下移动工作表时,如果有更多 Qlik 数据可用,它将无缝显示在可见行下方 —— 无需手动触发或重新加载任何内容。这使得处理长表格感觉流畅且不间断。 

如果没有更多数据可加载,工作表仍会允许您进一步滚动,但新行将显示为空。 

此行为确保: 

  • 滚动时永远不会遇到硬停止。 
  • 新数据仅在需要时出现。 
  • 即使在到达数据末尾时,布局也能保持一致。 

您可以通过调整工作表设置中的 Rows Count 设置来控制初始加载的数据量。 

在其他工作表上

未通过 Create Synced Sheet 链接到 Data Sections 的工作表在滚动期间不会触发任何自动行添加或数据加载。 

范围偏移和数据加载

系统在计算数据加载行为时会遵循 Data Section 中第一列的范围偏移。 

  • 如果第一列的范围从较低的行开始(例如 A100),工作表将从该位置开始呈现。 
  • 所有滚动和数据提取逻辑均基于该第一列的偏移量。 

限制和边缘情况

  • 水平范围(例如 A1:Z1)将正确呈现第一组值的数据,但在垂直滚动期间不支持额外的数据加载。在这种情况下,用户必须手动管理布局和可见性。 
  • 混合列偏移(例如 A1、B5、C10)可能会导致: 
    • 对齐不一致 
    • 显示数据中存在间隙 
    • 数据看起来仅部分加载 

无论其他列如何配置,数据提取始终与第一列的偏移量对齐。 

性能注意事项

具有大偏移量或非常高行数的自定义范围会显着增加加载期间的数据量。 

例如: 

  • 具有 5 列且用户定义行限制为 10,000 的 Data Section 将尝试加载并呈现 50,000 个单元格。 
  • 这可能会影响性能,尤其是在较旧的浏览器或低端机器上。 

为了保持响应性,请考虑: 

  • 尽可能限制行数。 
  • 避免不必要的大起始偏移量。 

打开 / 保存

文件菜单中的打开 / 保存功能允许您保留、重用和共享电子表格的内容。 

您可以从 2 个存储位置中选择保存和加载电子表格配置。每个选项都可以在 Properties Panel 中启用或禁用。一旦启用,相应的部分将出现在文件菜单中。

选项 1:桌面 (Desktop)

  • 将您的电子表格配置作为 JSON 文件保存在您的计算机上。 
  • 最适合直接与个人用户共享或保留私人副本。 

要打开保存的文件: 

  1. 转到文件菜单 → Open → Desktop。 
  2. 点击 Select File。 
  3. 选择之前保存的 JSON 配置文件。 

选项 2:内容库 (Content Library)

  • 将您的配置作为 JSON 文件保存在所选的 Qlik 内容库中。 
  • 与桌面选项类似,但文件存储在 Qlik 中而不是本地。 
  • 最适合维护多个版本的电子表格设置,供所有具有内容库访问权限的用户访问。 

提示:对于不需要保存的临时更改,请使用 Autosave 功能。 

Autosave

Autosave 功能允许您保留电子表格中的更改,而无需显式地将它们保存到稳定配置中。 

启用后,您所做的任何更改都会在停止操作 3 秒后自动记录。这些自动保存的更改存储在浏览器的本地,仅供您使用(不与其他用户共享)。 

有三个存储选项: 

22.png

选项 1:Window Session

  • 将当前配置保存在您的浏览器会话中。 
  • 只要浏览器窗口保持打开状态,更改就一直可用。 
  • 关闭浏览器将放弃所有自动保存的更改。 

选项 2:Browser IndexDB

  • 将当前配置保存在浏览器的 IndexedDB 存储中。 
  • 即使在关闭并重新打开浏览器后,更改也会被保留。 
  • 最适合跨多个会话保留您的个人正在进行的工作。 

选项 3:Disabled

  • 完全关闭 Autosave。 
  • 不会自动保留任何更改。 

注意:使用 Window Session 进行临时工作,使用 IndexedDB 进行持久的个人草案,或者如果您只想手动保存,则使用 Disabled。同时,不建议使用 Autosave 长期存储有影响的更改。考虑对长期更改使用 稳定保存选项 。 

版本历史 (Version History)

启用 Autosave 功能后,Version History 选项将在文件菜单中可用。

Version History 允许您访问所有有权访问该应用程序的授权用户的最新自动保存版本。
换句话说,当用户对电子表格进行更改时,他们最近的自动保存版本将出现在 Version History 选项卡中 —— 从而可以轻松查看和恢复它们。

您可以浏览每个保存的版本以检查其内容。
点击 Apply 将选定的版本恢复为当前的电子表格状态。

  • 如果您不是 Qlik 应用程序的所有者,则应用的版本将仅影响您个人最后保存的电子表格版本。
  • 如果您是应用程序的所有者,则应用版本将为所有用户更新电子表格的默认配置。

导入 / 导出

Spreadsheets Extension 提供了强大的导入和导出工具,可实现与外部文件和软件的平滑交互 

导入 Excel 或 CSV 文件

要导入数据,请打开功能区菜单中的 FILE 选项卡并选择 Import。您可以上传 .XLSX (Excel) 或 .CSV 文件。 

每种导入类型都包含一组可配置选项,用于控制文件的处理方式。根据所选格式,您可以保留格式、公式、合并单元格、计算设置等。这些选项确保导入的内容在 Qlik 环境中的行为和外观符合预期。 

导入后,电子表格会保持其结构和样式,从而可以轻松继续使用现有数据或模板。您还可以使用 Qlik 驱动的图表、额外的工作表或计算逻辑来丰富导入的文件。 

导出到 Excel、CSV 或 PDF

要导出电子表格,请转到 FILE 选项卡并选择 Export。您可以根据需要以 .XLSX、.CSV 或 .PDF 格式保存当前工作簿。 

每种导出格式都包含自己的配置面板,允许您定制输出。例如,您可以选择包含样式、公式、布局元素、标题,或控制如何处理合并单元格和空单元格。这些选项有助于确保导出的文档保留所需的结构和内容保真度。 

注意:导出到 Excel 时,请确保开启 “ Include Binding Source ” 标志。否则导出可能会损坏。 

回写 (Writeback)

Spreadsheets Extension 不仅允许您处理已加载到 Qlik 应用程序中的数据,还允许您将新数据或更新后的数据写回外部数据库。这种能力支持交互式、操作性的用例,用户可以直接在类似于电子表格的界面中编辑数据,并将这些更改持久化到 Qlik 之外。

Writeback 功能专门为支持此工作流而存在。在文档的这一部分,您将学习如何设置回写环境、将 Spreadsheets Extension 连接到后端服务,并在 Qlik 应用程序中有效地使用回写功能 —— 从配置数据连接到编辑数据和重新加载应用程序内容。

概述

Writeback 是如何构造的

1. Data Config —— 定义数据连接

在 Data Config 中,您可以配置 Spreadsheets Extension 如何连接到您的后端:

  • 定义用于读取和写入数据的 HTTP 端点(GET, POST, PUT, DELETE, BATCH)。
  • 配置身份验证(可选)。
  • 创建描述如何访问数据库表的逻辑表 (Table)。

在此上下文中的 Table 是一个配置对象,代表:

  • 后端端点,
  • 数据库表或视图,
  • 以及与其交互的规则。

2. TableSheet —— 编辑数据

在 TableSheet 中,您可以选择配置好的 Table 之一并将其绑定到工作表。

连接后:

  • 从后端加载数据。
  • TableSheet 显示代表数据库数据的表格视图。

用户可以:

  • 编辑单元格值,
  • 添加新行,
  • 删除现有行。

所有操作都直接在类似于电子表格的 UI 中执行。
在底层,这些操作将转换为发送到后端的 CRUD 或批量请求。

3. 保存更改并重新加载数据

当用户完成数据编辑时:

  • 更改将发送到后端并持久化在数据库中。
  • Qlik 应用程序本身不会自动更新。
  • 要在 Qlik 视觉对象中查看更新后的数据,用户需要显式触发重新加载。

有两种重新加载选项:

  • 局部重新加载 (Partial Reload)
    刷新当前用户会话的数据。
  • 全部重新加载 (Full Reload)
    重新加载完整的应用程序数据模型(仅限高级用户)。

重新加载通过 Qlik Engine API 触发,并取决于应用程序的加载脚本是否已正确配置为从后端读取更新后的数据。

Writeback 的后端

为了支持回写,我们提供了一个使用以下技术构建的示例参考后端:

  • Node.js
  • Express
  • SQLite

带有示例后端解决方案的 GitHub 仓库:https://github.com/AnyChart/writeback-server-example 

此后端:

  • 实现了所需的 CRUD 和批量端点。
  • 将数据存储在关系数据库中。
  • 演示了回写集成是如何端到端工作的。

提供的后端仅用于演示:

  • 它适用于本地测试和演示。
  • 它旨在作为参考实现。
  • 用户应在生产环境中使用自己的后端进行调整或替换。

Writeback 是(以及不是)什么

Writeback 是:

  • 显式的 —— 用户决定何时保存和重新加载,
  • 受控的 —— 没有后台或计划的重新加载,
  • 灵活的 —— 适用于演示后端和自定义后端。

Writeback 不是:

  • 提供实时同步,
  • 提供自动后台刷新,
  • 后端数据治理的替代品。

典型的 Writeback 流程

  1. Data Config 中配置后端连接。
  2. 将配置好的 Table 绑定到 TableSheet
  3. 直接在 TableSheet 中编辑数据。
  4. 更改将发送到后端并保存。
  5. 触发局部全部重新加载以刷新 Qlik 数据。

编辑 → 保存 → 重新加载 → 在 Qlik 中查看更新后的数据

________________________________________

Quick Start 

本节展示了使用提供的参考后端快速获得可运行的回写演示的最快方法。

本指南侧重于成功路径,避开了自定义后端、分页或复杂验证等高级主题。

前提条件

  • Qlik Sense Desktop
  • 已安装 Spreadsheets Extension。
  • Node.js 
  • 基本熟悉:
    • Qlik 加载脚本
    • 向 Qlik 工作表添加对象

注意:相同的工作流程也适用于其他 Qlik 平台。

视频教程

即将推出

步骤 1:启动演示回写后端

我们提供了一个使用 Node.js + Express + SQLite 构建的示例参考后端
它可以根据您的真实环境进行调整。

  1. 克隆仓库:
    git clone https://github.com/AnyChart/writeback-server-example 
    cd writeback-server
  2. 安装依赖:
    npm install
  3. 配置环境变量
    创建一个 .env 文件并设置以下变量:
    PORT = 3333
    TOKEN = testtoken123
  4. 启动服务器:
    npm start
  5. 验证后端是否正在运行:
      a. 打开浏览器或 REST 客户端
      b. 检查 GET 端点是否有响应

http://localhost:<PORT>/employees/get

此时,后端和演示数据库已在本地运行。

步骤 2:在 Qlik 应用程序中创建 REST 连接器

为了使回写更改在 Qlik 可视化中可见,应用程序必须直接从后端加载数据。
这是使用 REST 连接器完成的。

  • 打开 Data Load Editor。
  • 创建一个新的 REST 连接器。
  • 设置后端 GET 端点 URL(例如 http://localhost:3333/employees/get)。

身份验证(重要)

如果您的后端需要身份验证(如演示后端中所示):
向连接器添加自定义标头:
名称:Authorization
值:Bearer YOUR_TOKEN


注意:

  • Token 值必须与 Spreadsheets Extension 中使用的 Token 匹配。
  • 如果您的后端不需要身份验证,可以省略此标头。
  • 身份验证处理完全取决于您的后端实现。

保存连接器。

在此示例中,连接器命名为 Writeback_DEMO

步骤 3:添加加载脚本以从后端读取数据

创建 REST 连接器后,添加一个从中读取数据的加载脚本。

示例加载脚本:

LIB CONNECT TO 'Writeback_DEMO';

RestConnectorMasterTable:
SQL SELECT
 "id",
 "Region",
 "Director",
 "Salary",
 "HiredDate",
 "FiredDate"
FROM JSON (wrap on) "root";

[employees]:
REPLACE LOAD
 [id],
 [Region],
 [Director],
 [Salary],
 [HiredDate],
 [FiredDate]
RESIDENT RestConnectorMasterTable;

DROP TABLE RestConnectorMasterTable;

重新加载(局部或全部)会重新运行此脚本以反映回写更改。

步骤 4:向应用程序添加 Spreadsheets Extension

  1. 打开您的 Qlik 应用程序。
  2. 将 Spreadsheets 对象添加到工作表中。

此时,电子表格已可见,但尚未连接到任何数据源。

步骤 5:配置数据源 (Data Config)

  1. 在 Spreadsheets Extension 内部打开 Data Config。
  2. 创建一个新的 Table。
  3. 输入后端身份验证凭据 (Token)。
  4. 配置后端端点(例如 employees 表):
    1. GET: http://localhost:3333/employees/get
    2. POST: http://localhost:3333/employees/post
    3. PUT: http://localhost:3333/employees/put
    4. DELETE: http://localhost:3333/employees/delete
    5. BATCH: http://localhost:3333/employees/batch
  5. 保存配置。

此步骤定义了 Spreadsheets Extension 如何与后端通信。

步骤 6:将 Table 绑定到 TableSheet

  1. 切换到 TableSheet。
  2. 从列表中选择配置好的 Table。
  3. 将其绑定到工作表。

绑定后:

  1. 从后端加载数据。
  2. 显示代表数据库的表格视图。
  3. 单元格变为可编辑状态。

步骤 7:测试回写 (Writeback)

  1. 在 TableSheet 中编辑现有值或添加新行。
  2. 保存/应用更改。
  3. 触发重新加载:
    1. 局部重新加载 (Partial Reload)(推荐)
    2. 全部重新加载 (Full Reload)(也可用)

该 Extension 将:

  • 向后端发送更改,
  • 将它们持久化在数据库中,
  • 通过 Qlik Engine API 重新加载应用程序。

步骤 8:验证结果

重新加载完成后:

  • 更新后的数据应显示在:
    • 其他 Qlik 可视化对象中(例如表格、KPI),
    • 而不仅仅是在电子表格内部。
  • 这确认了:
    • 回写成功,
    • 数据已保存,
    • 重新加载成功,
    • 加载脚本正在读取更新后的数据。

数据在 TableSheet 中编辑 → 保存到数据库 → 在 Qlik 可视化中可见

________________________________________

架构

本节介绍了 Spreadsheets Extension 中回写功能的架构以及其主要组件如何相互交互。

高级流程

在高级别上,回写架构遵循客户端驱动的显式交互模型:

  • 用户在 Spreadsheets Extension 中编辑数据。
  • Extension 向回写后端 (Writeback Backend) 发送回写请求。
  • 后端将更改持久化在数据库中。
  • 用户从 Extension 显式触发重新加载。
  • Qlik 应用程序重新加载数据并更新可视化。

没有后台同步,回写后也不会自动重新加载。

所有状态更改均由用户操作启动。

主要组件

Data Config (Extension)

Data Config 是 Extension 内部的配置层。

职责:

  • 为以下操作定义 Tables 及其后端端点:
    • GET
    • POST
    • PUT
    • DELETE
    • BATCH
    • COLUMNS
  • 配置身份验证。

Table 是一个配置对象,而不是数据本身。

它描述了 Extension 如何与后端通信。

TableSheet (Extension)

TableSheet 是数据交互层。

职责:

  • 将配置好的 Table 绑定到专用视图 (TableSheet)。
  • 以表格格式显示后端数据。
  • 允许用户:
    • 编辑单元格值,
    • 添加行,
    • 删除行,
    • 执行重新加载
  • 收集更改并为回写做好准备。

TableSheet 代表从后端加载的当前数据状态,而不是缓存的或权威的副本。

回写后端 (Writeback Backend)

回写后端是负责数据持久化的 HTTP 服务。

职责:

  • 接收来自 Extension 的 CRUD 和批量请求。
  • 处理传入数据(由后端实现定义)。
  • 将数据持久化在数据库中。
  • 返回更新后的行或操作结果。

重要边界:

  • 后端与 Qlik 无关。
  • 后端不触发重新加载。
  • 后端不管理 Qlik 内部的用户会话。

提供的 Node.js + Express + SQLite 后端作为参考实现,旨在适应或替换生产环境。

数据库

数据库存储数据的权威状态。

主要特征:

  • 后端是唯一的真理来源。
  • 更改在回写请求时立即应用。
  • 没有中间分级层。

多用户行为遵循最后写入胜出 (last-write-wins) 模型:

  • 并发更新按执行顺序解决。
  • 不应用锁定或合并逻辑。

这种方法通过定义避免了冲突,并使系统可预测。

Qlik 应用程序和引擎

Qlik 应用程序通过其加载脚本从后端加载数据。

职责:

  • 使用 GET 端点从后端获取数据。
  • 构建应用程序的数据模型。
  • 在重新加载后更新可视化。

重新加载是使用 Qlik Engine API 从 Spreadsheets Extension 触发的。

这里:

  • 没有 QMC 重新加载任务,
  • 没有计划的重新加载,
  • 没有服务器启动的重新加载。

身份验证

Spreadsheets Extension 与回写后端之间的身份验证支持三种模式:

  • None —— 发送请求时不带任何身份验证数据。
  • Basic —— 请求包含用户名和密码。
  • Token —— 请求在 Authorization 标头中包含 Bearer Token。

Extension 仅将选定的身份验证数据附加到传出请求中。

确切的授权逻辑、验证规则和访问控制完全由后端管理。

身份验证是可选的,取决于后端要求。

架构中的重新加载模型

重新加载逻辑完全由 Spreadsheets Extension(而非后端)拥有。

  • 重新加载由用户显式触发。
  • 支持局部和全部重新加载。
  • 重新加载仅使用 Qlik Engine API。

重新加载是与回写分开的步骤,且绝不是自动的。

架构摘要

回写架构特意设计得简单且显式:

  • UI 和交互位于 Spreadsheets Extension 中。
  • 持久化由后端服务处理。
  • 数据重新加载由用户驱动且具有会话感知能力。
  • 通过最后写入胜出实现多用户行为的确定性。
  • 没有 QMC,没有重新加载任务,没有后台进程。

这种设计使职责保持清晰分离,并允许解决方案从演示环境扩展到生产环境,而无需重写架构。

________________________________________

后端设置

回写后端的目的

回写后端是一个必需的组件,用于持久化在 Spreadsheets Extension 中所做的数据更改。

其职责包括:

  • 接收来自 Extension 的回写请求,
  • 将数据写入数据库,
  • 将更新后的记录返回给客户端。

后端有意与 Qlik 脱钩,不管理重新加载、会话或 UI 逻辑。

演示后端 (参考实现)

我们提供了一个使用以下技术构建的演示后端:

  • Node.js
  • Express
  • SQLite

此后端用作:

  • 用于本地测试的即用型演示,
  • 构建您自己后端的参考实现。

它演示了:

  • 必需的 CRUD 和批量端点,
  • 预期的请求和响应格式,
  • 基本的身份验证处理,
  • 数据库交互模式。

演示后端不具备生产级性能,仅用于演示和学习目的。

运行演示后端

运行和配置演示后端的详细说明在 GitHub 仓库中维护:

Writeback 服务器仓库 - https://github.com/AnyChart/writeback-server-example 

仓库的 README 涵盖了:

  • 安装步骤,
  • 环境变量,
  • 身份验证设置,
  • 数据库架构,
  • 可用端点,
  • 示例请求。

使用您自己的后端

您不一定要使用演示后端

可以使用任何后端实现,只要它:

  • 公开兼容的 CRUD 和批量端点,
  • 接收并返回 JSON 数据,
  • 可靠地持久化更改,
  • 根据需要强制执行身份验证和验证。

关于以下方面的职责:

  • 数据验证,
  • 安全性,
  • 访问控制,
  • 可扩展性

由后端实现承担。

CRUD 端点必须遵循以下要求:

操作

请求类型

请求数据

响应数据

update

POST

更新后的数据

更新后的数据

read

GET

无数据

记录数组

delete

DELETE

已删除的数据或数据数组

无限制

create

POST

插入的数据

插入的数据

getColumns

GET

 

一个列数组,其中每列包含以下属性:

'field' 属性是列的名称。

'dataType' 属性是列的数据类型。

'defaultValue' 属性是列中记录的默认值。

'isPrimaryKey' 属性标识是否为主键列。

batch

POST

一个对象数组,其中每个对象包含一个 'type' 属性。

该操作类型可以是 'update', 'insert', 'delete', 'addColumn', 'updateColumn' 或 'removeColumn'。

'dataItem' 属性是当前记录。

'sourceIndex' 属性是记录索引。

可选的 'oldDataItem' 属性是原始记录。

可选的 'column' 属性是当前列。

可选的 'data' 属性是当前新增列的默认值。

可选的 'originalColumn' 属性是原始列。

例如:

[ {"type":"addColumn","column":{...}},

{"type":"updateColumn","column":{...}, "originalColumn":{...}},

{"type":"removeColumn","column":{...}},

{"type":"delete","dataItem":{...}, "sourceIndex":5},

{"type":"insert","dataItem":{...}, "sourceIndex":3},

{"type":"update","dataItem":{...}, "oldDataItem":{...}, "oldDataItem":{...}, "sourceIndex":1}]

一个对象数组,其中每个对象包含一个 'succeed' 属性,用于指示操作的成功或失败;以及一个可选的 'data' 属性,它是当前记录,仅用于 'insert' 操作。

例如:

[{"succeed":true}, {"succeed":false}, {"succeed": true},

{"succeed":true}, {"succeed":false}, {"succeed": true}]

后端摘要

  • 后端是回写功能所必需的。
  • 提供了一个演示后端以便于使用和参考。
  • 生产部署应使用自定义后端。
  • 后端实现细节已在 GitHub 中记录。

________________________________________

Extension 配置

本节重点介绍如何在 Qlik 应用程序内部配置 Spreadsheets Extension,以便它可以与回写后端通信、保存数据更改并触发重新加载。

数据源配置概述

回写配置通过数据源 (Data Source) 窗口进行管理。

在此窗口中,您可以定义一个或多个 Tables,其中每个 Table 代表与后端端点的逻辑连接。



要访问它,请选择功能区菜单中的 Data 部分,然后点击 Data Source Config 按钮。 


 

表格设置 (Table Settings)

身份验证

每个 Table 都可以配置一种身份验证方法。
选定的方法将应用于为该 Table 发出的所有请求。

可用选项:

  1. None
    不使用身份验证。
    发送请求时不带任何授权标头。
  2. Basic
    使用用户名和密码对。
    凭据使用标准 HTTP 基本身份验证发送。
  3. Token
    使用 Bearer Token。
    Token 作为 Authorization: Bearer <token> 标头附加到请求中。

身份验证是可选的,完全取决于后端的实现方式。

演示后端说明:

AnyChart 提供的演示回写服务器默认使用基于 Token 的身份验证。这是为了在参考实现中保持简单和清晰。

Table Name

Extension 内部使用的逻辑名称。
稍后在将 Table 绑定到 TableSheet 时会选择此名称。

端点配置

对于每个操作,指定:

  • HTTP 方法
  • 完整的端点 URL

支持的操作:

  • Read (GET)
    将数据加载到 TableSheet 中。
  • Create (POST)
    插入新行。
  • Update (PUT)
    更新现有行。
  • Delete (DELETE)
    删除行。
  • Batch (POST)
    在单个请求中应用多个创建/更新/删除操作。
  • Get Columns (GET)
    从后端检索列元数据。

注意:

  • 显示数据需要 Read (GET) 端点。
  • 仅当配置了相应的端点时,回写操作才有效。
  • 如果缺少某个端点,相关的操作将无法正常工作。

将 Table 绑定到 TableSheet

配置好 Table 后:

  • 通过选择功能区菜单中的 Insert 部分并点击 TableSheet 按钮,切换到 TableSheet 视图。 
  • 从下拉菜单中选择配置好的 Tables 之一。
  • TableSheet 上观察绑定的表格 

    绑定后,TableSheet 会显示 Read 端点返回的数据,并允许根据配置的操作进行编辑。

________________________________________

Writeback 用法

本节解释了如何在 Qlik 应用程序内部使用 TableSheet 接口进行回写操作。

编辑现有行

要编辑现有数据,首先启用行操作 (Row Action) 模式:

  • 打开功能区菜单中的 Table Sheet Design 部分。
  • 点击 Row Action 按钮。

启用行操作模式后:

  • 您可以编辑任何非主键列中的值。
  • 主键列是只读的,无法更改。

要保存某一行的更改:

  • 点击该行左侧的复选标记 (✓) 图标。

此操作会立即向后端发送一个 Update 请求。

要放弃更改:

  • 点击叉号 (✕) 图标 —— 该行将恢复到之前的状态。

添加新行

要添加新行:

  • 滚动到 TableSheet 的底部。
  • 在最后一个空行中填充新数据(该行中至少必须填写一个单元格)。

如果需要额外的字段,这由后端架构定义。

要保存新行:

  • 点击左侧的复选标记 (✓) 图标。
  • 这会向后端发送一个 Create 请求。

如果后端允许缺少值或空值,它们将按原样保存。
验证规则取决于后端的实现方式。

删除行

要删除一行:

  • 找到您要删除的行。
  • 点击该行左侧的减号 (–) 图标。

此操作会向后端发送一个 Delete 请求。

保存更改和批量操作

行级操作(复选标记/减号图标)会立即应用该行的更改。
如果您对多行进行了更改并希望一起应用它们:

  • 打开功能区菜单中的 Table Sheet Design。
  • 打开 Batch 下拉菜单。
  • 点击 Submit。

这将在单个批量请求中发送所有挂起的更改。

注意:要启用批量功能 —— 请在 Data Source Config 中开启 “Batch” 选项。

在 Qlik 中重新加载数据

做出更改后,请重新加载应用程序以更新其他可视化效果。

重新加载控件位于:
功能区菜单 → Table Sheet Design → Batch 下拉菜单

可用选项:

  • 局部重新加载 (Partial Reload)
  • 全部重新加载 (Full Reload)

注意:

  • 重新加载始终是手动触发的。
  • 局部重新加载需要应用程序的加载脚本按相应结构编写。
  • 重新加载完成后,应用程序中的所有图表和表格都将反映更新后的数据。

典型工作流示例

一个常见的回写工作流如下所示:

  • 在 TableSheet 中编辑值
  • 使用复选标记保存行
  • 触发局部重新加载
  • 在图表和表格中查看更新后的数据

这使回写保持显式、可预测且易于控制

AI Formula

AI Formula 功能允许您使用连接的 AI 模型运行自然语言查询(Alpha 版本仅支持与 OpenAI 连接)。这使得电子表格能够成为交互式的智能工具 —— 能够使用基于语言的提示即时生成或转换内容。 

配置 (Property Panel)

要使用 AI 公式,请转到 Extension 属性面板中的 AI Formula 部分并配置以下设置: 

  • AI 服务器 URL 
    OpenAI API 的端点(例如 https://api.openai.com/v1/chat/completions) 
  • AI 模型 
    目前支持: 
    • Gpt-3.5-turbo 
    • Gpt-4 
      (未来将添加更多模型) 
  • 每次请求的最大 Token 数 
    控制 AI 响应的长度(默认:4000) 
  • 公式评估模式 
    确定何时查询 AI: 
    • 重新计算时 
    • 一次 
    • 按间隔 
  • API Key 
    您的 OpenAI 密钥(必须具有对所选模型的有效访问权限) 

在电子表格中使用 AI() 公式

配置好上述设置后,您可以直接在电子表格单元格中使用以下公式: 

=AI("将此句子翻译成西班牙语: " & A2) 

公式语法: 

AI(query_string) 

  • query_string —— 将发送到所选模型的字符串提示(可以是静态的,也可以是使用单元格引用的动态提示) 

结果将直接显示在输入公式的单元格中。 

从表格扩展 (table extension) 转换

您可以将标准的 Qlik 表格图表转换为 Spreadsheets Extension。 

  • 原始表格中所有配置好的 Columns 都会自动传输到电子表格的默认 Data Section 中。 
  • 会创建一个相应的工作表,其中包含与原始表格完全相同的列。 

如何转换表格图表: 

  1. 确保您的应用程序工作表上有一个带有数据的表格图表。 
  2. 进入 Edit Mode 并打开 Assets 面板。 
  3. 转到 Custom Objects。 
  4. 找到 Spreadsheets 扩展。 
  5. 将其拖放到现有的表格图表上。 
  6. 选择 Convert。 

注意:转换是单向的。不支持将 Spreadsheets 转换回标准 Qlik 表格图表。 

提示:使用此功能可以快速将现有表格迁移到 Spreadsheets,并解锁高级编辑和交互功能。 

快捷键

可在 Spreadsheets Extension 中使用的快捷键列表。 

按键 操作 
Ctrl+Z 撤销 
Ctrl+Y 重做 
Ctrl + Down 导航至底部 
Down 向下导航 
End 导航至末尾 
Ctrl+Right 导航至末尾 
Ctrl+Home 转到工作表开头 
Home 导航至开头 
Ctrl+Left 导航至开头2 
Ctrl+End 转到工作表右下角 
Left 向左导航 
Tab 移动到下一个单元格 
PageDown 向下翻页导航 
PageUp 向上翻页导航 
Ctrl+PageUp 导航至上一个工作表 
Ctrl+PageDown 导航至下一个工作表 
Shift+Tab 移动到上一个单元格 
Right 向右导航 
Ctrl+Up 导航至顶部 
Up 向上导航 
Delete 清除 
Back 清除并编辑 
Enter 提交输入并向下导航 
Shift+Enter 提交输入并向上导航 
ESC 取消输入 
Shift+Left 向左选择 
Shift+Right 向右选择 
Shift+Up 向上选择 
Shift+Down 向下选择 
Shift+Home 选择至开头 
Ctrl+Shift+Left 选择至开头 
Shift+End 选择至末尾 
Ctrl+Shift+Right 选择至末尾 
Shift+PageUp 向上翻页选择 
Shift+PageDown 向下翻页选择 
Ctrl+Shift+Up 选择至顶部 
Ctrl+Shift+Down 选择至底部 
Ctrl+Shift+Home 选择至第一个 
Ctrl+Shift+End 选择至最后一个 
Ctrl+C 复制 
Ctrl+X 剪切 
Ctrl+V 粘贴 
Alt+Enter 输入新行 

AnyChart 的其他扩展
分解树Bullseye Chart圆形仪表盘组合图旭日图项目甘特图资源甘特图时间线经典瀑布高级瀑布
下载 Spreadsheets 扩展
下载
分享此页面
LinkedInFacebookXEmail
---