找回密码
 立即注册

QQ登录

只需一步,快速开始

18889186136

初级会员

12

主题

30

帖子

340

积分

初级会员

积分
340

活字格认证

18889186136
初级会员   /  发表于:2014-12-12 14:35  /   查看:12203  /  回复:13
我本地的excel中是格式是2013/5/14;
可是我复制过来到这个wijspread中就变成了05/14/2013;
我想要复制过去后变成2013-05-14,如果做?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

13 个回复

正序浏览
iceman
社区贡献组   /  发表于:2014-12-19 18:45:00
14#
回复 13楼18889186136的帖子

SpreadJS 设置 Format 方法请参考以下代码:

  1. var dvalue= 12345.6789;
  2. activeSheet.setValue(0,0,dvalue);
  3. activeSheet.getCell(0, 1).formatter("M");
  4. activeSheet.setValue(0, 1, new Date(2011, 2, 9));
  5. activeSheet.getCell(0, 2).formatter("m");
  6. activeSheet.setValue(0, 2, new Date(2012, 10, 15));
  7. activeSheet.getCell(0, 3).formatter("General");
  8. activeSheet.setValue(0, 3, new Date(2012, 10, 15));
  9. activeSheet.getCell(0, 4).formatter("#.#%");
  10. activeSheet.setValue(0, 4, 1);
  11. activeSheet.getCell(1, 0).formatter("[>2]0.0;[<-3]0.0;zero;");
  12. activeSheet.setValue(1, 0, 3);
复制代码
回复 使用道具 举报
18889186136
初级会员   /  发表于:2014-12-19 16:20:00
13#
回复 12楼Alice的帖子

var ci = $.wijmo.wijspread.getCultureInfo($.wijmo.wijspread.Culture());

ci.shortDatePattern = &quot;yyyy-mm-dd&quot;;

$.wijmo.wijspread.addCultureInfo(&quot;customCulture&quot;,ci);

$.wijmo.wijspread.Culture(&quot;customCulture&quot;);
再这之上
发现输入0,形成的json就变成空了,如何让0还是0?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-12-17 15:22:00
12#
回复 11楼18889186136的帖子

1.我使用的测试版本是2014V3。
addCultureInfo是2014V3版添加的功能。
2.你好,for循环2500次,为了避免这种大量的画法重画导致的问题,我们有做一些限制。如果你需要循环2500次的话,请使用isPaintSuspended,打开/关闭 Paint。 请注意,这个方法是成对出现的。分别在你循环开始和结束,添加如下两句代码:
sheet.isPaintSuspended(true);
//在此处添加循环
sheet.isPaintSuspended(false);

另外,如果你是需要对整个sheet设置format,请使用通过设置default style的方式实现。
  1. $(document).ready(function () {
  2.      $(&quot;#ss&quot;).wijspread();
  3.      var spread = $(&quot;#ss&quot;).wijspread(&quot;spread&quot;);
  4.      var sheet = spread.getActiveSheet();

  5.      //Set the default styles.
  6.      var defaultStyle = sheet.getDefaultStyle($.wijmo.wijspread.SheetArea.viewport);
  7.      defaultStyle.formatter = &quot;@&quot;;
  8.      sheet.setDefaultStyle(defaultStyle, $.wijmo.wijspread.SheetArea.viewport);
  9. });
复制代码


具体请参考产品文档:
http://helpcentral.componentone. ... me.html#styles.html
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
18889186136
初级会员   /  发表于:2014-12-17 10:45:00
11#
回复 10楼Alice的帖子

关于var ci = $.wijmo.wijspread.getCultureInfo($.wijmo.wijspread.Culture());

ci.shortDatePattern = &quot;yyyy-mm-dd&quot;;

$.wijmo.wijspread.addCultureInfo(&quot;customCulture&quot;,ci);

$.wijmo.wijspread.Culture(&quot;customCulture&quot;);

这段代码不对,我查看js 中都没这些方法,是不是版本的问题?

对应activeSheet.getCell(0,0).formatter(&quot;@&quot;);
这个方法都有什么操作,为什么循环250次就会导致网页崩溃?
for(var i=0;i&lt;50;i++){
      for(var y=0;y&lt;50;y++){
              activeSheet.getCell(i,y).formatter(&quot;@&quot;);
      }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-12-16 17:30:00
10#
回复 9楼18889186136的帖子

1.可以使用“@”,单元格会使用Text类型的格式。
activeSheet.getCell(0, 1).formatter(&quot;@&quot;);

对整个sheet设置参考8楼的代码。

2.这是可以自己写代码进行转换的,将里面的数字提取出来,然后转换成Date类型,参考:
  1. //转换json格式的日期(如:{ServerDatetime:&quot;/Date(1278930470649)/&quot;})为Javascript的日期对象
  2. function ConvertJSONDateToJSDate(jsondate) {
  3.     var date = new Date(parseInt(jsondate.replace(&quot;/Date(&quot;, &quot;&quot;).replace(&quot;)/&quot;, &quot;&quot;), 10));
  4.     return date;
  5. }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
18889186136
初级会员   /  发表于:2014-12-16 13:57:00
9#
回复 8楼Alice的帖子

问题 1: 有没有属性能控制,输入什么内容就显示什么内容?而且是以字符串的形式?
如我输入2010-10-10就是2010-10-10,是字符串的形式,而不是自动转成date形式?
问题2:发现默认情况下2010-10-10 形成的json串是&quot;/OADate(40188)/&quot;
          这样如何能转换成js 的date类型呢?不然无法入库呀
谢谢版主
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-12-16 11:48:00
8#
回复 7楼18889186136的帖子

对整个sheet设置Formatter是不推荐的。
我在5楼贴的链接里有如何利用自定义Culture来实现你的需求,推荐通过Culture的方式来实现。
代码参考:
  1. var ci = $.wijmo.wijspread.getCultureInfo($.wijmo.wijspread.Culture());
  2. ci.shortDatePattern = &quot;yyyy-mm-dd&quot;;
  3. $.wijmo.wijspread.addCultureInfo(&quot;customCulture&quot;,ci);
  4. $.wijmo.wijspread.Culture(&quot;customCulture&quot;);
复制代码


5楼发的相关文档再贴一遍:
http://helpcentral.componentone. ... #culturecustom.html
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
18889186136
初级会员   /  发表于:2014-12-16 10:06:00
7#
activeSheet.setFormatter(1,0,&quot;yyyy/MM/dd&quot;);
这样就可以了。关键是我不确定这个行和列,我想整个都把格式统一设定怎么办?
回复 使用道具 举报
18889186136
初级会员   /  发表于:2014-12-16 09:19:00
6#
回复 5楼Alice的帖子

不知道是我没理解你们的意思,还是你们没理解我的意思。。。
如果我手动输入2010-10-10,选中默认会变成10/10/2010.
我想要的结果是输入什么就是什么了。
这样问:能不能设置成文本格式。是把所有行和列,不需要针对某行某列。默认输入什么就是什么?需要代码
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部