程序中,和Excel有关的代码如下
Excel.Application myExcel;
Excel._Workbook myWB;
Excel._Worksheet myWS = null;
Excel.Range myRange = null;
string filePath = Server.MapPath("\\excel\\");
string strP ="liwen.xls";
FileInfo file = new FileInfo(strP);
try
{
myExcel = new Excel.Application();
myExcel.Visible =true;
myWB = myExcel.Workbooks.Add(true);
myWS = (Excel._Worksheet)myWB.Sheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
myWS = (Excel._Worksheet)myWB.Sheets[1];
myExcel.Cells[ 1 , 1 ] = "第一行第一列" ;
myExcel.Cells[ 1 , 2 ] = "第一行第二列" ;
myWB.SaveAs(file.FullName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}
catch(Exception e1)
{
Response.Write("初始化Excel文件出错,错误信息如下: "+e1.ToString());
return;
}
myWB.Close(false, Type.Missing, Type.Missing);
myExcel.Workbooks.Close();
myExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(myRange);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myWS);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myWB);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myWS = null;
myWB = null;
myExcel = null;
运行完成后,系统出错信息如下:初始化Excel文件出错,错误信息如下: System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Excel 不能访问文件“C:\WINNT\system32”。 可能原因有: * 指定的文档名称或路径不存在。 * 所要打开的文档被其他程序占用。切换到相应程序,关闭文档后再试。 * 所要保存的工作簿的名称与另一个只读文档同名。请用其他名称保存文档。 at Excel.WorkbookClass.SaveAs(Object Filename, Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, XlSaveAsAccessMode AccessMode, Object ConflictResolution, Object AddToMru, Object TextCodepage, Object TextVisualLayout) at WebApplication1.goonjiaojie1.Button4_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication1\goonjiaojie.aspx.cs:line 115 请问大虾该如何解决,急急急!!!!!!!!!
Excel.Application myExcel;
Excel._Workbook myWB;
Excel._Worksheet myWS = null;
Excel.Range myRange = null;
string filePath = Server.MapPath("\\excel\\");
string strP ="liwen.xls";
FileInfo file = new FileInfo(strP);
try
{
myExcel = new Excel.Application();
myExcel.Visible =true;
myWB = myExcel.Workbooks.Add(true);
myWS = (Excel._Worksheet)myWB.Sheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
myWS = (Excel._Worksheet)myWB.Sheets[1];
myExcel.Cells[ 1 , 1 ] = "第一行第一列" ;
myExcel.Cells[ 1 , 2 ] = "第一行第二列" ;
myWB.SaveAs(file.FullName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}
catch(Exception e1)
{
Response.Write("初始化Excel文件出错,错误信息如下: "+e1.ToString());
return;
}
myWB.Close(false, Type.Missing, Type.Missing);
myExcel.Workbooks.Close();
myExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(myRange);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myWS);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myWB);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myWS = null;
myWB = null;
myExcel = null;
运行完成后,系统出错信息如下:初始化Excel文件出错,错误信息如下: System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Excel 不能访问文件“C:\WINNT\system32”。 可能原因有: * 指定的文档名称或路径不存在。 * 所要打开的文档被其他程序占用。切换到相应程序,关闭文档后再试。 * 所要保存的工作簿的名称与另一个只读文档同名。请用其他名称保存文档。 at Excel.WorkbookClass.SaveAs(Object Filename, Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, XlSaveAsAccessMode AccessMode, Object ConflictResolution, Object AddToMru, Object TextCodepage, Object TextVisualLayout) at WebApplication1.goonjiaojie1.Button4_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication1\goonjiaojie.aspx.cs:line 115 请问大虾该如何解决,急急急!!!!!!!!!
程序好像还有个问题,就是把Office组件生成的对象清除后,最好执行一下垃圾回收操作。GC.Collect();