- 积分
- 2457
- 明经币
- 个
- 注册时间
- 2005-2-10
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 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.easylou.com/download.php?key=13
|
|