是否可以编写一个通过excel文件运行数据的服务?

时间:2010-04-19 12:27:15

标签: c# excel

我想创建一个服务,它会将提供的数据插入到电子表格字段中,并在重新计算后从其他电子表格字段中获取结果,并且它应该支持多个并行执行。这有可能吗?也许有人可以提供一些我可以开始学习的教程的链接?

3 个答案:

答案 0 :(得分:0)

您可以使用Microsoft.Office.Interop.Excel使用Office自动化,如下所述:

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel%28office.11%29.aspx

连接到Excel并使它做起来相当容易,但它可能有点不稳定,而且之后正确关闭它会更加困难。

这是一个样本:

http://support.microsoft.com/kb/302084

答案 1 :(得分:0)

我过去使用smartxls创建了这样的服务。它允许您打开现有的电子表格,填写一些值并阅读结果。但它并不是免费的。

示例代码:

WorkBook book = new WorkBook();
string path = "c:\sheet.xls";
//Open an existing spreadsheet which will be used as a template for generating the new spreadsheet.
//After opening, the workbook object represents the complete in-memory object model of the template spreadsheet.
book.read(path);

book.Sheet = 0; //base
book.setText(15, 4, "man"); 
book.setEntry(17, 4, DateTime.Now);
book.recalc();
  • 免责声明:我不是作者或与SmartXls有任何关联

答案 2 :(得分:0)

我不相信Microsoft.Office.Interop.Excel支持并行处理。

您最好的选择是获得第三方流程。我已经使用了很好的NPoi,但很多都取决于你想要支持哪些版本的Excel。

http://npoi.codeplex.com/

ETA:这里的教程 http://www.leniel.net/2009/07/creating-excel-spreadsheets-xls-xlsx-c.html