解决问题:
读写office文档目前有2中方法,一种为引用微软的office com组件(下图为Microsoft Office 16.0 Object Library),
另一种为用第三方组件NPOI(源自java的poi,npoi可以从nuget下载)。
当web后端程序以第一种方式读写office 文档时,需要在web服务器做以下配置以确保可以不会有错误。
零:确认web程序在IIS中是否可以访问office com组件
try { var xx = new Microsoft.Office.Interop.Excel.Application(); xx.Visible = false; xx.Quit(); } catch (Exception ex) { WriteLog(ex.StackTrace); throw; }
默认没有做任何配置的情况下,以上web后端程序在发布到IIS上时会有异常,因此需要做以下设置
一、IIS的配置
1). 站点发布后, 选择 Authentication -> Anonymous Authentication -> Edit 选择 Application pool identity -> OK.
2). IIS Application pool 选中当前 Application -> Advanced Settings -> Identity 选择 Network Service -> OK
二、com组件权限配置
1).开始--〉运行--〉cmd
2)命令提示符下面,输入mmc -32,打开32的控制台
3)添加com组件配置(下图选择Add后点击OK)
4)选中Microsoft Excel Application
5) 配置以下3个属性
可以把everyone也付权限
三、重启IIS
参考:https://www.cnblogs.com/devonline/p/excelaccess.html