015集——c# 实现CAD excel交互(CAD—C#二次开发入门)

 

 第一步:添加引用 程序集—>扩展

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8

 

也可nuget加载interope,缺点:数据量大时速度慢。

一、Microsoft.Office.Interop.Excel 的本质:COM 互操作程序集

Excel 是微软基于 COM(Component Object Model) 技术开发的桌面软件。COM 是一种跨语言的二进制接口标准,允许不同语言的程序(如 C++、.NET)与 COM 对象(如 Excel 的功能模块)交互。

 

但 .NET 无法直接调用 COM 对象(因为 COM 基于接口而非 .NET 的类型系统),因此微软提供了 主互操作程序集(Primary Interop Assembly, PIA),即 Microsoft.Office.Interop.Excel.dll。它的作用是:

 

  • 将 Excel 的 COM 接口(如 _Application_Workbook包装成 .NET 可识别的类和接口(位于 Microsoft.Office.Interop.Excel 命名空间)。
  • 处理 .NET 与 COM 之间的类型转换(如将 .NET 的 string 转为 COM 的 BSTR,将 COM 的 VARIANT 转为 .NET 的 object)。

二、using Excel = ... 的作用:命名空间别名

using Excel = Microsoft.Office.Interop.Excel; 是一条 命名空间别名指令,作用是为长命名空间 Microsoft.Office.Interop.Excel 定义一个简短的别名 Excel。例如:

 

csharp

// 未使用别名时,需完整写命名空间
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();

// 使用别名后,代码更简洁
Excel.Application excelApp = new Excel.Application();

 

这行代码不改变技术本质,只是语法糖,让代码更易读。

三、底层交互流程:.NET 通过 COM 操作 Excel

当你使用 Excel.Application(对应 COM 的 Application 对象)创建 Excel 实例时,底层流程如下:

 

  1. .NET 运行时通过 RCW(Runtime Callable Wrapper,运行时可调用包装器&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山水CAD插件定制

你的鼓励是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值