aardio 读取 Excel文件,显示在 listview 中

2023-10-06 04:16

本文主要是介绍aardio 读取 Excel文件,显示在 listview 中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编写 main.aardio 如下

import win.ui;
/*DSG{{*/
winform = win.form(text="excel1";right=801;bottom=500)
winform.add(
button1={cls="button";text="读取Excel文件";left=19;top=14;right=126;bottom=44;z=1};
button2={cls="button";text="导出Excel文件";left=168;top=17;right=291;bottom=45;z=3};
listview={cls="listview";left=2;top=62;right=801;bottom=498;edge=1;gridLines=1;hscroll=1;vscroll=1;z=2}
)
/*}}*/import io;
import sys;
import fsys.dlg;
import win.ui.grid;
win.ui.grid(winform.listview);import console;
import com.excel;console.showLoading(" 正在启动 Excel ");
var excel,err = com.excel(); 
assert(excel,err);excel.alerts = false; //关闭界面提示与屏幕更新
excel.Visible = false;// 读取Excel文件
winform.button1.oncommand = function(id,event){winform.button1.disabled = true;var xls = fsys.dlg.open("*.xls|*.xlsx");if (!io.exist(xls)){winform.msgbox(xls+" not exists.");winform.button1.disabled = false;return ;}winform.listview.clear();try{// 读取.xls 或 .xlsxvar book = excel.Open(xls);		var sheet = book.Sheets(1);var rows = sheet.UsedRange.Rows.count;console.log("rows=",rows)var cols = sheet.UsedRange.Columns.Count;console.log("cols=",cols)var fields = {};for	(j=1; cols; 1){v = sheet.Cells(1, j).value;if (type(v) == type.string) table.push(fields, v);elseif (type(v) == type.number){if (v == math.modf(v)) table.push(fields, string.format("%d",v));else table.push(fields, string.format("%.4f",v));}  // date 字段格式化elseif (type(v) == type.table) table.push(fields, string.left(tostring(v),10));elseif (type(v) == type.null) table.push(fields, ''); else table.push(fields, type(v)); }//console.dump(fields);winform.listview.setColumns(fields);for (i=2; rows; 1){if (i >100) break;values = {};for (j=1; cols; 1){v = sheet.Cells(i, j).value;if (type(v) == type.string) table.push(values, v);elseif (type(v) == type.number){if (v == math.modf(v)) table.push(values, string.format("%d",v));else table.push(values, string.format("%.4f",v));}  // date 字段格式化elseif (type(v) == type.table) table.push(values, string.left(tostring(v),10));elseif (type(v) == type.null) table.push(values, '');else table.push(values, type(v));}//console.dump(values);winform.listview.addItem(values);}	book.close();}catch(e){winform.msgbox(e)}	winform.button1.disabled = false;	
}// 鼠标左键点击事件
winform.listview.onClick = function(item,subItem,nmListView){//var index = winform.listview.selIndex; //选择的行
}
// 鼠标双击修改事件
winform.listview.onEditChanged = function(text,iItem,iSubItem){winform.msgbox(string.join({iItem,iSubItem,text},",")); //修改成功
}
// 鼠标右键事件
winform.listview.onRightClick = function(item,subItem,nmListView){var v = winform.listview.getItemText(item,subItem); //取值winform.msgbox(string.join({item,subItem,v},",")); //显示行、列、值信息
}// 导出Excel文件
winform.button2.oncommand = function(id,event){}winform.show();
return win.loopMessage();
excel.Quit();

参考:aardio开发语言Excel数据表读取修改保存实例练习

import godking.libxl; 在 蓝奏云 下载 libxl.rar 密码:123

解压缩将文件放于:aardio\lib\godking\ ,先要 cd lib; mkdir godking

这篇关于aardio 读取 Excel文件,显示在 listview 中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/152804

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

java读取excel文件为base64实现方式

《java读取excel文件为base64实现方式》文章介绍使用ApachePOI和EasyExcel处理Excel文件并转换为Base64的方法,强调EasyExcel适合大文件且内存占用低,需注意... 目录使用 Apache POI 读取 Excel 并转换为 Base64使用 EasyExcel 处

Python Excel 通用筛选函数的实现

《PythonExcel通用筛选函数的实现》本文主要介绍了PythonExcel通用筛选函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录案例目的示例数据假定数据来源是字典优化:通用CSV数据处理函数使用说明使用示例注意事项案例目的第一

Java利用Spire.XLS for Java设置Excel表格边框

《Java利用Spire.XLSforJava设置Excel表格边框》在日常的业务报表和数据处理中,Excel表格的美观性和可读性至关重要,本文将深入探讨如何利用Spire.XLSforJava库... 目录Spire.XLS for Java 简介与安装Maven 依赖配置手动安装 JAR 包核心API介

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定