获取桌面路径
Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
using X = Microsoft.Office.Interop.Excel;
X.Application excel = new X.Application();
应该检查下电脑是否安装excel
if (excel == null) MessageBox.Show("没安装excel软件");
excel.Visible = true;表格是否打开
X.Workbook workbook = excel.Workbooks.Add(Missing.Value);
X.Worksheet worksheet = excel.Worksheets.Add(Missing.Value,Missing.Value,Missing.Value,Missing.Value) as X.Worksheet;
worksheet.Name = "工作表名称";
获取一个元素
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = uidoc.Document;
Element elem = doc.GetElement(uidoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Element));
ParameterSet paras = elem.Parameters;
为excel表格设置数据
int count = 1;
foreach (Parameter item in paras)
{
worksheet.Cells[count, 1] = item.Definition.Name;
worksheet.Cells[count, 2] = GetParameterValue(item);
count++;
}
为表格设置自动适应列宽
worksheet.get_Range("A1", "Z1").EntireColumn.AutoFit();
将文件存储在桌面,命名为1.xlsx
string path1 = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string xx = Path.Combine(path1, "1.xlsx");
workbook.SaveAs(xx);
关闭工作表
workbook.Close();
关闭exce应用程序
excel.Quit();
如果一开始excel.Visible设为false就不涉及关闭退出。
最后return Result.Failed