日期:2014-05-17  浏览次数:20489 次

导出Excel报错
有时可以导出,有时报一下错误,这是为啥??
错误地址:
错误时间:2013/2/19 11:07:25
所在IP:
错误信息:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a。
错误详细:System.Runtime.InteropServices.COMException (0x8000401A): 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a。
     在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
   在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
----------------------



导出Excel 方法
 /// <summary>
        /// 导出Excel 
        /// </summary>
        /// <param name="dtTemp"></param>
        public static void ExportCMB(System.Data.DataTable dtTemp, string ServerPath, string TextName, System.Web.UI.Page page)
        {
            // 定义要使用的Excel 组件接口
            // 定义Application 对象,此对象表示整个Excel 程序
            Application excelApp = null;
            // 定义Workbook对象,此对象代表工作薄
            Workbook workBook;
            // 定义Worksheet 对象,此对象表示Execel 中的一张工作表
            Worksheet ws = null;
            //定义Range对象,此对象代表单元格区域
            Range range;

            int dcell = 1;
            int colindex = 0;

            int rowcount = dtTemp.Rows.Count;
            int colcount = dtTemp.Columns.Count;

            try
            {
                //初始化 Application 对象 excelApp
                excelApp = new Application();
                //在工作薄的第一个工作表上创建任务列表
         &n