win8导出EXCEL报表提示应用程序发生了无法处理的异常

win8导出EXCEL报表提示应用程序发生了无法处理的异常,第1张

第一:清杀宏病毒;(这种可能最大!)

第二:另存为2003版本后再导出;

第三:win8匹配的是office2010以上版本。office版本要与系统一致,32位配32位,6位配64位。

不好意思 今天才看到

导入EXCEL出错有很多方面的原因 我先说几个常见的

最常见的就是DCOM组件里面的配置 这个你应该知道吧 如果不知道再问我 我给你详细说

还有就是C盘的写入删除权限 当然可以不把要导出导入的EXCEL文件放在C盘 其他盘符都可以

还有一点就是C盘里面的(桌面/Desktop)这个文件夹 你查查看有没有 如果没有 请加上 暂时我记得就这么多

最后 64位和32位的系统 DCOM配置也是不一样的 这点希望你注意一下就好

如果还有什么问题 可以直接HI我

1有些导出是用了EXCEL的库文件,而不同电脑可能安装了不同版本的WORD,因为高低版本等原因引起的兼容性问题,可能会在另一台电脑上不能正常导出

排查:查看两台电脑的WORD版本

2有些固定格式报表的导出预行设置了XLT或其他格式的模版,当新的电脑时没有此模板文件时,会出错

解决:把模板移过来

3系统环境

C#编写的程序需要FRAMEWORK系统环境,如果两台电脑版本不同,可能在运行同一程序时发生一个正常一个出错

需要按程序的配置要求加装对应的FRAMEWORK

具体是什么异常?引用spirexlsdll来导出excel的方法可以参考下:

//创建一个workbook实例

Workbook wb = new Workbook();

//清除默认的工作表

wbWorksheetsClear();

//添加一个工作表并指定表名

Worksheet sheet = wbWorksheetsAdd("职员表");

//横向合并A1到G1的单元格

sheetRange["A1:G1"]Merge();

//写入数据到A1单元格,设置文字格式及对齐方式

sheetRange["A1"]Value = "环宇汽车公司员工基本情况登记表";

sheetRange["A1"]HorizontalAlignment = HorizontalAlignTypeCenter;

sheetRange["A1"]VerticalAlignment = VerticalAlignTypeCenter;

sheetRange["A1"]StyleFontIsBold = true;

sheetRange["A1"]StyleFontSize = 13F;

//设置第一行行高

sheetRows[0]RowHeight = 30F;

//创建一个DataTable

DataTable dt = new DataTable();

dtColumnsAdd("姓名");

dtColumnsAdd("性别");

dtColumnsAdd("出生日期");

dtColumnsAdd("学历");

dtColumnsAdd("联系电话");

dtColumnsAdd("职务");

dtColumnsAdd("工号");

dtRowsAdd("王伟", "男", "1990年2月10日", "本科", "13524756854", "销售","0054");

dtRowsAdd("李宁", "男", "1985年6月8日", "大专", "13259863247", "销售","0055");

dtRowsAdd("邓家佳", "女", "1989年11月25日", "本科", "13601540352", "销售","0029");

dtRowsAdd("杜平安", "男", "1978年4月16日", "中专", "13352014060", "保安","0036");

dtRowsAdd("唐静", "女", "1980年1月21日", "本科", "13635401489", "店长","0010");

//将DataTable数据写入工作表

sheetInsertDataTable(dt, true, 2, 1, true);

//设置该区域行高

sheetRange["A2:G7"]RowHeight = 15F;

//设置第三列及第五列列宽

sheetRange["A2:G7"]Columns[2]ColumnWidth = 15F;

sheetRange["A2:G7"]Columns[4]ColumnWidth = 15F;

//设置网格线样式及颜色

sheetRange["A2:G7"]BorderAround(LineStyleTypeMedium);

sheetRange["A2:G7"]BorderInside(LineStyleTypeThin);

sheetRange["A2:G2"]BorderAround(LineStyleTypeMedium);

sheetRange["A2:G7"]BordersKnownColor = ExcelColorsBlack;

//保存为xlsx文件

wbSaveToFile("创建Excelxlsx", FileFormatVersion2013);

(代码参考自原文。)

配置DCOM

具体配置方法如下:

1:在服务器上安装office的Excel软件

2:在"开始"->"运行"中输入dcomcnfgexe启动"组件服务"

3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",d出"Microsoft Excel 应用程序属性"对话框

5:点击"标识"标签,选择"交互式用户"

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在d出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在d出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限

在window 2003 server中,如果还出现8000401a错误,在标示里面选择“下列用户”,填写登录计算机的并拥有对Excel本地 *** 作权限的用户。或者在标示里面选择“启用用户” 或者添加一个every one 用户

以上就是关于win8导出EXCEL报表提示应用程序发生了无法处理的异常全部的内容,包括:win8导出EXCEL报表提示应用程序发生了无法处理的异常、你好,导出Excel表格时,异常来自 HRESULT:0x800A03EC,请问你是怎么解决的谢谢、只是换了台电脑C#导出Excel就提示这个错误等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10101988.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存