拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Granta MI 数据录入实战:Excel 导入模板配置与使用指南

Granta MI 实施项目里有一条经验值得先说服务器上线只是起点数据真正可用才是终点。很多时候系统部署几周就能完成但数据录入会拖上一两个月——瓶颈往往不是数据库性能而是“工程师手里的 Excel 数据怎么变成 Granta MI 里的结构化记录”。材料工程师长期用 Excel 管理工作表牌号、成分、热处理、力学性能、报告结果格式自由、各写各的。Granta MI 则是一套严格的数据模型每条记录属于什么类型、每个属性存什么值、哪些字段必填、哪些字段只能选枚举都是预先定义好的。让工程师直接对着数据库界面录入既不符合习惯也容易填错让管理员代替每个人录入又会成为团队瓶颈。Excel 导入模板恰好是两者之间的桥梁工程师继续用熟悉的 Excel 填写数据但填写范围、格式、取值都受模板约束导入时 Granta MI 根据管理员预先配置的映射把 Excel 里的行列数据翻译成数据库中的记录与属性。模板配得好录入效率和数据质量兼得模板配得随意数据入口就会变成垃圾入口。本文是 Granta MI Enterprise 数据管理系列的第 4 部分聚焦两件事如何配置 Excel 导入模板以及如何使用模板添加一条记录。无论你是 Granta MI 的运维管理员还是正在整理历史材料数据的数据管理员这篇内容都可以直接当操作手册参考。1. 这篇文章真正要解决的问题Granta MIAnsys Granta MI是面向工程材料的信息管理平台适合制造企业把分散在个人电脑、Excel、PDF 检测报告中的材料数据统一管理起来。它的核心价值不只是“能存数据”而是让材料数据在统一的记录类型、属性定义和权限体系下被规范检索、分析和复用。但正因为规范Granta MI 对数据录入提出了比 Excel 高得多的要求数据要有明确归属一条记录属于哪个表、挂在哪个父记录下。属性要有明确类型数值型属性不能填文字日期型属性必须是标准格式。枚举型属性只能取规定值例如“热处理状态”只能输入系统中存在的枚举项。必填属性不能为空缺失关键数据会直接阻断导入。这些规则在数据库层面是正确的但对不熟悉数据模型的工程师来说却是一道道门槛。Excel 导入模板的作用就是把这套规则“前置”到模板里用户在 Excel 中看到的列名、批注、下拉选项已经决定了数据的边界和格式。这篇文章要解决三个具体问题一是把 Granta MI 中与 Excel 导入相关的核心概念讲清楚让不熟悉数据模型的管理员也能理解映射逻辑。二是给出配置 Excel 导入模板的完整流程包括字段映射表设计、模板文件结构、校验规则配置和发布验证。三是通过“添加单条记录”的最小示例让管理员先跑通一条链路模板配置 → 数据填写 → 提交导入 → 验证入库。如果你是第一次给 Granta MI 配置数据入口建议先照着第 6 部分的最小示例跑一遍再扩展到批量导入场景。2. Granta MI 数据模型基础记录、属性与映射逻辑配置 Excel 导入模板本质上是在做一件事把 Excel 表格的“列”翻译成 Granta MI 的“属性”把 Excel 表格的“行”翻译成 Granta MI 的“记录”。如果对这两个核心概念没有清晰认识后面配置映射时很容易出错。2.1 记录Record与记录类型Record Type在 Granta MI 中每条材料数据都是一个记录Record。一条记录可以代表一种材料牌号、一个供应商批次、一份测试报告或者一个试验曲线。记录不是孤立存在的。Granta MI 的数据模型是一棵层级树最高层通常是记录类型例如“金属材料”“聚合物”“复合材料”。往下是具体的材料大类例如“铝合金”“钢”“钛合金”。再往下是具体牌号例如“Al6061-T6”。再往下还可以挂测试数据、认证文件、工艺记录等子记录。这就是 Granta MI 中非常关键的父子层级Hierarchy。配置 Excel 导入模板时必须明确“新增记录会挂到哪个父记录下”。如果父记录定位错误数据虽然进了系统但会出现在错误的目录分支里后面维护成本很高。2.2 属性Attribute与属性类型一条记录拥有的字段叫属性Attribute。Granta MI 的属性类型比 Excel 单元格类型更严格常见的类型包括属性类型说明Excel 中常见表示Text短文本例如材料牌号文本Long Text长文本例如工艺描述多行文本Integer整数数字Float浮点数例如密度、强度数字Discrete枚举只能取规定值下拉列表Date日期日期Link链接到其他记录记录名称或引用Tabular子表格例如多组试验数据多个行区域理解属性类型对配置模板至关重要。因为 Granta MI 在导入验证时会按照属性类型检查 Excel 中的值Float 属性如果读到“2,70”这种带逗号的文本会报类型不匹配。Discrete 属性如果填了系统中不存在的枚举值即使“看起来很像”也会被拒绝。Date 属性如果 Excel 显示为“2024/1/1”实际单元格是文本同样会失败。2.3 数据模式Data Schema与映射Granta MI 中所有记录类型、属性、层级结构、单位制的定义统称为数据模式Data Schema。数据模式通常由数据管理员在项目初期设计完成它是 Excel 导入模板配置的“真实来源”。配置 Excel 导入模板的过程本质上就是建立一份“映射关系”Excel 中的某个工作簿、某个工作表对应 Granta MI 中的哪个表。Excel 中的每一列对应哪个属性。Excel 中每个单元格的值按照什么规则转换为属性值。如果新增记录有父子层级父记录如何定位。这听起来简单实际配置中容易出问题的恰恰是细节列头命名不规范、单位没有统一、枚举值大小写不一致、父记录定位规则错误。下一节开始我会先用对比视角说明为什么 Excel 导入模板是最值得投入的录入方式再进入具体配置。3. Granta MI 数据录入方式对比为什么 Excel 导入模板最常用Granta MI 提供了多种数据录入方式不同方式有不同的适用场景。管理员需要先判断当前团队的录入场景到底是什么。录入方式典型工具优点缺点适用场景手工录入MI Desktop 记录树灵活随时可改需要安装客户端普通用户上手成本高管理员日常维护Excel 导入模板Excel 模板映射工程师熟悉格式可控一次配置多次使用需要管理员先配置模板日常批量新增和更新网页端表单MI Enterprise Web无需安装浏览器可用表单字段展示需要配置录入大段数据效率偏低分散用户自助录入Python Scripting ToolkitPython 脚本可自动化、可批量适合复杂映射需要编程能力入门门槛高历史数据迁移、系统集成从生产实践看Excel 导入模板是使用频率最高的一种方式原因有三第一材料工程师几乎每天都在用 Excel工具本身没有学习成本。管理员要做的是让模板贴近 Granta MI 的数据规则而不是让工程师去学新工具。第二模板可以承载“批注和示例”。告诉用户这一列填什么、单位是什么、枚举有哪些可以大大减少录入错误。第三模板可以作为团队数据提交的标准格式规范从源头开始而不是等数据进入 Granta MI 之后再纠错。需要强调的是Excel 导入模板不等于“在 Excel 里打开一个普通表格随便填”。它背后有一套映射配置管理员配置完成后用户拿到的模板才能被 Granta MI 正确识别。下面进入前置条件部分。4. 配置 Excel 导入模板的前置条件与准备清单在开始配置之前先确认以下前置条件是否满足。跳过这些检查直接配置很容易在导入阶段反复返工。4.1 权限要求配置 Excel 导入模板通常需要数据管理员Data Administrator权限或者在 Granta MI 中被授予了“编辑数据模式”和“导入数据”权限的账号。实际项目中我建议遵循最小权限原则模板配置、数据模式修改只开放给管理员。普通用户只拥有“使用模板导入数据”的权限不能直接修改映射关系。生产环境修改模板前先在测试环境验证。4.2 数据模式已经定义完成这是最容易被忽略的条件。如果目标记录类型还没建好或者属性还没定义完整就不要急着做导入模板。否则模板配到一半发现缺一个属性又得回到数据模式里去补整个流程会变得混乱。比较稳妥的做法是列出目标记录类型及层级。列出所有需要导入的属性标注属性类型、单位、是否必填。与 Granta MI 中的实际数据模式逐项比对。4.3 字段映射表字段映射表是配置模板的核心文档。它描述的是“Excel 列 → Granta MI 属性”的对应关系。这里给一个可以直接复用的示例结构# 字段映射表示例金属材料 Al 系列导入 record_type: Metals sheet_name: Sheet1 header_row: 1 mappings: - excel_column: 材料牌号 attribute: Designation attribute_type: Text required: true - excel_column: 材料类别 attribute: Material Class attribute_type: Discrete allowed_values: [铝合金, 钢, 钛合金, 镍基合金] required: true - excel_column: 密度(g/cm3) attribute: Density attribute_type: Float unit: g/cm3 required: true - excel_column: 弹性模量(GPa) attribute: Modulus of Elasticity attribute_type: Float unit: GPa required: false - excel_column: 屈服强度(MPa) attribute: Yield Strength attribute_type: Float unit: MPa required: false - excel_column: 热处理状态 attribute: Heat Treatment attribute_type: Discrete allowed_values: [O, T4, T6, T651] required: false注意上面是一个映射示意用于帮助理解配置项的逻辑实际配置通常在 Granta MI 的图形界面中完成。但它体现的三个原则是通用的每条映射必须明确属性类型。枚举型属性必须给出允许值清单。必填属性必须在导入前校验。4.4 样例数据准备 5 到 10 行真正有代表性的样例数据覆盖完整填写的行。可选属性留空的行。包含枚举值的行。包含数值和单位的行。样例数据是模板验证的“测试用例”。没有样例数据就发布模板等于没有做测试就上线。5. 核心流程配置 Excel 导入模板前置条件确认后就可以开始配置。这里我按照“字段梳理 → 模板设计 → 映射配置 → 发布验证”四个阶段讲每个阶段都可以独立检查。5.1 阶段一梳理字段映射先打开 Granta MI 的数据模式确认目标记录类型中所有需要导入的属性。然后对照字段映射表逐项核对重点关注三件事属性名是否与数据模式中的名称完全一致。属性类型是否与 Excel 列的数据类型匹配。枚举属性的允许值是否完整列出。这一步看似基础却最容易出错。很多导入失败都是因为属性名拼写差异比如数据模式中属性叫“Density”映射表里写了“density”或“密度”系统匹配不上只能报错。5.2 阶段二设计 Excel 模板文件模板文件的设计直接影响工程师的使用体验。一份好的模板应满足第一行是列标题与字段映射表中的 excel_column 一一对应。对关键列增加批注说明填写格式、示例和单位。对枚举列使用 Excel 数据验证下拉列表减少手工输入。对必填列设置条件格式空值高亮提醒。锁定表头区域避免用户误删或修改列名。下面是一个模板文件的 CSV 示意第一行是列名后面是样例数据材料牌号,材料类别,密度(g/cm3),弹性模量(GPa),屈服强度(MPa),热处理状态 Al6061-T6,铝合金,2.70,68.9,276,T6 Al7075-T6,铝合金,2.81,71.7,503,T6 Ti-6Al-4V,钛合金,4.43,113.8,880,Annealed在 Granta MI 的配置逻辑中列名通常需要与映射配置保持一致因此模板文件确定后一般不再随意调整列顺序和列名。如果后续需要增加字段应该在测试环境重新建立模板并验证。5.3 阶段三在 Granta MI 中配置导入映射以管理员账号登录 Granta MI 后在数据管理或导入相关功能中新建一个 Excel 导入映射。配置过程中需要选择或填写以下几项配置项说明注意事项数据表Table新增记录要写入的记录类型与字段映射表保持一致工作表名称Excel 中用于导入的 sheet模板发布后不要随意修改 sheet 名标题行列头所在行号通常为第 1 行列映射将 Excel 列逐一关联到 Granta MI 属性属性名必须精确匹配父记录定位新记录挂在哪个父记录下可以指定固定父记录或按列查找默认值某些属性在没有值时使用的默认值谨慎使用避免污染数据单位转换从 Excel 单位转为系统单位例如 Excel 中 g/cm3 转 kg/m3这里的核心是“父记录定位”。在 Granta MI 的层级模型中新增一条“Al6061-T6”记录通常需要先定位到它的父节点“铝合金”。配置时可以选择“按列值查找父记录”让模板中的“材料类别”列来定位也可以固定一个父记录适用于只有单一父级的情况。配置完成后保存映射并给它一个语义明确的名字例如“Metals_Excel_Import_AlSeries_v1”。后续发布和排错时名字本身就是重要的信息。5.4 阶段四发布模板并验证把配置好的模板文件与映射关联后先在测试环境跑一遍样例数据在测试库中用样例 Excel 文件执行导入。观察验证阶段是否报错。进入系统检查每条记录的位置、属性值、单位是否正确。确认无误后再在正式环境发布模板。这里要特别强调生产环境的数据导入操作有风险。任何模板上线前都应该在测试环境完整验证一遍并保留验证记录。如果生产环境导入失败不要直接反复重试先回到测试环境复现问题。6. 实操使用 Excel 模板添加单条记录模板配置完成后最典型的操作是用模板添加一条新记录。下面用一个实际场景演示。6.1 场景定义假设 Granta MI 中已经存在“金属材料 → 铝合金”分支。现在要添加一条新材料记录材料牌号Al6061-T6材料类别铝合金密度2.70 g/cm³弹性模量68.9 GPa屈服强度276 MPa热处理状态T66.2 在模板中填写数据在 Excel 模板中新增一行填入以下内容材料牌号材料类别密度(g/cm3)弹性模量(GPa)屈服强度(MPa)热处理状态Al6061-T6铝合金2.7068.9276T6填写时注意几个细节“材料牌号”是 Text 属性直接填文本。不要带空格不要用全角字符。“材料类别”是 Discrete 属性优先通过 Excel 下拉列表选择避免手工输入导致枚举值不匹配。多个数值列请保持 Excel 单元格为“数值”格式。如果单元格左上角出现绿色三角提示说明它是文本存储的数字导入时可能报类型错误。“热处理状态”T6 必须与系统中枚举值完全一致包括大小写。6.3 提交导入将填写好的 Excel 文件通过 Granta MI 配置的导入功能提交。提交后系统会按照映射配置进行验证必填属性是否为空。数据类型是否匹配。枚举值是否合法。父记录定位是否成功。如果全部通过系统会创建一条名为“Al6061-T6”的记录并把密度、弹性模量、屈服强度、热处理状态等属性写入对应字段层级上挂在“铝合金”父记录下。6.4 补充通过 Python Scripting Toolkit 添加单条记录有些管理员会问能不能不用 Excel直接用脚本添加可以。Granta MI 官方提供了 Scripting Toolkit for Python适合在迁移和自动化场景中使用。下面是一个最小示例API 细节请以你安装的官方版本为准# 文件路径add_single_record.py # 说明使用 Granta MI Scripting Toolkit 添加单条记录示例 from GRANTA_MIScriptingToolkit import granta as mpy # 1. 连接 MI 服务器 mi mpy.Mi(http://mi-server.example.com) # 2. 选择数据库和数据表 db mi.get_db(MaterialsDB) table db.get_table(Metals) # 3. 创建记录 record table.create_record(Al6061-T6) # 4. 设置属性值 record.set_attributes({ Density: 2.70, Modulus of Elasticity: 68.9, Yield Strength: 276, Heat Treatment: T6 }) # 5. 写入服务器 mi.update([record]) print(记录已创建Al6061-T6)脚本方式更适合“需要自动创建大量记录”的场景。如果只是日常添加一条数据用配置好的 Excel 模板更快。两种方式都值得掌握因为它们对应的数据结构完全一致——记录、属性、层级只是入口不同。7. 运行验证如何确认记录正确进入 Granta MI数据导入完成只是第一步关键要验证“记录确实进入了正确的位置”。7.1 在界面中验证在 MI Desktop 或 MI Enterprise Web 中导航到“金属材料 → 铝合金”分支找到刚刚创建的“Al6061-T6”记录然后核对记录名称是否正确是否出现在正确的父级下。属性面板中的数值是否正确单位是否显示为系统单位。枚举属性“热处理状态”是否显示为 T6 而不是被截断或转换。必填属性是否都有值没有空值或“-”占位。如果记录位置不对可以拆解检查父记录定位配置是否写错了关键词材料类别列中的值与父记录名称是否完全一致。7.2 通过脚本验证也可以用 Scripting Toolkit 查询记录确认数据库中的实际状态# 文件路径query_record.py # 说明查询指定记录并打印其属性示例 from GRANTA_MIScriptingToolkit import granta as mpy mi mpy.Mi(http://mi-server.example.com) db mi.get_db(MaterialsDB) table db.get_table(Metals) records table.search_for_records_where({Designation: Al6061-T6}) for r in records: print(记录名称:, r.name) print(记录 GUID:, r.record_guid) for attr_defn, value in r.attributes(): print(attr_defn.name, , value)查询结果中如果能看到 Density、Yield Strength 等属性都带上了正确数值说明这次导入是成功的。7.3 日志与审计正式环境中建议关注 Granta MI 的日志与审计功能。一次成功的数据导入应该产生对应的审计记录记录创建时间、创建人和导入方式。如果发现某条记录来源不明或者审计日志缺失说明导入流程或者权限配置可能存在漏洞需要及时排查。8. 常见问题与排查方法配置和使用 Excel 导入模板的过程中以下问题出现频率最高。问题现象可能原因排查方式解决方案导入时报“属性类型不匹配”Excel 单元格是文本格式Granta MI 属性是 Float 或 Integer检查单元格格式查看是否有绿色三角提示将文本型数字批量转成数值格式后再导入枚举值被拒绝枚举值大小写、空格或全角字符不一致打开 Granta MI 数据模式核对允许值列表在 Excel 中使用数据验证下拉列表或在检查枚举值的完整说明导入后记录位置不对父记录定位规则配置错误或定位列的值与父记录名称不一致回到映射配置查看父记录定位列统一父记录命名规则或在导入前先用“按名称查找”验证定位列必填属性为空导致中断Excel 中必修列存在空单元格在 Excel 中排序筛选空值增加条件格式高亮空值导入前检查必填项完整性日期列导入后显示异常Excel 日期是文本或格式与系统不一致对比系统日期格式要求在 Excel 中将日期列统一为标准日期格式单位没有自动转换映射配置中单位转换未设置检查导入映射的单位配置配置好目标单位确认 Excel 单位到系统单位的转换关系用户打不开模板或提示文件损坏模板文件被手工修改过或 Excel 版本不兼容查看报错日志从服务器重新下载模板不要直接在共享目录里编辑模板源文件没有权限导入用户角色没有“导入”权限或模板未对该用户组发布查看用户权限配置和模板发布范围在管理端为用户组授权或检查模板发布范围如果一个问题反复出现不要急着改模板先记录完整的复现步骤和错误信息。很多问题是因为字段映射表与数据模式不同步导致的比如数据模式中某个枚举值更新了但 Excel 模板里的下拉列表还是旧值。这时候删掉模板重新配置往往比在旧模板上打补丁更干净。9. 最佳实践与工程建议9.1 模板是资产要有负责人和版本不要把 Excel 导入模板当作一个临时文件。它是团队数据入口的“线上系统”应该有明确的负责人、版本号和变更记录。建议给模板文件名加上版本例如Metals_Alloy_Import_Template_v1.1.xlsx每次修改映射或模板结构都更新版本号并记录变更原因。生产环境使用旧版本模板导入的数据要能追溯到当时使用的版本。9.2 维护一份字段映射文档字段映射表不是配置完成就可以扔掉的资料。建议把映射表放到团队共享文档中并保持与 Granta MI 数据模式同步。当数据模式发生变更时第一件事不是改模板而是更新映射文档。这个文档也是新管理员接手时最重要的入门材料。9.3 把校验前置到 Excel 侧Granta MI 会在导入时做数据校验但更高效的做法是在 Excel 侧就把错误挡住枚举列使用数据验证下拉列表。数列限制只能输入数字。必填列设置为不可为空。关键列增加批注写明示例和单位。这样用户在提交之前就完成了自我检查Granta MI 端的校验通过率会显著提高。9.4 测试环境是底线涉及生产环境的数据导入操作都应该先在测试环境做一次“预演”。尤其是以下几种情况首次配置模板。数据模式发生变更。批量导入大量历史数据。更新已有记录而不是新增记录。预演的目的不只是验证映射还要确认导入前后数据的一致性。测试环境验证通过后再以受控方式在生产环境执行。9.5 权限与审计Excel 导入模板涉及数据写入权限控制要明确模板的映射配置、发布、修改只能由管理员操作。普通用户的导入权限按岗位职责授予遵循最小权限原则。关键业务数据表可以关闭普通用户的“修改属性”权限只允许通过模板新增记录。同时开启 Granta MI 的审计功能。数据管理团队应能回答谁、在什么时间、通过哪个模板、创建或修改了哪条记录。这不仅是合规要求也是数据质量问题追查的基础。9.6 模板生命周期管理模板也有生命周期。数据模式调整、业务规则变化、单位制切换都会影响模板的有效性。建议定期做三件事每季度复查一次模板与数据模式比对。关注用户的反馈比如“这个下拉列表少了一个值”“这个列名看不懂”。模板作废时从共享目录和 Granta MI 中一并清理避免用户误用旧模板。Excel
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门