C#调用Excel的单变量求指导时 间歇性报错

.Net技术 码拜 8年前 (2016-02-27) 1059次浏览
功能描述:
用C#调用Excel的“单变量求指导”功能,返回计算后的值。
服务器环境:
Windows Server2012R2  ,  Office2013
调用代码:
Microsoft.Office.Interop.Excel.Application excelApplication = new Microsoft.Office.Interop.Excel.Application();
string newPath = string.Format(@”D:\ExcelTool\测试0610.xlsm”);
var workBook = excelApplication.Application.Workbooks.Add(newPath);
excelApplication.DisplayAlerts = false;
excelApplication.AlertBeforeOverwriting = false;
excelApplication.Visible = false;
var sheet = (Worksheet)workBook.Sheets[“Sheet1”];
//单元格赋值
sheet.Cells[3, 2] = B3;
sheet.Cells[3, 3] = C3;
sheet.Cells[3, 4] = D3;
sheet.Cells[3, 5] = E3;
sheet.Cells[3, 6] = F3;
sheet.Cells[3, 7] = G3;
//获取计算后的值B5
var rangeC5 = sheet.get_Range(“C5”, Type.Missing);
var succededB5 = rangeC5.GoalSeek(0, sheet.get_Range(“B5”, Type.Missing));
var xRangeB5 = sheet.get_Range(“B5”, Type.Missing);
double xValueB5 = Convert.ToDouble(xRangeB5.Value);
workBook.Close();
问题描述:
间歇性的报错,报错之后在一段时间内(大约10分钟)一直是报错状态,然后正常,然后不定什么时候又报错。
错误日志:
错误应用程序名称: EXCEL.EXE,版本: 15.0.4420.1017,时间戳: 0x506741b5
错误模块名称: combase.dll,版本: 6.3.9600.18202,时间戳: 0x569e6ee3
异常代码: 0xc0000005
错误偏移量: 0x000000000003a02f
错误进程 ID: 0x9940
错误应用程序启动时间: 0x01d1c44c4cef9e66
错误应用程序路径: C:\Program Files\Microsoft Office\Office15\EXCEL.EXE
错误模块路径: C:\Windows\SYSTEM32\combase.dll
解决方案

100

诱发 0xc0000005 的因素太多了:内存不够、杀毒软件…….

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#调用Excel的单变量求指导时 间歇性报错
喜欢 (0)
[1034331897@qq.com]
分享 (0)