news 2026/9/2 15:43:40

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 MI(Ansys 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 阶段四:发布模板并验证

把配置好的模板文件与映射关联后,先在测试环境跑一遍样例数据:

  1. 在测试库中用样例 Excel 文件执行导入。
  2. 观察验证阶段是否报错。
  3. 进入系统检查每条记录的位置、属性值、单位是否正确。
  4. 确认无误后,再在正式环境发布模板。

这里要特别强调:生产环境的数据导入操作有风险。任何模板上线前,都应该在测试环境完整验证一遍,并保留验证记录。如果生产环境导入失败,不要直接反复重试,先回到测试环境复现问题。

6. 实操:使用 Excel 模板添加单条记录

模板配置完成后,最典型的操作是:用模板添加一条新记录。下面用一个实际场景演示。

6.1 场景定义

假设 Granta MI 中已经存在“金属材料 → 铝合金”分支。现在要添加一条新材料记录:

  • 材料牌号:Al6061-T6
  • 材料类别:铝合金
  • 密度:2.70 g/cm³
  • 弹性模量:68.9 GPa
  • 屈服强度:276 MPa
  • 热处理状态:T6

6.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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 15:43:08

DeepSeek工具包全解析:从API调用到编码代理工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 15:41:14

基于VC与MFC的串口调试工具开发:从线程模型到CRC校验的完整实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 15:41:09

Microstate EEGlab工具箱:静息态脑电微状态分析全流程实操

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 15:40:48

龙岩长汀黄金回收哪家靠谱?

长汀黄金回收哪家靠谱?本地实体店融太名品透明回收不踩坑家里闲置的旧黄金、断首饰、旧金饰、金条一直压箱底?随着近期金价持续高位,不少长汀本地居民都选择将闲置黄金变现。但很多人最怕的就是:报价虚高、偷克重、扣损耗、收折旧…

作者头像 李华
网站建设 2026/9/2 15:40:16

单片机毕业设计-基于 STM32 的物联网智能门禁终端及 Android 移动端监控系统开发 基于 STM32F103 的多模态身份验证智能门锁控制系统设计(012506)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/9/2 15:39:29

根轨迹法:首1型尾1型的用处、根轨迹方程的引入

目录 一、引入:为什么根轨迹法可以分析动态性能 (1)根轨迹法是什么? (2)用二阶电机系统P控制器观察根轨迹法的好处 二、极点的含义深度剖析、衰减振荡轴的理解 (1)s平面上的不同…

作者头像 李华