[已解决]求保存Excel数据到二维数组,请大大们看看,小弟初次接触
本帖最后由 hetinghtht 于 2011-6-7 10:09 编辑现有一个excel表格,我想读取这个表格中的所有信息到一个二维数组中,
我想得到效果是,维数决定行数,字段用下标来表示,求大大们给个方法,我一直搜索没找到,还有希望不要读取excel信息时弹出excel的窗口,谢谢,附近中是表格范例
#include <array.au3>
$Workbook=objget(@ScriptDir&"\学生成绩表.xls")
with $workbook.worksheets("Sheet1")
$a_Arr=.range("a1").currentregion.value
.parent.close(false)
EndWith
_ArrayDisplay($a_Arr) 回复 2# kevinch
请问$a_Arr如何写入到数组中?
我只看到数组列出来了,可是我不知道怎么去保存他们到我的二维数组中去.请教了 $a_Arr得到的就是一个二维数组,直接用就行了 回复kevinch
请问$a_Arr如何写入到数组中?
我只看到数组列出来了,可是我不知道怎么去保存他们到我的二 ...
hetinghtht 发表于 2011-5-24 18:18 http://www.autoitx.com/images/common/back.gif
如何写到数组,看这个回复好像你还不知道什么是数组 回复 5# tryhi
确实不会怎么用,初学者啊,还请高手请教下
如果说我要输出表格里面的每个学生总成绩和每个学生平均成绩,那么怎么去应用这个数组呢?
还有的话请教个变量定义的问题,一般有数字的变量怎么来定义名称好呢?
比如说:列出数学、物理、化学总分>180分的学生,列出三科成绩
我的定义好长啊$strMathPhyChemLessthanOneHundredEightyOfThreeSubject
如何去缩写而且又能让别人看懂意思呢? 回复 4# kevinch
谢谢啊,再请教个问题.我对数组确实概念比较模糊,特别是二维数组.
如果说我要输出表格里面的每个学生总成绩和每个学生平均成绩,那么怎么去应用这个数组呢? 学习了 2楼的 不错 回复kevinch
谢谢啊,再请教个问题.我对数组确实概念比较模糊,特别是二维数组.
如果说我要输出表格里面 ...
hetinghtht 发表于 2011-5-25 09:41 http://www.autoitx.com/images/common/back.gif
excel直接就可以解决啦,如果你一定要用au3的话,可以继续调用excel的公式计算,或者直接用循环从数组中计算得出结果,晚上有空给个实例你看下。 回复 9# kevinch
嗯谢谢 #include <array.au3>
$Workbook=objget(@ScriptDir&"\学生成绩表.xls")
with $Workbook.worksheets("Sheet1")
$a_Arr=.range("a1").currentregion.value
.parent.close(false)
EndWith
ReDim $a_Arr
$a_Arr="平均分"
$a_Arr="总分"
;_ArrayDisplay($a_Arr)
for $i_Col=1 to UBound($a_Arr,2)-1
$i_N=0
$i_Count=0
For $i_Row=2 to ubound($a_Arr)-3
$i_N+=1
$i_Count+=$a_Arr[$i_Row][$i_Col]
Next
$a_Arr[$i_Col]=StringFormat("%.1f",$i_Count/$i_N)
$a_Arr[$i_Col]=$i_Count
Next
_ArrayDisplay($a_Arr)读取到数组后处理的 #include <array.au3>
$o_Excel=ObjCreate("excel.application")
$o_Excel.visible=False
$Workbook=$o_Excel.workbooks.open(@ScriptDir&"\学生成绩表.xls")
with $Workbook.worksheets("Sheet1").cells(1,$Workbook.worksheets("Sheet1").columns.count).end(1)
.offset(0,1)="平均分"
.offset(1,1).resize(.parent.cells(.parent.rows.count,1).end(3).row-1,1).formular1c1="=Text(SUM(RC3:RC"&.column&")/COUNT(RC3:RC"&.column&"),""0.0"")"
.offset(0,2)="总分"
.offset(1,2).resize(.parent.cells(.parent.rows.count,1).end(3).row-1,1).formular1c1="=SUM(RC3:RC"&.column&")"
$a_Arr=.parent.range("a1").currentregion.value
EndWith
$Workbook.close(False)
$o_Excel.quit
_ArrayDisplay($a_Arr)利用Excel处理完成后再读入数组的 学习了,很不错的方法 回复 12# kevinch
谢谢兄弟 记得将帖子加上 【已解决】{:face (197):}
页:
[1]
2