jingelou 发表于 2015-8-3 14:11:00

根据 Excel 数据展开点或插入图块,用的免费国产开发工具之易楼易码

本帖最后由 jingelou 于 2015-8-3 14:15 编辑

//<当前目录> - 本源代码文件{批量插入图块.esf}所在目录
//sXlsFile - Excel 文件路径 <当前目录>/位置.xls
CString sXlsFile = "位置.xls";
//sDwgFile - DWG 图块文件路径 <当前目录>/图块.dwg
CString sDwgFile = "图块.dwg";

//nRow - Excel Sheet 1 的行数
//nCol - Excel Sheet 1 的列数
int nRow, nCol;
nRow = 0;
nCol = 0;
//excelRange(nRow, nCol, 文件路径, 工作表位置, 是否关闭此工作表)
excelRange(nRow, nCol, sXlsFile, 1, 0);
//循环读取 Excel 所有行
for(int i = 1; i <= nRow; i++)
{
int nCol = 1;
//得到excelGet(文件路径, Sheet 1, 行位置, 列位置{1})
CString sName = excelGet(sXlsFile, 1, i, nCol++);

//插入图块insert(图块文件路径, 图块名称, 是否替换重名的图块{0})
insert(sDwgFile, sName, 0);
//插入点
point ptIns;

//得到第2列
CString s = excelGet(sXlsFile, 1, i, nCol++);
ptIns.x = atof(s.GetBuffer());
//得到第3列
s = excelGet(sXlsFile, 1, i, nCol++);
ptIns.y = atof(s.GetBuffer());
//得到第4列
s = excelGet(sXlsFile, 1, i, nCol++);
ptIns.z = atof(s.GetBuffer());
//得到第5列
s = excelGet(sXlsFile, 1, i, nCol++);
double dAngle = atof(s.GetBuffer());
//得到第6列
s = excelGet(sXlsFile, 1, i, nCol++);
double dScale = atof(s.GetBuffer());
//绘制图块block(图块名称, 插入点, 角度, 比例)
block(sName, ptIns, dAngle, dScale);
//展开点
//dimp(ptIns);
}http://www.hoholive.net/GM/el/gif/insertblock.jpg

**** Hidden Message *****

vladimirputin 发表于 2016-11-1 16:38:26

免费的开发工具都是很好的,值得程序员好好学习。

p-3-ianlcc 发表于 2023-6-3 23:06:43

回覆看一下隐藏的内容
谢谢分享!

harderman 发表于 2023-9-26 14:17:49


謝謝樓主分享

819534890 发表于 2015-8-3 15:05:23

回复看看隐藏

Jack_PC 发表于 2015-8-3 18:52:06

......

包装纸袋公司 发表于 2015-8-26 07:45:40

谢谢 楼主分享

砧板鱿鱼123 发表于 2016-2-29 23:46:30

Visual C++开发AutoCAD

恒毅 发表于 2016-3-3 11:27:55


谢谢 楼主分享

白色微風1991 发表于 2022-7-2 07:46:40

謝謝樓主分享

白色微風1991 发表于 2022-7-14 07:32:14

回复看看隱藏

白色微風1991 发表于 2023-4-19 16:54:32

謝謝樓主分享
页: [1] 2
查看完整版本: 根据 Excel 数据展开点或插入图块,用的免费国产开发工具之易楼易码