Skip to content

云文档 API

AirScript 提供全局的 KSDrive 对象,通过此对象即可轻松查看、修改、创建和删除您的云文档

提示

在使用 KSDrive 对象操作云文档时,确保您已添加云文档API服务,在脚本编辑器的服务菜单内添加即可。

快速使用

js
// 打开指定文档
let file = KSDrive.openFile('https://www.kdocs.cn/l/xxxxxxxxxxxx')
// 打印指定文档的A1单元格内容
console.log(file.Application.Range('A1').Text)
// 使用结束之后调用close关闭文档,否则无法再次调用KSDrive.openFile
file.close()
// 获取我的云文档下面的et,ksheet文档列表
const fileList = KSDrive.listFiles({ includeExts: ['et', 'ksheet'] })
// 打开我的云文档目录下的第一个文档
file = KSDrive.openFile(fileList.files[0])
console.log(file.Application.Range('A1').Text)
// 关闭文档
file.close()

属性列表

属性名数据类型说明
FileTypeobject支持的文件类型集合

方法列表

方法名返回类型说明
createFile()string创建或另存一个文件
openFile()File额外打开一个文件
listFiles()FilesInfo列出某个目录下的表格文件

FileType

云文档支持的文件类型,可用于新建文件时指定新文件的类型

属性说明

属性名数据类型说明
APstring智能文档
KSheetstring智能表格
ETstring表格
DBstring多维表

createFile()

创建一个新文件,也可以将一个源文件另存为新文件

参数

名称类型必填说明
typeFileType新文件的类型
createOptionsCreateOptions新文件的参数选项

CreateOptions 对象说明

名称类型必填说明
namestring新文件的文件名
dirUrlstring新文件的文件目录
sourcestring将目标文件另存为新文件

返回值

url - string 新文件的 URL

示例

js
// 创建ET文件,指定保存位置
let url = KSDrive.createFile(KSDrive.FileType.ET, {
  name: 'et测试',
  dirUrl: '指定保存位置'
})
console.log(url)
// 新建DB文件
url = KSDrive.createFile(KSDrive.FileType.DB)
console.log(url)
// 新建KSheet文件
url = KSDrive.createFile(KSDrive.FileType.KSheet)
console.log(url)
// 新建AP文件
url = KSDrive.createFile(KSDrive.FileType.AP)
console.log(url)
// 文件另存
url = KSDrive.createFile(KSDrive.FileType.KSheet, {
  source: 'https://www.kdocs.cn/l/cqQwuiG2mo7E',
  name: '复制表格'
})
console.log(url)

openFile()

额外打开一个文件,并返回一个 JavaScript 对象File

示例

js
let file = KSDrive.openFile('https://www.kdocs.cn/l/xxxxxxxxxxxx')
console.log(file.Application.ActiveSheet.Range('A1').Text)
file.close()

参数

名称类型必填说明
openInfoURL / FileInfo打开文件的信息,可以为文件分享链接或者FileInfo

返回值

File - 一个 JavaScript 对象

listFiles()

列出某个目录下的所有文件和对应信息

示例

js
// 遍历获取某个文件夹下的所有文件的文件名
for (let offset = 0; offset >= 0; ) {
  const list = KSDrive.listFiles({
    dirUrl: 'https://www.kdocs.cn/mine/xxxxxxxxxx',
    offset: offset,
    count: 100
  })
  for (let i = 0; i < list.files.length; i++) {
    console.log(list.files[i].fileName)
  }
  offset = list.nextOffset
}

参数

名称
类型
默认值必填说明
optionsobjectundefined一个 JavaScript 对象,undefined 时获取我的云文档目录下面的文件数据,详细参数如下所示

详细参数

参数名
参数类型
默认值
必填
说明
dirUrlstringfalse目录链接,如https://www.kdocs.cn/mine/xxxxxx,为空时获取我的云文档目录下面的文件数据
offsetnumber0false开始位置。通常由listFiles()函数返回。比如,listFiles()函数在某次检索中返回了 nextOffset 为 100,而想要获取更多文件信息,则下一次调用listFiles()函数时把 100 作为此可选参数传入。
countnumber30false文件个数
includeExtsstring[]false指定文件类型,支持参数及对应关系,ksheet:"表格",et:"WPS 表格",db:"多维表",otl:"文档",wpp:"演示",wps:"WPS 文字"

返回值

FilesInfo - 一个 JavaScript 对象,文件信息

File

打开文件函数openFile()返回的一个 JavaScript 对象。

属性

名称类型说明
ApplicationApplication(ET/Ksheet/DBT)被打开文件的操作对象,目前支持 et,ksheet,dbt
closeFunction关闭文件的函数,使用完 file 对象之后调用,关闭打开的文件

FilesInfo

获取文件夹信息函数listFiles(options)返回的一个 JavaScript 对象。

属性

名称类型说明
files文件信息,详细参数如下所示
nextOffsetnumber下一页的偏移量,可以作为listFiles(options)的参数而输出下一页文件内容,当下一页为空时,nextOffset 为-1

FileInfo

名称类型说明
fileNamestring文件名
fileIdstring加密后的文件 id
createTimenumber文件创建时间戳
updateTimenumber文件修改时间戳