;Thinkai@2015-10-25

Gui, Add, Tab, x0 y0 w800 h500 vtab

Gui, Show, , 输出excel数据到GUI

FileSelectFile, file, , , 选择一个表格, Excel文件(*.xls;*.xlsx)

IfNotExist % file

ExitApp

conn := ComObjCreate("ADODB.connection") ;初始化COM

conn.Open("Provider=Microsoft.Ace.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" file) ;打开连接

;conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=Yes';Data Source=" file) ;打开连接 2003方式

;通过OpenSchema方法获取表信息

rs := conn.OpenSchema(20) ;SchemaEnum 参考 http://www.w3school.com.cn/ado/app_schemaenum.asp

table_info := []

rs.MoveFirst()

while !rs.EOF ;有效Sheet

{

t_name := RegExReplace(rs.("TABLE_NAME").value,"\$$","")

q := conn.Execute("select top 1 * from [" t_name "$]")

if (q.Fields(0).Name="F1" && q.Fields.Count=1) ;排除空表格

{

rs.MoveNext()

continue

}

table_info[t_name] := []

for field in q.Fields  ;获取按顺序排列的字段

table_info[t_name].insert(field.Name)

q.close()

rs.MoveNext()

}

;生成Listview

for t,c in table_info

{

;创建tab及listview

GuiControl, , tab, % t

Gui, Tab, % A_index

cols =

for k,v in c

cols .= cols ? "|" v : v

Gui, Add, ListView, % "x10 y30 w780 h460 vlv" A_Index, % cols

Gui, ListView, % "lv" A_Index

;获取表格数据

data := GetTable("select * from [" t "$]")

for k,v in data

LV_Add("",v*)

LV_ModifyCol() ;自动调整列宽

}

rs.close()

conn.close()

return

GuiClose:

ExitApp

GetTable(sql){ ;Adodb通用的获取数据数组的函数

global conn

t := []

query := conn.Execute(sql)

fetchedArray := query.GetRows() ;取出数据(二维数组)

colSize := fetchedArray.MaxIndex(1) + 1 ;列最大值 tips:从0开始 所以要+1

rowSize := fetchedArray.MaxIndex(2) + 1 ;行最大值 tips:从0开始 所以要+1

loop, % rowSize

{

i := (y := A_index) - 1

t[y] := []

loop, % colSize

{

j := (x := A_index) - 1

t[y][x] := fetchedArray[j,i] ;取出二维数组内值

}

}

query.close()

return t

}

ahk写入excel单元格_输出excel数据到GUI 获取excel所有Sheet及字段 Autohotkey相关推荐

  1. 获取Excel单元格存储日期格式数据

    获取Excel单元格存储日期格式数据 在使用java获取Excel单元格中数据时,如果单元格数据为日期格式,直接使用cell.getValue()获取单元格的值,获取到的值为一个数字乱码,可以使用以下 ...

  2. 如何让图片充满excel单元格_如何在Excel单元格建立下拉菜单

    对于一些常用的数据我们往往会希望能够尽量快速的输入,下拉菜单就是一个最简单的解决办法.那么如何实现下拉菜单呢?跟随以下步骤,建立属于自己的下拉菜单吧! 如何建立下拉菜单? 一.确定内容:在单元格中,输 ...

  3. 为Excel单元格后面统一添加一个字符,导Excel数据到数据库

    在开发中,常常会碰到将Excel中的数据导入数据库,自己常用的办法有: 推荐 利用Navicat Premium直接导入Excel,非常方便,强烈推荐!!! 另附一个笨拙的方法: 1.在Excel所有 ...

  4. python 拆分excel单元格_如何用Python拆分合并后的Excel单元格?

    我尝试只拆分Excel文件中的合并单元格(包含多个工作表),如下所示: 请注意有部分/全部空行.这些行不会合并.在 使用openpyxl,我在每个工作表中找到了合并的单元格区域,代码如下:wb2 = ...

  5. excel 单元格名称 java_Java 创建、编辑、删除Excel命名区域

    Excel命名区域,即对指定单元格区域进行命名,以便对单元格区域引用,如在公式运用中可以引用指定命名区域进行公式操作.在创建命名区域时,可针对整个工作簿来创建,即workbook.getNameRan ...

  6. 同一个Excel单元格有多个数据,怎么进行拆分

    import pandas as pd # 读取texas_cities数据集 cities = pd.read_csv('data/texas_cities.csv') cities   City ...

  7. java excel 单元格类型,POI Excel 单元格内容类型判断并取值

    个人用到的 String birthdayVal = null; switch (cell_2.getCellTypeEnum()) { case STRING: birthdayVal = cell ...

  8. excel单元格斜线绘制方法

    第一部分:excel单元格斜线表头的绘制方法介绍        对Excel感兴趣的朋友可加Excel学习交流群:284029260 excel单元格斜线的用法,通常用于Excel表格的标题处,区分不 ...

  9. Java:Excel写入“合并单元格“

    目录 1. Maven仓库下载导入 2.写入 2.1 数据格式 2.2 代码 2.2 输出的Excel结果: 附录: 本文以Java示例展示Excel中的写入"合并单元格"的方法. ...

最新文章

  1. 杀进程和取文件最近使用时间
  2. TCP第4次挥手为何要等待2MSL才关闭?
  3. 使用Filezilla Server配置FTP服务器
  4. 域的基本管理:创建部门和用户
  5. BZOJ-1875-HH去散步-SDOI2009-矩阵乘法
  6. 【共享单车】—— React后台管理系统开发手记:权限设置和菜单调整(未完)...
  7. 台式电脑键盘字母乱了_电脑键盘上的一个不起眼的按键,特别实用却被粗心的人忽略...
  8. 二叉树删除节点,(查找二叉树最大值节点)
  9. python教程苹果版_python教程
  10. 如何向女朋友解释什么是HTTP协议
  11. Linux SElinux
  12. python适合自学编程吗-风变编程:Python适合编程初学者学习吗?
  13. 架构篇:大型分布式Web系统的架构演进
  14. 深度学习基础 - 直线
  15. chm文件导入java_Java CHM格式的API帮助文档的制作详解
  16. npm init vite@latest 构建项目报错解决办法
  17. [转]成功=狼+狐狸+豹子
  18. 苹果原壁纸高清_ios14.2壁纸原图高清分享:苹果ios14.2壁纸高清无水印[多图]
  19. 手机植入木马可以监视你的一举一动,黑客是怎样入侵别人手机的?
  20. IDAC(电流型DAC)的参数和性能测试

热门文章

  1. 输入法框无法正常显示问题
  2. 算法分析----基础知识点
  3. Dex文件格式扫描器:特征API的检测和扫描(小工具一枚)
  4. CodeSys Rand Numer 随机数生成
  5. unity支持的模型数据格式,unity3d模型制作规范
  6. C++ Builder和托管C++中属性的使用建议
  7. HTTP状态码(2xx,3xx,4xx,5xx)
  8. PDPS教程:机器人气动点焊焊枪大开与小开运动状态自动切换设置
  9. 走查是什么意思啊?如何给原稿进行走查?
  10. C语言:ASCII字符文件与二进制字符文件的相互转换