发布网友 发布时间: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/