找回密码
 加入
搜索
查看: 3807|回复: 5

[AU3基础] 如何将Excel电子文档中的指定列读取并写入TXT文本中?[已解决]

  [复制链接]
发表于 2015-8-19 17:07:12 | 显示全部楼层 |阅读模式
本帖最后由 仙乃日 于 2015-8-19 22:06 编辑

如何将Excel电子文档中的指定列读取并写入TXT文本中?
没接触过Excel文档方面的操作。
例如要将A.xlsx中的第D列读取,然后写入到A.txt文本中。
请知道的兄弟给个示例写法,谢谢。
发表于 2015-8-19 19:09:56 | 显示全部楼层
#include <Excel.au3>
#include <Array.au3>
Dim $sFile, $oExcel, $aArray, $Num
$sFile = @ScriptDir & "\Test.xls"
$oExcel = _ExcelBookOpen($sFile, 0)
$aArray = _ExcelReadSheetToArray($oExcel)
$Num = $aArray[0][0]
$aArray = _ExcelReadArray($oExcel, 1, 4, $Num, 1)
_ExcelBookClose($oExcel)
_ArrayDisplay($aArray)
 楼主| 发表于 2015-8-19 21:09:17 | 显示全部楼层
回复 2# haijie1223
谢谢帮忙!再弱一地问一下,你所带的Excel.au3是什么版本,俺AU3自带的会提示找不着_ExcelBookOpen的。

还有再请教一下:
#include <Array.au3>
Dim $Array[][] = [[350583197604235455, 5, 6]]
$o_Excel = ObjCreate("excel.application")
$o_Excel.visible = True
$o_Workbook = $o_Excel.workbooks.add
$o_Workbook.activesheet.range("A1:A3").value = $Array
这个350583197604235455写入Excel后为啥显示为3.51E+17呢?有办法让其仍然显示为350583197604235455??
发表于 2015-8-19 23:22:30 | 显示全部楼层
版本 3.3.9.4
是不是应该NumberFormatLocal="@"
但是测试没有通过
发表于 2015-8-26 04:44:10 | 显示全部楼层
回复 4# haijie1223


    先改为文本方式,再写
发表于 2015-8-26 07:45:28 | 显示全部楼层
回复 5# h20040606


    NumberFormatLocal="@"这个不是改为文本么?请问还有什么方法改为文本方式。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 21:50 , Processed in 0.086217 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表