找回密码
 立即注册

QQ登录

只需一步,快速开始

jojo

初级会员

26

主题

75

帖子

231

积分

初级会员

积分
231
jojo
初级会员   /  发表于:2022-6-9 14:37  /   查看:2515  /  回复:18
1金币
本帖最后由 jojo 于 2022-6-9 14:40 编辑

源文件是.xls格式的,后来改了后缀名,改为.xlsx,导入成功了,但是获取的数据改变了
选第一个是改了后缀名的
image.png44049376.png
第二个是xlsx源文件
image.png854436645.png

测试文件.xlsx

8.96 KB, 下载次数: 44

源文件

cs1.xlsx

10.01 KB, 下载次数: 39

改了后缀的

最佳答案

查看完整内容

根据会议沟通内容,先将问题原因总结如下: 测试文件列数为7的原因是,第6、7列存在命名样式,所以并不是真正的空单元格。 您在复制数据时只复制了前5列,所以新文件的列数为5。 您根据需要调整测试文件即可。 本贴就先结贴了,有问题欢迎另开新帖交流。

18 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-9 14:37:38
来自 19#
根据会议沟通内容,先将问题原因总结如下:
测试文件列数为7的原因是,第6、7列存在命名样式,所以并不是真正的空单元格。
您在复制数据时只复制了前5列,所以新文件的列数为5。
您根据需要调整测试文件即可。
本贴就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-9 15:35:46
2#
您好,
注意到您提供的两个文件都是xlsx后缀的,请提供xls源文件以供测试。 image.png414423217.png
另,您测试下不直接修改后缀名,
而是使用Excel打开xls文件,选择另存为xlsx文件,实现文件转换。
看是否可解决此问题。


回复 使用道具 举报
jojo
初级会员   /  发表于:2022-6-9 16:42:22
3#
我就是通过另存为cs1文件的

cs.xls

19 KB, 下载次数: 36

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-9 16:58:33
4#
这边测试,通过另存的方式将xls文件修改为xlsx文件,并导入SJS中,所选中的单元格不变。
如下图:
image.png628055114.png
附件为另存的xlsx文件,您可以实际导入测试下。

另,您贴中两个截图的xlsx文件,分别是如何产生的呢?
如果需求是将xls文件修改为可以导入SJS的xlsx文件,那么应该会产出一个xlsx文件,
为什么会有两个xlsx文件呢?

综上,这边未能完全理解您的需求,您可以结合实际业务情况详细描述下。

cs.xlsx

10.59 KB, 下载次数: 38

回复 使用道具 举报
jojo
初级会员   /  发表于:2022-6-10 09:20:51
5#
不是选中的单元格这个问题,是获取的json数据,对应的sheet里面的columnCount的值不对了,我们需要获取getArray(0,0,sheet.rowCount,sheet.columnCount,false),这样列数不对,获取的值也不对
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-10 10:59:06
6#
如下图:
image.png942868347.png

您问题中描述的“获取的列数不正确”是对两个xlsx文件进行对比产生的疑问。
但是这边未能理解为什么会产生两个xlsx文件,
如果需求是将xls文件转为xlsx文件,那么应该会产生一个xlsx文件才对,
您对比的另一个xlsx文件是如何产生的呢?
为什么要将这两个文件进行对比呢,可以结合实际业务情况详细描述下吗?
只有理解了此问题,这边才能进一步调研相应的解决方案。
回复 使用道具 举报
jojo
初级会员   /  发表于:2022-6-10 13:53:44
7#
测试文件.xlsx  是正常文件,现在场景是cs.xls文件不能导入,所以把后缀名改为了.xlsx,这样导入成功了,但是获取的json里的columnCount已经跟测试文件.xlsx获取的json里的columnCount不一样了,所以想问的是怎么才能区分文件是熊xls改的后缀名来的
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-10 17:10:11
8#
xlsx文件导入到SJS中所获取的行数,实质上是与Excel选中的单元格有关的。
由于Excel是“无限行列”,所以SJS会将excel文件中所选中的空白单元格作为最后一行/列的位置。
查看测试文件.xlsx 注意到选中的单元格为B10,
而cs.xls 、或者转换后的cs.xlsx  选中单元格为F9,
所以获取的行数不一致,那么这一差异是如何产生的呢?

事实上,到目前沟通为止,从您提供的信息中这边 仍未理解 测试文件.xlsx  是如何生成的,
以及为什么要将 cs.xlsx 与 测试文件.xlsx 进行行数的对比。
您可以留下联系方式,这边与您电话沟通下。
回复 使用道具 举报
jojo
初级会员   /  发表于:2022-6-10 17:30:27
9#
本帖为密码帖 ,请输入密码 
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部