關於Excel的操作
獲取桌面路徑
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