aardio 文档
aardio 范例: 第三方模块
//第三方模块
import console.int;
assert(_WIN10_LATER,"操作系统版本太低");
import golang.excelize;
//创建 Yaegi(Go 脚本)解释器
//教程: https://mp.weixin.qq.com/s/_YBW0kN2uJ_pBekNF_b0WQ
var go = golang.excelize();
//直接用 Go 语法写脚本。
go.eval(`
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func CreateExcel(path string) string {
//下面是 Excelize 官网范例
f := excelize.NewFile();
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// 创建新表格.
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
return ""
}
// 设置单元格的值.
f.SetCellValue("Sheet2", "A2", "Hello world.")
f.SetCellValue("Sheet1", "B2", 100)
// 设置工作簿的当前激活表格
f.SetActiveSheet(index)
// 保存表格到指定的路径
if err := f.SaveAs(path); err != nil {
fmt.Println(err)
}
//读单元格的值
cell, err := f.GetCellValue("Sheet1", "B2")
if err != nil {
fmt.Println(err)
return ""
}
return cell;
}
var GlobaVal = "这是全局变量";
`)
//准备调用参数
var path = io.fullpath("/hha.xlsx");
//在 aardio 中直接调用 Go 函数
var ret = go.CreateExcel( path );
//查看 Go 函数的返回值
console.log( ret );
//在 aardio 中修改 Go 全局常量的值
go.GlobaVal = "新的 Go 全局常量值";
//获取 Go 全局常量的值
console.log( go.GlobaVal );
Markdown 格式