源码信息:
protected void Button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.ApplicationClass myExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
if (myExcel == null)
{
Response.Write("无法创建Excel对象,可能您的电脑未安装Excel!");
}
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
//新建工作簿
Microsoft.Office.Interop.Excel.Workbook workBook = excelApp.Workbooks.Add(true);
//新建工作表
Microsoft.Office.Interop.Excel.Worksheet ws = workBook.ActiveSheet as Microsoft.Office.Interop.Excel.Worksheet;
Object missing = System.Reflection.Missing.Value;
//try
//{
ws.SaveAs("c:\\temp.xls", missing, missing, missing, missing, missing, missing, missing, missing, missing);
//}
//catch(Exception ex)
//{
//System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CurrentCulture;
//Response.Write(ex.Message+"********"+ci.Name.ToString());
//}
ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 3]).Value2 = "sssss";
//ws.Quit();
}
错误信息:
Exception from HRESULT: 0x800A03EC
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800A03EC
源错误:
行 41: //try
行 42: //{
行 43: ws.SaveAs("c:\\temp.xls", missing, missing, missing, missing, missing, missing, missing, missing, missing);
行 44: //}
行 45: //catch(Exception ex)
[COMException (0x800a03ec): Exception from HRESULT: 0x800A03EC]
Microsoft.Office.Interop.Excel._Worksheet.SaveAs(String Filename, Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, Object AddToMru, Object TextCodepage, Object TextVisualLayout, Object Local) +0
NewExcle.Button1_Click(Object sender, EventArgs e) in d:\Downloads\WebSite1\NewExcle.aspx.cs:43
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981
------解决方案--------------------------------------------------------
顶,每天回帖即可获得10分可用分
------解决方案--------------------------------------------------------
你这个代码看着有点晕
给你个Excel导入导出的类
参考看看http://blog.csdn.net/xuenzhen123/archive/2009/10/22/4713019.aspx
------解决方案--------------------------------------------------------
当EXCEL单元格处于编辑状态时,往单元格赋值会出现 HRESULT: 0x800A03EC 错误,原因是编辑时,EXCEL很多功能被禁用。
如何解决这个问题
方法1:赋值之前,将EXCLE文件保存一下
Excel.Worksheet ws;//excel工作薄中的工作表
Object missing = System.Reflection.Missing.Value;
ws.SaveAs("c:\\temp.xls", missing, missing, missing, missing, missing, missing, missing, missing, missing);
ws[3,4]="test";
方法2:
Excel中,如何在cell处于编辑状态时,对其用代码赋值
当我们用Winform程序去自动化Excel的时候,常常要实现这样的功能,给一个cell赋值,貌似很简单,得到range以后,设置它的Value2属性就可以了。但是还是会存在一个小问题,当你要赋值的cell正处于编辑状态的时候,针对该cell的所有代码将被忽略,赋值失败。(如当A1格处于编辑状态时,用代码对A1赋值将没有任何效果)
所以如何判断Excel是否处于编辑状态,成为解决这个问题的关键。很多人都曾试图找一个事件能在Excel进入编辑状态的时候触发,让程序能够得到通知。但是Excel至少可以通过四种方法进入编辑状态: