找回密码
 立即注册

QQ登录

只需一步,快速开始

zjw0218

注册会员

2

主题

10

帖子

22

积分

注册会员

积分
22

微信认证勋章

最新发帖

[已处理] Excel导入问题

zjw0218
注册会员   /  发表于:2016-3-19 17:16  /   查看:6685  /  回复:11
本帖最后由 zjw0218 于 2016-3-19 17:34 编辑

SpreadJS Excel 导入导出示例我从在线导入导出测试了一下,从一个模板导入(含有公式),格式都是正确的,但是表格权重一列的数据发生了变化,比如我输入10,结果却显示1000%,正确应该显示10%才对,这是为什么?下面正常显示的权重数据是表格原有自带的,这个是正确的,但是修改依然会出现增加100倍,即输入5,结果显示500%。如果将数据导出,结果就变成第二张图片样式了,数据也变了(1000%变成了100%),有的甚至没有了(变成了###),这是啥情况啊?
请尽快帮忙回答下啊,这是bug么?


import_err.png
export_error.png

11 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-21 10:11:28
沙发
第一点如果一个单元格的类型是百分比,那么您输入10 会显示1000%,这个是正确的,Excel也是这样,SpreadJS的功能是和Excle高度一致的。
第二点你说的导出时导出excel吗?在Excel中如果单元格的宽度不足以显示某些格式的数据时会显示成###,只要拉宽单元格就好了,百分比就是这样。

1000%变成了100% 这个问题希望您把步骤描述清楚些,发个模板上来。
回复 使用道具 举报
zjw0218
注册会员   /  发表于:2016-3-21 19:50:21
板凳
本帖最后由 zjw0218 于 2016-3-21 19:53 编辑

工作太忙,稍晚回复,见谅!问题描述如下截图,希望能够理解!

1、权重一列属性设置,输入10,自动加上%,即10%

tablez_set_1.png

2、正常表格第一列输入10和第二列输入20,显示如下,10%和20%

KPI_OK.png
3、合计是一个sum函数,如截图,即30%

tablez_set_2.png

4、将该表格导入spreadJs导入导出在线示例,输入同上的数据,10和20,结果是1000%和2000%
注:你那句:第一点如果一个单元格的类型是百分比,那么您输入10 会显示1000%,这个是正确的,Excel也是这样,SpreadJS的功能是和Excle高度一致的   我很是不明白?!

import_err_online.png

5、将表格导出到本地,编辑表格,结果如下:

export_error_online.png








回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-22 10:32:15
地板
感谢您提供这么详细的说明,您的问题我已经明白了。首先,百分比是对数据的显示方式, 1 = 100%,所以如果我们在Excel和SpreadJS中的百分比单元格输入 10的时候会自动转换成1000%。这个是没有问题的。您可以在Excel试试。如果输入1%那么会直接显示1%,这个SpreadJS和Excel也是一样的。
Excel百分比单元格.png
其次,当我们编辑一个有数据百分比单元格的时候,SpreadJS和Excel有些差异,SpreadJS是显示的单元格的实际值,比如1000%的实际值就是10,10%显示0.1。Excel仍然是显示百分比。

所以在SpreadJS中输入百分比的时候需要做个转换,希望显示10%的时候需要输入0.1,或者直接输入“10%” 。

编辑百分比单元格直接显示百分比的特性可能会在后续版本更新,希望您持续关注。

回复 使用道具 举报
zjw0218
注册会员   /  发表于:2016-3-22 20:07:46
5#
今天在线导入了带有多sheet的Excel表格,其中一个带有固定的表头,最后发现下面的数据是看不到的,这个是页面调整下就OK了,还是咱们产品本身的问题呢?
表头问题.png
2、导入的时候,为什么会多出来两个空白的sheet?
sheet_增加.png


3、我想知道咱们spread的数据格式是什么样的,我要将数据 存放到数据库中,这样数据是否很复杂?

4、我计划将这个系统部署到Linux的操作系统上,你们的产品经理说暂时不支持Linux导入导出这样的功能,我怎样能实现这个功能?

谢谢回答!
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-23 10:50:54
6#
您好,
1.2两个问题是否方便上传您的excel 模板方便我们重现问题。

3. 在前端数据一般都是用的Json格式。
如果您使用绑定的方式显示数据那么可以在改变数据后使用getDataSource的方法取到绑定的数据,这个数据是json格式的
  1. var test = [
  2.         {"Series0":2,"Series1":1},
  3.         {"Series0":4,"Series1":2},
  4.         {"Series0":3,"Series1":4}
  5.     ];
  6. activeSheet.setDataSource(test);
  7. alert(activeSheet.getDataSource());
复制代码

如果您是导入的excel,那么您可以在前端获取你需要的单元格的数据,组织成json 返回 。

保存数据库前将json序列化成您所需要的格式就好了。
SpreadJS的包中有一个MVC的示例您可以看下。SpreadJSv9(正式版)\SpreadJS Javascript Library\samples\MVCSample

4. ExcelIO是在.net环境下运行的,具体如何在Liunx上部署.net 程序需要您研究下,这个应该是可以做到。
产品经理说暂时不支持Linux导入导出,是指我们不提供直接在liunx上可运行的导入导出工具,但是可以在Liunx服务器上发布。net程序。


回复 使用道具 举报
zjw0218
注册会员   /  发表于:2016-3-24 19:44:08
7#
本帖最后由 zjw0218 于 2016-3-24 21:35 编辑

你好,
1、我现在处于对你们产品是否符合我的需求进行评估阶段,只有一个SpreadJS试用版本,所以没有你所说的SpreadJS Javascript Library\samples\MVCSample,能过给我提供一下示例我看一下。如果我要将表格的所有数据和属性存到数据库中,然后在展现出来,是一个比较复杂的过程。
2、你们的ExcelIO是不是调用.NE的一些基础类库呢?ExcelIO是否有自己的服务或者接口,我可以分布式调用呢?比如,我的主程序跑在centos系统上,当我导入超出时,可以远程调用一台window服务器上的响应接口即可,这是我的设想,还请你们给我一定的技术评估,这样做是否可行.注:前端能够完全支持导入导出的版本是在11月份能够发布么?
谢谢!
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-25 09:57:07
8#
1. 在试用版中也有samples的。SpreadJSv9(试用版)\SpreadJS Javascript Library.zip\samples
java平台 [SpreadJS] Java平台之数据库增删改排序

mvc 3 : MVCSample.zip (2.41 MB, 下载次数: 159)
回复 使用道具 举报
zjw0218
注册会员   /  发表于:2016-3-25 11:03:17
9#
你好,这个MVCSample有没有稍微详细一点的文档说明?我该怎么在本地run起来(是直接就可以放到tomcat里么?), 又该需要哪些配置?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-25 11:24:34
10#
zjw0218 发表于 2016-3-25 11:03
你好,这个MVCSample有没有稍微详细一点的文档说明?我该怎么在本地run起来(是直接就可以放到tomcat里么?) ...

这个在Visual Studio 中直接运行。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部