我用C#编程导出到Excel,怎么所有的Excel都打不开?必须重新启动机器才可以.
Excel.Application excel = new Excel.ApplicationClass();
object oMissing = System.Reflection.Missing.Value;
Excel.Workbook xBk =excel.Workbooks.Open(@"d:\a.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//指定要操作的Sheet,两种方式:
// Excel.Workbook xBk = excel.Workbooks.Add(oMissing);
Excel.Worksheet xSt = (Excel.Worksheet)xBk.ActiveSheet;
excel.Cells[1,1] = "Ta";//文字
xSt.get_Range(excel.Cells[1,1],excel.Cells[1,1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//对齐方式
xSt.get_Range(excel.Cells[1,1],excel.Cells[1,1]).Select();//设置选中的部分的颜色
xSt.get_Range(excel.Cells[1,1],excel.Cells[1,1]).Interior.ColorIndex = 19;//设置为浅黄色,共计有56种
xSt.get_Range(excel.Cells[1,1],excel.Cells[1,1]).Font.Bold = true;//字体类型
xSt.get_Range(excel.Cells[1,1],excel.Cells[1,1]).Font.Size = 22;//字体大小
xSt.get_Range("a1","a1").ColumnWidth = 20;//列宽度
object oo = false;
xSt.get_Range("A1","D1").Merge(oo);//合并单元格
try
{
//保存文件
// xBk.SaveAs(@"c:\a.xls",System.Reflection.Missing.Value,"","",true,false,Excel.XlSaveAsAccessMode.xlNoChange,1,true,System.Reflection.Missing.Value,oMissing);
xBk.Save();
}
catch(Exception exc)
{
Label2.Text=exc.ToString();
}
finally
{
xBk.Close(false,null,null);
excel.Workbooks.Close();
excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject( xSt );
System.Runtime.InteropServices.Marshal.ReleaseComObject( xBk );
System.Runtime.InteropServices.Marshal.ReleaseComObject( excel );
xSt = null;
xBk = null;
excel = null;
GC.Collect();
}
导入到Excel后,Excel打不开,数据导入成功了,但必须重新启动机器才可以打开Excel.