Kendo ui 剑道电子表格中的范围值提取将日期更改为整数

Kendo ui 剑道电子表格中的范围值提取将日期更改为整数,kendo-ui,kendo-asp.net-mvc,kendo-ui-mvc,Kendo Ui,Kendo Asp.net Mvc,Kendo Ui Mvc,我正在使用剑道电子表格从Excel文件导入数据,以便使用Ajax回调将其插入SQL Server数据库。Ajax回调可以正常工作,但我已经确定,任何日期字符串都将被转换为从基准日期12/30/1899的整数偏移量。我已经向Telerik提交了一份支持票,但他们似乎不理解这个问题 数据以日期的形式适当地显示在剑道电子表格中。剑道将输入的日期“12/1/2015”转换为“12-1-2015” 我使用的是最新版本的ASP.NET MVC 5包装器,但JavaScript代码是2016-1-226-54

我正在使用剑道电子表格从Excel文件导入数据,以便使用Ajax回调将其插入SQL Server数据库。Ajax回调可以正常工作,但我已经确定,任何日期字符串都将被转换为从基准日期12/30/1899的整数偏移量。我已经向Telerik提交了一份支持票,但他们似乎不理解这个问题

数据以日期的形式适当地显示在剑道电子表格中。剑道将输入的日期“12/1/2015”转换为“12-1-2015”

我使用的是最新版本的ASP.NET MVC 5包装器,但JavaScript代码是2016-1-226-545版本的JavaScript。包装器版本似乎无关紧要,但JavaScript的更高版本有gulpfile.js,这与我的ASP.NET MVC 5项目上的Bundleconfig接口冲突,因此我只使用适用于我的设置的最后一个版本的JavaScript

我正在使用的电子表格从一开始就非常基本:

@(
Html.Kendo().Spreadsheet()
.Name("SiteSlotDataSS")
  .Rows(10)
  .Columns(4).ColumnWidth(100)
  .Sheets(sheets =>
  {
   sheets.Add()
     .Name("Study Data");
  }
  )
)
我使用导入选项拉入Excel电子表格,并使用带有单击事件例程的简单按钮将数据复制到字符串数组以发送到Ajax回调。我已确认发送到服务器控制器的数据与发送前客户端的数据相同。从范围中提取值时,会发生日期到整数的转换

选择值的相关代码为:

values = sheet.range("A" + headerRows.toString() + ":" + endRange + (headerRows + rows).toString()).values();
这将生成除包含日期的列之外的所有其他列的正确翻译

我尝试了以下方法来强行解决这个问题,但没有成功:

for (var x = 0; x <= rows; x++) {
    sheet.range("K" + (headerRows + x).toString()).format(kendo.spreadsheet.formatting.date);
}

首先,我想你指的是1899年12月31日。把任何事情提到1899年12月30日是没有意义的

Excel日期从1900年1月1日开始,就像你的剑道(日语:“剑之道”)日期一样。如果你得到的是一个整数,只需格式化列,就可以强制它到接收时的相应日期。没有必要使用特定的函数将1900年以来的天数“转换”为文本日期(MM/DD/YYYY),因为它们是相同的,只是在人类可读的表示上有所不同


当然,从您的描述中不清楚Excel是在问题的输入端还是输出端。

我已经用Telerik解决了存储问题,他们已经确认电子表格小部件中存在错误


目前,解决方案是将值数组一次返回一行到服务器,并在服务器端进行数据转换。值数组中返回的日期整数是剑道电子表格在客户端存储信息的方式。格式化列只会改变客户端显示。It不会更改Kendo从所选电子表格范围返回值矩阵的方式。

我对其进行了测试。我使用open_date=basedate.AddDays(offset)将整数转换回日期其中offset是整数的Double.Parse。它工作正常。基准日期是12/30/1899。再次检查您的数学。1/1/1900的整数值为2。我使用的初始日期为DateTime basedate=new DateTime(1899,12,30);问题很清楚,我创建了一个简单的、空的剑道电子表格并导入了一个excel文件。然后我调用了一个带有ajax回调的javascript例程,将电子表格的内容发送到服务器以存储在数据库中。有一些细节遗漏了,但这些细节可能会因导入的excel数据库而异。数据以简单的字符串数组形式发送到服务器。至于剑道的意义,你需要更多地使用Telerik的东西来理解,从他们的文档开始,几乎没有什么意义。@TimothyDooling你能回答以下问题吗