加入引用:
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection; // 引用这个才能使用Missing字段
右键—>添加引用
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Excel.Worksheet worksheet;
app.Visible = true;
app.Workbooks.Add("");
worksheet = (Excel.Worksheet)app.Worksheets.get_Item(1);
//标题
worksheet.Cells[1, 1] = "SECTOR_ID";
worksheet.Cells[1, 2] = "PCI";
worksheet.Activate();
for (int i = 0; i < N; i++)
{
worksheet.Cells[i + 2, 1] = sList.sectorList[i].sectorID;
worksheet.Cells[i + 2, 2] = y[i];
}
app.ActiveWorkbook.SaveAs(@"f:\result.xlsx", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,Missing.Value, Missing.Value); //保存
app.Workbooks.Close(); //关闭
app.Quit(); //退出
出现错误:
Message = “无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 找不到 。 (异常来自 HRESULT:0x80030002 (STG_E_FILEN…
解决:
虽然已安装Microsoft office 2010,仍出现以上问题,安装WPS后,以上问题消失。