我想创建一个服务,它会将提供的数据插入到电子表格字段中,并在重新计算后从其他电子表格字段中获取结果,并且它应该支持多个并行执行。这有可能吗?也许有人可以提供一些我可以开始学习的教程的链接?
答案 0 :(得分:0)
您可以使用Microsoft.Office.Interop.Excel使用Office自动化,如下所述:
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel%28office.11%29.aspx
连接到Excel并使它做起来相当容易,但它可能有点不稳定,而且之后正确关闭它会更加困难。
这是一个样本:
答案 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();
答案 2 :(得分:0)
我不相信Microsoft.Office.Interop.Excel支持并行处理。
您最好的选择是获得第三方流程。我已经使用了很好的NPoi,但很多都取决于你想要支持哪些版本的Excel。
ETA:这里的教程 http://www.leniel.net/2009/07/creating-excel-spreadsheets-xls-xlsx-c.html