SeaTable 编程手册¶
本文档包含 SeaTable 编程相关的文档。包含以下部分
- Javascript 脚本编程: SeaTable 内置的 JavaScript 脚本, 当前的浏览器中直接运行,支持的 API 比较受限,适合于对数据进行简单的处理。
- Python 脚本和 API: 可以在你自己的服务器运行,也可以上传到 SeaTable 后运行,适合于更复杂的数据处理场景。
- Javascript API: 对 SeaTable 服务器 Restful API 的封装。你可以在你的前端页面中或者 Node.js 程序中调用。
- SQL 参考手册: SeaTable SQL 接口参考手册
- 插件开发流程和 API: SeaTable 插件开发流程和 API
编程入门¶
在 SeaTable 中,一个表格英文叫做一个 base。一个 base 包括多个子表,一个子表英文叫做一个 table。一个 table 中包含多个行和列。一个行包含多个字段。
JavaScript 脚本入门¶
脚本执行器提供了两个基本对象供你使用:
- base 对象。一个 base 代表一个表格。通过 base 对象可以操作表格中的数据。
- output 对象。用于输出结果。
下面我们来看一个很简单的例子,就是输出表格中子表的数量。新建一个脚本,并输入以下的内容,然后点击运行即可:
const tables = base.getTables();
output.text(tables.length);
下面我们来看另一个简单的例子,就是取出一个子表中的所有行,然后把 Name 列的值输出出来:
// 通过名称获取子表
const table = base.getTableByName('云端服务');
// 从子表获取一个特定的视图
const view = base.getViewByName(table, 'Default View');
// 通过 table 和 view 来获取视图中所有的行
const rows = base.getRows(table, view);
// 遍历和打印
for (var i=0; i<rows.length; i++) {
const row = rows[i];
output.text(row['Name']);
}
从上面的两个例子可以看到,通过调用 base 对象特定的方法,我们就能获取表格中所有的数据了。在 base 对象对应的文档中,我们可以查找到 base 提供的所有的方法。
Python 脚本入门¶
编写脚本时,需要从 seatable_api 导入 Base 对象并对其初始化,然后就可以调用其中的函数来操作表格了。下面为一个简单的例子,用于往一个表格中添加一个新行:
from seatable_api import Base
server_url = os.environ.get('dtable_web_url')
api_token = os.environ.get('api_token')
base = Base(api_token, server_url)
base.auth()
row_data = {
"Name": "I am new Row"
}
base.append_row('Table1', row_data)