import openpyxl
from xmindparser import xmind_to_dict
from openpyxl.styles import Alignment
def xmind_xlxs():
xmind_location = input(r"请输入完整的xmind文件地址,如F:\xmind\XXXX.xmind")
try:
d = xmind_to_dict(xmind_location)#读取xmind文件
data = openpyxl.Workbook()
data.create_sheet('Sheet1')
table = data.active
a = d[0]["topic"]
table.column_dimensions['A'].width = 15 # 设置列宽
table.column_dimensions['B'].width = 15
table.column_dimensions['C'].width = 40
table.column_dimensions['D'].width = 60
table.column_dimensions['E'].width = 15
table.column_dimensions['F'].width = 15
head = a["title"] + ".xlsx" # 根据中心标题设置文件名称
modules_len = len(a["topics"]) # 确认模块数量
table.cell(1, 1, "大模块")
table.cell(1, 2, "小模块")
table.cell(1, 3, "用例标题")
table.cell(1, 4, "操作步骤")
table.cell(1, 5, "预期结果")
table.cell(1, 6, "备注")
row = 2 # 初始写入行数
for i in range(modules_len): # 关于模块的循环
modules = a["topics"][i]
table.cell(row, 1, modules["title"]).alignment = Alignment(wrapText=True)
try:
condition_len = len(modules["topics"]) # 根据模块确认前提条件的数量
except:
row += 1
continue
for n in range(condition_len): # 关于前提条件的循环
condition = modules["topics"][n]
table.cell(row, 2, condition["title"]).alignment = Alignment(wrapText=True)
try:
caption_len = len(condition["topics"]) # 根据前提条件确认用例标题的数量
except:
row += 1
continue
for m in range(caption_len): # 关于用例标题的循环
caption = condition["topics"][m]
table.cell(row, 3, caption["title"]).alignment = Alignment(wrapText=True)
try:
operate_len = len(caption["topics"]) # 根据用例标题确定操作步骤的数量
except:
row += 1
continue
for j in range(operate_len): # 关于操作步骤的循环
operate = caption["topics"][j]
table.cell(row, 4, operate["title"]).alignment = Alignment(wrapText=True)
try:
result_len=len(operate["topics"])
except:
row += 1
continue
for k in range(result_len):# 关于结果的循环
result=operate["topics"][k]
table.cell(row, 5, result["title"]).alignment = Alignment(wrapText=True)
try:
remark_len=len(result["topics"])
except:
row += 1
continue
for r in range(remark_len):#关于备注的循环
remark = result["topics"][r]
table.cell(row, 6, remark["title"]).alignment = Alignment(wrapText=True)
row += 1
data.save(head) # 保存文件
except:
print("您输入的文件地址有误")
xmind_xlxs()
if __name__ == '__main__':
xmind_xlxs()
将xmind文件内容导出为Excel文件
最新推荐文章于 2025-04-14 10:53:14 发布