能否添加,表格数据操作里对xlsm加载数据的支持

功能建议 · 1228 次浏览
夜空·青蔷薇 创建于 2022-07-14 13:43

如题,目前貌似是xlsx可以但xlsm不行,目前弹出


不支持读取此文件{文件名},仅支持
(----Excel表格:表格数据操作----)

这样的提示,望支持xlsm格式

 

还有一个关于标题行号的问题,如果第一列没有数据,设置的标题行号是可以取出来的,但是下面的数据就取不出来了,类似这样的格式

能否添加个标题列号参数,进行行列的定位来取之后的数据

 

夜空·青蔷薇 最后更新于 2022/7/14

回复内容
CL 2022-07-14 14:08
#1

前面一个应该可以。 xslx应该和xlsm是一样的格式。 后面一个不是很明白,还请再解释一下

夜空·青蔷薇 回复 CL 2022-07-14 14:45 :

在下面写了具体情况,请看一下

KuXin 回复 CL 2022-07-25 11:43 :

office 07版以前只有xls文件,里面既可以包含数据也可以储存vba代码,打开文件就执行代码后来有人利用vba代码执行恶意病毒,office 07版之后就分开了,分成xlsx和xlsm后缀,xlsx只能保存表格数据,xlsm是启用了vba代码的表格。

KuXin 最后更新于 2022-07-25 11:44
夜空·青蔷薇 2022-07-14 14:45
#2

比如这样的顶着A列写的表格,下面的数据就能被读取,如下图

但是如果不是顶A列写,而是B列写的表格,下面的数据就不会被读取


我推测是后台程序判断头列没有数据就停止读取的原因,所以能否在这个标题行号的下面,再设置一个标题列号

用标题行号和标题列号,也就是XY轴来读取整个表格的数据


CL 回复 夜空·青蔷薇 2022-07-14 15:27 :

这个情况可以试试 “批量提取数据” https://getquicker.net/KC/Help/Doc/excelreadwrite#DBb4p  

CL 回复 CL 2022-07-14 16:21 :

想办法处理了一下,自动跳过空内标题列,下一步更新一下。

夜空·青蔷薇 回复 CL 2022-07-14 20:10 :

"批量提取数据"属于一种打开Excel的操作,但我目前使用的"表格数据操作"像是一种不打开Excel的操作,主要我的操作对象是一个拥有100多个sheet的Excel文件,正常会打开极其慢,所以就想通过"表格数据操作"来实现不打开Excel文件,先看看某一个指定sheet的内容,这样就很快,像是一种预览。所以没法用"批量提取数据"

CL 2022-07-15 08:10
#3

https://getquicker.net/Help/Versions 1.34.7版本增加了对空列的支持,试下看看。

夜空·青蔷薇 2022-07-15 10:04
#4

感谢迅速对应对xlsm,确实有效,太谢谢了,我就不用把文件转换为xlsx了

不过反馈一个BUG,昨天能显示的下图的表格

今天报出一个error

异常:指定的key不存在于directory中。

   場所 System.ThrowHelper.ThrowKeyNotFoundException()

   場所 System.Collections.Generic.Dictionary`2.get_Item(TKey key)

   場所 Quicker.Actions.XActions.BuildinRunners.TableOperationStep.inHq6APKnF4(DataTable  , ActionExecuteContext  , ActionStep  , XAction  , ActionVariable  )

   場所 Quicker.Actions.XActions.BuildinRunners.TableOperationStep.<>c__DisplayClass63_0.ctLmJ9rXiyn()

   場所 Quicker.Domain.Actions.X.XActionHelper.ExecuteCommonAction(ActionExecuteContext context, ActionStep step, XAction action, Func`1 actionFunc, Action successAction, Action failAction, StepInParamDef stopIfErrorParam, StepOutParamDef isSuccessOutputParam)

测试了一下,貌似是在后面填个背景色就会这样,比如下图

这个error在上一版是没有的发生的


还有一个,看到你们对应了空值,确实对中间空列的情况有效,但是依旧B列开始写的表格没有数据显示,如下图


以及碰到一个情况

像这样子的表格,会提示“列5”已经再DataTable里存在,无法写入表的error,所以我还是提议能否增加起始行,结束行,起始列(标题列号),结束列的概念,4个坐标点来取一定范围的表格数据,如果结束行和结束列没有设置值的话,则按照现有规则往后取,望检讨

夜空·青蔷薇 最后更新于 2022-07-15 10:41
CL 回复 夜空·青蔷薇 2022-07-15 10:56 :

这个报错的文件可以有网盘发一下么? 我这里测试下看看

夜空·青蔷薇 回复 CL 2022-07-15 12:07 :

链接: https://pan.baidu.com/s/1vZcgOEC6pOlUpNHTa-vJwA 提取码: ywfe 

传了,5和4都会报一样的错误,可以测试下其他情况,据我了解是只要对其他单元格动了的话就会产生这样的error

CL 回复 夜空·青蔷薇 2022-07-15 13:43 :

好的我研究下

CL 回复 夜空·青蔷薇 2022-07-15 13:49 :

报错问题解决了。 重复列头这个什么情况下出现呢?能不能避免一下,还是尽量少加额外参数比较好一些

夜空·青蔷薇 回复 CL 2022-07-15 14:02 :

重复列头说明如下图

夜空·青蔷薇 2022-07-15 14:04
#5

我这会有这样的数据表格,每一组数据的最后都有备注这一栏,只是看Excel的话没问题,但是转换成quicker表格就会被作为重复列头无法生成表格

CL 回复 夜空·青蔷薇 2022-07-15 14:29 :

自动处理一下重复列名解决

CL 2022-07-15 18:27
#6
夜空·青蔷薇 回复 CL 2022-07-19 08:54 :

不好意思周末出门了,没即时回复,太棒啦,解决速度又快又好,可以说完全解决我目前遇到的情况了,谢谢!

回复主贴