asp.net – 如何使用Excel服务器端?

客户端想要“Web启用”电子表格计算 – 用户指定某些单元格的值,然后在其他单元格中显示结果值.

(他们不想向用户显示一个“电子表格式”界面,这不是一个UI问题.)

他们有一个巨大的电子表格,在许多表格上进行大量计算.但是,最后,只有两件事情是重要的:(1)你将一个单元格中的数字放在一张纸上,(2)你在另一张纸上的几个单元格中得到相应的数字.其余的是一个黑盒子.

我想提供一个UI给用户输入他们想要的数字,然后我想以编程方式打开Excel文件,设置数字,告诉它重新计算,并读取结果.

这是可能/可取的吗?有没有一个商业组件使这更容易?我们没有考虑到他们的陷阱?

(我知道我可以使用Office Automation来执行此操作,但是我知道不建议在服务器端执行此操作,因为它尝试在用户的上下文中运行等)

编辑:很多人都说我需要在代码中重新创建公式.然而,这将是惊人的复杂.听起来这可能是一个解决的问题 – 有没有人知道某种类型的组件会为我做的?有人必须创建一些“Excel-formula-to-code”生成系统.我很乐意支付

编辑/解决方案:SpreadsheetGear是我正在寻找的.除此之外,它可以让您使用XLS作为计算器.您可以设置所选单元格的原始值,然后读出计算单元格的值.正是我在找什么

解决方法

你绝对不想在服务器端使用互操作性,在客户端使用它作为一个污泥是不够的.

我可以看到两个选择:

找出电子表格逻辑.这可能会使您在长期内受益,使业务逻辑成为已知数量,而在短期内,您可能会发现电子表格中存在实际的错误(我遇到了多年使用的怪物电子表格,这些电子表格已经变得简单他们中的错误 – 每个人都假设答案必须正确)

评估SpreadSheetGear.NET,它基本上是替代interop,它没有Excel(它复制了大量的Excel的非可视化逻辑和IO在.NET中)

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...