excel编程问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel编程问题相关的知识,希望对你有一定的参考价值。

请看图片,excel里面的,我想编一个,"如果D为“可”,那么G=B+E,如果D为“否”,那么G=B+C

如何解决编程中Excel不能读取的问题

首先,这里提供的解决办法仅适用于出现如下异常的情况:
无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的
COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID
为“000208D5-0000-0000-C000-000000000046”的接口的 COM 组件调用 QueryInterface 因以下错误而失败:
库没有注册。 (异常来自 HRESULT:0x8002801D
(TYPE_E_LIBNOTREGISTERED))。
英文版的异常消息如下:
Unable to
cast COM object of type \'Microsoft.Office.Interop.Excel.ApplicationClass\' to
interface type \'Microsoft.Office.Interop.Excel._Application\'. This operation
failed because the QueryInterface call on the COM component for the interface
with IID \'000208D5-0000-0000-C000-000000000046\' failed due to the following
error: could not be found. (Exception from HRESULT: 0x80030002
(STG_E_FILENOTFOUND)).

本人出现如上异常的系统环境如下:
1. 操作系统为Windows Server 2008 R2 x64;
2.
安装了SharePoint 2010 Beta,从而如下文件夹及相应文件被创建:
C:\\Program Files\\Microsoft
Office\\Office14\\...
C:\\Program Files (x86)\\Microsoft
Office\\Office14\\...
3. 安装了Visual Studio 2010
RC,从而如下文件夹及相应文件被创建:
C:\\Program Files\\Microsoft Visual Studio 10.0\\Visual
Studio Tools for
Office\\PIA\\Office12\\Microsoft.Office.Interop.Excel.dll
C:\\Program Files
(x86)\\Microsoft Visual Studio 10.0\\Visual Studio Tools for
Office\\PIA\\Office12\\Microsoft.Office.Interop.Excel.dll
4. 安装了MS Office
2007。(注:MS
Office的版本和SharePoint的版本不一致。这一点可能是出现异常的根本原因!)

对异常异常的解决办法为,删除如下两类的注册表键:
第一类:HKEY_CLASSES_ROOT\\TypeLib\\00020813-0000-0000-C000-000000000046\\1.7
第二类:HKEY_CLASSES_ROOT\\Wow6432Node\\CLSID\\00020812-0000-0000-C000-000000000046\\InprocServer32\\14.0.0.0
查询如上项的查找关键字为:“Microsoft.Office.Interop.Excel,
Version=14.0.0.0”。

删除后重新安装office

正常情况下,删除如上注册表项后前述异常将不再出现。
参考技术A 在G这列里插入公式: =if(D6=="可",B6+E6,B6+C6)

以上是关于excel编程问题的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式删除 Excel 工作表 VB.NET

如何以编程方式将 Excel 数据导入 Access 表?

以编程方式确定 Excel 文件 (.xls) 是不是包含宏

在 C# 中以编程方式从 Excel 文件中大量导入数据到 Access

如何使用 vb.net 以编程方式对 Excel 中的列进行排序?

Excel - 编程单元格以根据另一个单元格更改颜色