你的位置:首页 > 操作系统

[操作系统]关于 IIS 中 Excel 访问的问题


关于 IIS 上 Excel 文件的访问, 一路上困难重重, 最后按以下步骤进行设置, 可在 IIS 中正常使用!

1. 引用及代码:

 1). 项目中添加 Excel 程序集引用(注意: 从系统 COM 组件中选择"Microsoft Excel 1*.0 Object Library"):

 2). 设置 Excel 程序集属性: 选择已添加的 Excel 程序集 Microsoft.Office.Interop.Excel, 右键选择属性, Copy Local 改为 True, Embed Interop Types 改为 False.

 3). Excel 访问代码:

 1 private ICollection<Sample> ReadExcel(string fileName) 2     { 3       Application excel = new ApplicationClass { Visible = false, DisplayAlerts = false }; 4       Workbook workbook = null; 5       Worksheet sheet = null; 6  7       try 8       { 9         workbook = excel.Workbooks.Open(fileName);10         sheet = (Worksheet)workbook.ActiveSheet;11 12         if (sheet == null)13         {14           throw new Exception("Read excel file failed!");15         }16 17         Range range = null;18         int rowIndex = 1;19 20         ICollection<Sample> list = new HashSet<Sample>();21         for (rowIndex = 2; rowIndex <= sheet.UsedRange.Rows.Count; rowIndex++)22         {23           if (!this.HasValue(sheet, rowIndex))24           {25             break;26           }27 28           int colIndex = 1;29           var sample = new Sample();30           range = (Range)sheet.Cells[rowIndex, colIndex++];31           sample.Name = range.Value;
              // ... other code logic32 list.Add(sample);33 }34 return list;35 }36 catch (Exception ex)37 {38 throw ex.GetInnerException();39 }40 finally41 {42 if (workbook != null)43 {44 workbook.Close(false);45 System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);46 System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);47 }48 workbook = null;49 excel.Workbooks.Close();50 excel.Quit();51 System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);52 excel = null;53 GC.Collect();54 GC.WaitForPendingFinalizers();55 File.Delete(fileName);56 }57 }

4.  IIS 设置:

 1). 站点发布后, 选择 Authentication -> Anonymous Authentication -> Edit 选择 Application pool identity -> OK.

 2). IIS Application pool 选中当前 Application -> Advanced Settings -> Identity 选择 Network Service -> OK

3.  COM 组建设置:

 1).开始--〉运行--〉cmd
   2)命令提示符下面,输入mmc -32,打开32的控制台
   3).文件菜单中或根节点右键,添加删除管理单元--〉组件服务
   4).在"DCOM配置"中找到"Microsoft Excel Application",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel Application 属性"对话框
 5).点击"标识(Identity)"标签,选择"交互式用户(The interactive user)"
 6).点击"安全(Security)"标签,在"启动和激活权限(Launch and Activition Perimissions)"上点击"自定义(Customize)",然后点击对应的"编辑(Edit)"按钮,在弹出的"安全性(Security)"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
   7).依然是"安全(Security)"标签,在"访问权限(Access Perimissions)"上点击"自定义(Customize)",然后点击"编辑(Edit)",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.


 
  4.重新启动IIS,测试通过




去青海的旅游团价格去青海旅游必去景点去青海旅游要多少钱去青海旅游最佳路线深圳去宁夏旅游报价中华民族文化村旅游景点介绍 明思克号航空母舰_明斯克号航母世界旅游景点介绍 2015年学生火车票优惠时间规定 14年放假安排时间表 深圳园山公园门票多少钱?园山风景区门票包含什么? 2015清明节鲁冰花童话园门票多少钱?龙门鲁冰花童话园清明节门票价格? 来安徽做花痴 安徽赏花攻略(组图) 无奇不有的世界,这些怪异的婚礼习俗你可曾听过[三] 霞客古渡游览需要多长时间?上林霞客古渡玩完要多久? 新兴天露山杜鹃花花期多长?云浮天露山杜鹃花开到什么时候? 霞客古渡自助游攻略?上林霞客古渡开车要多久? 新兴天露山漂流节好玩吗?2015天露山漂流节玩什么? 外国旅游要注意什么? 马尔代夫潜水的最佳季节是?潜水时需要携带哪些装备? 泰式按摩怎么回事?有什么效果啊? 迪拜女人怎么样?中国男人可以娶一个迪拜女人吗? AT28HC256E-12JU Datasheet AT28HC256E-12JU Datasheet AT28HC256E-12LM Datasheet AT28HC256E-12LM Datasheet AT28HC256E-12LM/883 Datasheet AT28HC256E-12LM/883 Datasheet 大兴安岭到香港三日旅游 大兴安岭到香港三日旅游 大兴安岭到香港三日旅游 齐齐哈尔到港澳4日游 齐齐哈尔到港澳4日游 齐齐哈尔到港澳4日游 浙江香港二日游 浙江香港二日游 浙江香港二日游