发个自制的假表格导出到Excel的插件
本帖最后由 ThinkerHua 于 2024-12-26 18:56 编辑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 计算钢结构工程量的工具,根据已填写的型钢规格,自动生成单位面积或单位重量或加劲肋规格;还可以定位到指定类型型钢的单元格区域。
下载解压后,两个DLL文件需放在同一目录下,AutoCAD中用netload命令加载“ExportTableToExcel.dll”即可,启动命令为“ETTE”或“ExprotTableToExcel”
好烦的网站 发表于 2024-12-26 16:58
win1164位 24H2
没辙了,.net framework 是确定有Marshal.GetActiveObject 方法的,网上搜索到的信息是.net 5.0发布后就没这个方法了。但是Win11是自带.net framework 4.8的。这个情况我也不知道怎么解决。 好烦的网站 发表于 2024-12-26 12:11
cad2025出现错误
这个应该是缺少运行时的问题,你电脑上没有.net framework 4.8吗?
安装这个再看看行不行
https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/9b7b8746971ed51a1770ae4293618187/ndp48-web.exe ThinkerHua 发表于 2024-12-26 16:06
那就不清楚了,目标框架就是.net framework 4.8
你是什么系统,版本多少,32位还是64位?
win1164位 24H2 :(
弹出这个错误对话框,能不能提供一个测试文件 试了下,对带上下标的文字和斜线表头,处理得不够理想。 大佬真是多产,连发了两个。 本帖最后由 ThinkerHua 于 2024-12-25 23:01 编辑
longer1000 发表于 2024-12-25 19:29
弹出这个错误对话框,能不能提供一个测试文件
更新了测试用例,我有空看看为什么报错,你的报错文件能发出来看看吗? lzspain 发表于 2024-12-25 19:30
试了下,对带上下标的文字和斜线表头,处理得不够理想。
好的,有空研究一下吧。因为我自己用来导出数据的,所以对格式这块没有处理。 测试ok,可以满足绝大部分的表格,收藏! ThinkerHua 发表于 2024-12-25 22:57
好的,有空研究一下吧。因为我自己用来导出数据的,所以对格式这块没有处理。
麻烦您看看呢
CAD导出表格,先留名看看! 如果直线不封闭的表格可能输出会合并成一个单元格里面