如何在web中实现类似excel的表格控件

发布网友 发布时间:2022-04-22 05:47

我来回答

2个回答

懂视网 时间:2022-05-12 23:06

  Execl功能非常强大,内置的很多函数或公式可以大大提高对数据的加工处理能力。那么在web中有没有类似的控件呢?经过一番搜寻,发现handsontable具备了基本的excel功能支持公式,同时能对数据进行实时编辑。另外支持拖动复制、Ctrl+C 、Ctrl+V 等等。在浏览器支持方面,它支持以下的浏览器: IE7+, FF, Chrome, Safari, Opera。

首先引入相关库文件,公式支持不包含在handsontable.full.js中,需要单独引入:

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
10 
11 
12 
13 
14 

在HTML中放置一个Div容器来存放handsontable控件:

1 
2 
3

在javascript代码中,首先获取div容器,然后创建表格控件:

 1 

其中 =SUM(B5,E3)的公式是RuleJs提供的,return 1+2是自己实现的C#代码脚本,需要单击解析:
 1 public class CSEngine : IHttpHandler {
 2 private static int count = 0;
 3 public void ProcessRequest (HttpContext context) {
 4  context.Response.ContentType = "text/plain";
 5 
 6  try
 7  {
 8  count++;
 9  string ret = "";
10  string code = context.Request["code"].ToString();
11  if (string.IsNullOrEmpty(code))
12   {
13   ret = "参数错误";
14   }
15  else
16   {
17   ScriptOptions options = ScriptOptions.Default
18    .AddReferences(
19   Assembly.GetAssembly(typeof(DBServices.DataAccess))
20    )
21   //.AddImports("System.Data")
22   //.AddImports("System.Data.SqlClient")
23   .AddImports("DBServices");
24   var state = CSharpScript.RunAsync(code, options).Result.ReturnValue;
25   ret = state.ToString();
26 
27   state = null;
28   options = null;
29   }
30   Console.WriteLine(count);
31   context.Response.Write(ret);
32  }
33  catch(Exception ex)
34  {
35  //error
36   Console.WriteLine(count);
37  }
38  }
39 
40 public bool IsReusable {
41  get {
42  return false;
43  }
44  }
45 
46 }

运行代码,如下:

热心网友 时间:2022-05-12 20:14

SpreadJS 可以使用 Excel ExcelIO 服务来和Excel文件交互。ExcelIO服务需要部署到服务端,通过 ExcelIO 服务你可以导入 Spread 文件后你可以和表单中的数据交互,并且保存分发给最终用户。SpreadJS 支持导出到多种格式的文件,包括 Excel2007(XLSX)\Excel 97 (XLS)、CSV 和 TXT格式.
具体的实现,可以参考下面的介绍
http://www.gcpowertools.com.cn/procts/spreadjs/

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com