aardio 文档
aardio 范例: CSV 导入导出示例
//CSV 导入导出
import win.ui;
import string.database;
import fsys.dlg;
/*DSG{{*/
var winform = win.form(text="CSV 导入导出示例";right=759;bottom=469)
winform.add(
btnExport={cls="button";text="导出 CSV";left=597;top=415;right=732;bottom=450;db=1;dr=1;z=3};
btnImport={cls="button";text="导入 CSV";left=25;top=415;right=160;bottom=450;db=1;dl=1;z=2};
listview={cls="listview";left=51;top=23;right=700;bottom=385;db=1;dl=1;dr=1;dt=1;edge=1;z=1}
)
/*}}*/
import win.ui.grid;
var grid = win.ui.grid(winform.listview);//创建数据视图
// 导入 CSV 文件到 listview
winform.btnImport.oncommand = function(id,event){
var path = fsys.dlg.open("CSV 文件|*.csv|所有文件|*.*||","选择要导入的 CSV 文件");
if(!path) return;
var db = string.database(" ",,"#");
var dataTable = db.load(path);
//如果 CSV 有注释,尝试提取列标题
var fields = db.parseComment();
//设置列标题
if(fields) grid.setColumns(fields);
//grid.setTable 的参数较自由,dataTable 可以是多个数组组成的数组,也可以是包含名值对的表组成的数组
grid.setTable(dataTable)
}
// 从 listview 导出到 CSV 文件
winform.btnExport.oncommand = function(id,event){
var dataTable = grid.getTable(true);
var path = fsys.dlg.save("CSV 文件|*.csv||","选择保存位置");
if(!path) return;
// 创建 CSV 数据库
var csv = string.database();
// 保存 CSV 到文件
csv.save(path,dataTable);
winform.msgbox("CSV 文件导出成功!");
}
winform.show();
win.loopMessage();
Markdown 格式