明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2227|回复: 29

[资源] 发个自制的假表格导出到Excel的插件

  [复制链接]
发表于 2024-12-25 18:18:39 | 显示全部楼层 |阅读模式
本帖最后由 ThinkerHua 于 2025-2-20 13:22 编辑

2025-02-19 19:29 更新
重构代码,由原来的“通过微软公开的 API 与 Excel 进行交互”,改为使用NPOI库直接读写文件,极大地提升了速度,瞬间即可完成。
并且现在支持.NET Framework 4.8(AutoCAD 2024 及以下) 和 .NET 8.0(AutoCAD 2025)。


压缩包内文件较多,"Common.dll" 和 "ExportTableToExcel.dll" 这两个文件是本人编写,其他 *.dll 文件是引用库,加载的时候仅需加载 "ExportTableToTable.dll"即可。

2024-12-26 18:45 更新

有网友提出合并单元格、斜线表头还有富文本的问题。
对于合并单元格,先给个解决方案,增加一个是否合并单元格的选项(本身就处理地不是很好,不合并还能稍微提升一下执行速度),附件已更新了。
对于斜线表头这个我想了下,应该是实现不了的,有些斜线表头横向或竖向跨了多个表格,用Excel的单元格框线是画不出来的,除非用插入形状里面的直线。
对于富文本问题,我已搜索到相关的文档,看了一下,挺复杂的,就先不去实现了吧。如果有谁有兴趣的话,可以拿我的代码去修改。


2024-12-26 09:51 更新

根据@longer1000 提供的报错样例,添加了容许误差功能,小于此数值的斜线将被视为水平或垂直。

原版内容
网上有同类插件,不过要么收费,要么存在一些问题。比如“CAD快速看图”,速度还是比较快的,但如果是很大的表格,会弹窗提示内容太多不工作,于是开发此插件。

本插件虽效率不及“CAD快速看图”,但无论表格内容多少均可使用。“CAD快速看图”估计是直接对 *.xls 文件进行读写的,所以比较快;本插件通过微软公开的 API 与 Excel 进行交互,效率较慢。



这里只放出编译好的文件,要源码的话可以去我的Github仓库去下载,现有三个项目,都是些小工具,如果对你有用话请帮我点个星:
Muggle AutoCAD-Plugins -- 用于AutoCAD的工具和插件。基于AutoCAD 2021版本开发,其他版本未经测试。
Muggle Tekla-Plugins -- 用于Tekla Structures的工具和插件。于Tekla Structures 2021版本开发,其他版本未经测试。
Section Steel Calculation Tool -- 用于辅助 Excel 计算钢结构工程量的工具,根据已填写的型钢规格,自动生成单位面积或单位重量或加劲肋规格;还可以定位到指定类型型钢的单元格区域。

下载内容
下载解压后,AutoCAD中用netload命令加载“ExportTableToExcel.dll”即可,启动命令为“ETTE”或“ExprotTableToExcel”





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 3明经币 +3 收起 理由
Bao_lai + 1 很给力!
zm880928 + 1 很给力!
zhoupeng220 + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2024-12-29 19:01:21 | 显示全部楼层
longer1000 发表于 2024-12-29 09:06
感谢,现在测试没问题,发现2个小问题,1导出的数据都是以文本格式,2、列宽不匹配

特地设置成文本格式的,因为有些数据会被Excel自动改为日期格式,设置成文本格式是为了避免此问题。如果确定不存在此类数据的话,可以手动全选表格设置成常规格式。

更新说明里已提到,富文本格式太复杂,我不想费脑筋去整这个。列宽问题,自己手动全选表格,双击自动设置列宽吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-26 17:19:44 | 显示全部楼层

没辙了,.net framework 是确定有Marshal.GetActiveObject 方法的,网上搜索到的信息是.net 5.0发布后就没这个方法了。但是Win11是自带.net framework 4.8的。这个情况我也不知道怎么解决。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-26 13:39:20 | 显示全部楼层

这个应该是缺少运行时的问题,你电脑上没有.net framework 4.8吗?

安装这个再看看行不行
https://download.visualstudio.mi ... 18187/ndp48-web.exe
回复 支持 反对

使用道具 举报

发表于 2024-12-25 19:29:10 | 显示全部楼层
弹出这个错误对话框,能不能提供一个测试文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 2024-12-25 19:30:12 | 显示全部楼层
试了下,对带上下标的文字和斜线表头,处理得不够理想。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 2024-12-25 20:27:28 | 显示全部楼层
大佬真是多产,连发了两个。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-25 22:56:01 | 显示全部楼层
本帖最后由 ThinkerHua 于 2024-12-25 23:01 编辑
longer1000 发表于 2024-12-25 19:29
弹出这个错误对话框,能不能提供一个测试文件

更新了测试用例,我有空看看为什么报错,你的报错文件能发出来看看吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-25 22:57:48 | 显示全部楼层
lzspain 发表于 2024-12-25 19:30
试了下,对带上下标的文字和斜线表头,处理得不够理想。

好的,有空研究一下吧。因为我自己用来导出数据的,所以对格式这块没有处理。
回复 支持 反对

使用道具 举报

发表于 2024-12-25 23:06:12 | 显示全部楼层
测试ok,可以满足绝大部分的表格,收藏!
回复 支持 反对

使用道具 举报

发表于 2024-12-26 00:08:27 | 显示全部楼层
ThinkerHua 发表于 2024-12-25 22:57
好的,有空研究一下吧。因为我自己用来导出数据的,所以对格式这块没有处理。

麻烦您看看呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 2024-12-26 09:12:04 | 显示全部楼层
CAD导出表格,先留名看看!
回复 支持 反对

使用道具 举报

发表于 2024-12-26 09:26:04 | 显示全部楼层
如果直线不封闭的表格可能输出会合并成一个单元格里面
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-23 00:35 , Processed in 0.203174 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表