2026年3月

刚开通 claude pro 命令行登录

提示:401 {"error":{"message":"401 授权信息无效,请检查","type":"authentication_error"},"type":"error"}

claude 终端卸载重装也试了

兄弟们有遇到过吗

`JProfiler_windows-x64_8_0_2是 JProfiler 8.0.2 版本​ 的 Windows 64 位安装包,专门用来分析 Java 程序的性能,看 CPU 占用、内存泄漏、线程卡顿这些问题,做 Java 开发、调优必备。

一、准备工作

  1. 下载安装包

  2. 确认系统版本

    • 必须是 64 位 Windows(Win7/Win10/Win11 都行),32 位系统装不了这个包。
  3. 用管理员身份运行(推荐)

    • 右键 JProfiler_windows-x64_8_0_2.exe→ 选“以管理员身份运行”,防止权限不足装不上。

二、安装步骤

  1. 双击 JProfiler_windows-x64_8_0_2.exe运行(如果右键过了就直接双击)。
  2. 第一次打开会弹出“用户账户控制”提示 → 点  “是”
  3. 进入安装向导,选语言(默认英文,部分版本有中文)→ 点  “Next” (下一步)。
  4. 阅读许可协议 → 选“I accept the agreement”(我接受协议)→ 点  “Next”
  5. 选安装位置:

    • 默认是 C:\Program Files\JProfiler,可点“Browse”改到其他盘(比如 D 盘)。
  6. 选组件:

    • 默认全选(主程序、帮助文档等),不用改,直接下一步。
  7. 附加任务:

    • 建议勾“Create a desktop shortcut”(创建桌面快捷方式),以后找软件方便;不想开机自启就别勾“开机启动”。
  8. 点  “Install” (安装)开始安装,等进度条走完(几分钟)。
  9. 安装完会问是否立即启动 → 可先取消,等会儿再开。

三、首次使用与基本操作

  1. 在桌面或开始菜单找到 JProfiler​ → 点开。
  2. 第一次打开会让注册(试用版填邮箱就行,正式版输入许可证密钥)。
  3. 连接本地 Java 程序

    • 点左上角“Start Center”(启动中心)→ 选“Attach to a running JVM”(附加到运行的 JVM)→ 选要分析的 Java 进程 → 点“OK”。
  4. 查看性能数据

    • 左边能看到 CPU、内存、线程、GC 这些标签页,点进去就能看到图表和数据。
  5. 分析内存泄漏

    • 切到“Memory”标签,看对象数量变化,长期不释放的就是可能有泄漏。

在数字化转型的深水区,企业数据资产的“冰山”之下,沉睡着海量的非结构化数据。对于 OPPO 这样业务遍及全球 50 多个国家、拥有数万名员工的科技巨头而言,设计图纸、研发文档、高清影音等非结构化数据占据了总量的 80%,且正以每年 80% 的速度爆发式增长。

如何高效管理这些 PB 级的数据资产,关乎研发效率、全球供应链协同以及核心资产安全。鸿翼战略客户副总监张琳深度分享了鸿翼与 TiDB 联合助力 OPPO 打造 PB 级文档管理平台的实战经验。OPPO 成功破解了海量非结构化数据的治理难题,为全球业务筑起了一套敏捷的数字底座。

当“传统网盘”成为全球业务的“减速带”

在项目初期,OPPO 面临着日益严峻的数据管理压力。随着全球用户超过 7 亿,企业内部产生的文件数量迅速攀升至 10 亿级别。传统的文档管理架构在应对如此庞大的体量时,逐渐成为了业务发展的瓶颈:

  • 研发创新的摩擦力:“光靠一个文件名称,是没有办法快速得知的。”海量元数据(如版本、权限、索引)的检索迟滞,意味着研发人员需要花费大量时间寻找资料。目录加载甚至长达 2 分钟,直接拉低了数万名员工的办公效率。
  • 全球协同的断点:OPPO 的研发、市场及售后部门遍布世界各地。跨国传输带宽资源有限,导致大文件(如售后 ROM 包)的分发效率难以保障,影响了全球业务的响应速度。同时,欧盟 GDPR 等区域性法律法规的合规要求,也给数据的跨境流动带来了严峻挑战。
  • 核心资产的风险暴露:文件分发难以追踪、权限粒度不足,使得企业核心资产面临泄露风险。如何在保障数据安全的前提下,实现内外部的高效协作,成为了亟待解决的难题。

构建非结构化数据的“超级索引”

正如鸿翼战略客户副总监张琳所比喻的:“文档是图书馆里的书籍,存放在成本廉价的仓库中;而文档元数据则是图书馆的超级索引卡片系统。当书籍数量达到千亿级别时,必须拥有一个分布式的、可无限扩展的、能瞬间完成复杂检索的‘超级索引系统’来支撑业务的瞬间调取。”

为了解决上述痛点,OPPO 引入 TiDB 分布式数据库,对底层架构进行了彻底的重构。这一重构并非简单的数据库替换,而是基于“业务对象+元数据索引”的分层治理思想。

  1. 用弹性伸缩支撑业务爆发

OPPO 的数据增长曲线是陡峭的。传统 MySQL 架构的单机瓶颈限制了业务的扩展空间。TiDB 凭借其在线水平弹性扩展的能力,让 OPPO 能够从容应对从 10 亿到 50 亿文件量的平滑演进。业务部门不再需要担心数据库容量,也不再需要为了扩容而进行复杂的停机维护,实现了业务的“零感知”增长。

  1. “全球一张网”的架构布局

为了解决跨国协同难题,新架构采用了“总分结合”的全球化部署策略。

  • 总部:部署核心 TiDB 集群,作为全球数据的“大脑”,统一管理所有元数据与核心文档。
  • 海外节点:通过专线或云资源进行本地化部署,实现数据的就近存取与合规驻留
  • 价值点:这种架构既满足了集团层面“全球一张网”的统一管控需求,又通过 CDN 加速解决了跨国传输的效率问题,确保了全球供应链的实时协同。
  1. 权限模型的重构与解耦

针对海量文件权限判断导致的性能损耗,新系统将复杂的权限计算从数据库层面剥离,在内存中建立“权限树”。TiDB 负责底层元数据的强一致性存储,而计算层负责快速过滤。这种存算分离的设计思路,极大地释放了数据库压力,确保了高并发下的系统响应速度。

实战成效:PB 级数据的敏捷与安全

经过架构升级,OPPO 的文档管理平台不仅成功承载了 PB 级的数据体量,更将数据资产转化为业务增长的动力:

  • 极致的业务响应:在 20 亿文件量、2TB 数据库大小的高压测试下,所有核心接口(如搜索、列表加载)响应时间均控制在 500ms 以内。这意味着,全球数万名员工拥有了一个“零等待”的研发协作环境。
  • 刚性的合规防线:针对 GDPR 等合规要求,系统实现了基于 SCC 的跨境合规存储与传输层加密。配合“权限自助中心”与敏感操作实时提醒,构建了一道既灵活又严密的资产安全防线,保障了业务在全球市场的准入资格。
  • 供应链效率跃升:新的平台深度集成了办公与即时通讯工具,实现了文件收发与协同编辑的无缝衔接。跨国研发资料和市场物料的传输速度大幅提升,真正实现了“全球协同,本地体验”。

结语

从 MySQL 到 TiDB,从单点存储到全球多活,通过 TiDB 提供的强大算力与无限扩展性,OPPO 成功将海量的非结构化数据转化为可管理、可检索、可增值的企业核心资产,更为未来企业知识沉淀与 AI 智能化应用储备了无限可能。

3 月 5 日,十四届全国人大四次会议在京开幕。政府工作报告指出:

一年来,我国发展向新向优、彰显蓬勃活力。新质生产力稳步发展,科技创新成果丰硕,人工智能、生物医药、机器人、量子科技等研发应用走在世界前列,芯片自主研发有了新突破。

在此基础上,报告对 2026 年重点工作也作出明确部署:

为培育壮大新兴产业和未来产业,需要培育发展未来能源、量子科技、具身智能、脑机接口、6G 等未来产业。

为打造智能经济新形态,需要进一步深化拓展“人工智能+”,促进新一代智能终端和智能体加快推广,推动重点行业领域人工智能商业化规模化应用,培育智能原生新业态新模式。支持人工智能开源社区建设,促进开源生态繁荣。实施超大规模智算集群、算电协同等新基建工程,加强全国一体化算力监测调度,支持公共云发展。加快发展卫星互联网。打造“5G+工业互联网”升级版。深化数据资源开发利用,健全数据要素基础制度,建设高质量数据集。完善人工智能治理。

这一系列部署释放出一个清晰信号:中国 AI 发展已从“技术可用”迈入“工程可靠、商业可行、治理可控”的深水区。而当前产业界最真实的焦虑也正源于此:AI 不缺炫技,缺的是在生产环境中“长期跑得住”的能力。

过去一年,极客邦技术大会团队通过与大量一线技术团队、工程负责人深入交流,同样也发现了这一趋势,大家不再只问“AI 能做什么”,而是聚焦于:

  • AI 系统能否在生产环境中稳定运行、可控交付、持续产生价值?

  • 成本是否可度量?质量、风险、合规能否兜得住?

  • 当 AI 深度嵌入业务流程,软件架构、研发流程、组织协作是否需要重构?

基于这些洞察,2026 年 QCon 全球软件开发大会围绕「Agentic AI 时代的软件工程重塑」 这一核心主线展开。在 4 月 16-18 日即将举办的QCon北京站上,我们聚焦前沿技术、架构设计与数据底座、效能与成本、产品与交互、可信落地、组织进化这六个关键维度策划了一系列重磅专题,旨在让讨论从 「AI For What」,走向真正可持续的 「Value From AI」。

深化拓展“人工智能+”,如何把 AI 变成真正的生产力?

为了“推动重点行业领域人工智能商业化规模化应用”,政府工作报告明确提出要继续“深化拓展‘人工智能+’”。

而真正的“人工智能+”,是让 AI 成为业务系统的“内生智能”,而非外挂插件。“智能化”将是一场体系化、全方位的范式跃迁。对此,政府报告中进一步提出,要“培育智能原生新业态新模式”,而研发的智能化正是这一理念在软件工程领域的具体体现,同时也是更多应用场景智能化的基础。

在 4 月 16-18 日即将举办的 QCon 北京站上,我们策划了“Coding Agent 驱动的研发新范式”专场,其中汇聚了蚂蚁 Vibe Coding 平台半年落地经验、比 OpenSpec 更轻量的 AI Coding 全栈实战、JoyCode 的企业级 AI Coding 实践等多个前沿分享,将展示 AI 如何从“代码生成工具”跃升为“研发协作者”,最终构建由 Agent 驱动的人机协作新范式。

这不仅仅是效率提升,更是研发模式的根本性变革。而在这样瞬息万变的环境中,人与组织的形态又会发生什么样的变化?

在“AI 时代的“超级团队”专题,我们将探讨如何弥补人与 AI 的能力鸿沟,重构产品与技术的协作关系,并建立一套适应 AI 时代的全新管理与度量体系,打造高适应性、高产出的“超级团队”。

这不仅是一次技术升级,更是人与组织的进化,而能否驾驭这一变革,将成为企业未来竞争力的关键分水岭,也是“培育智能原生新业态新模式”的关键一环。

此外,为了加速各行各业加速“人工智能+”行动,大会还策划了“Agent in Practice:千行百业的 Agent 实践”专题,蚂蚁集团医疗健康资深专家郭春晓、淘宝闪购高级技术专家李克华等嘉宾,将在现场带来蚂蚁阿福医疗智能体、淘宝闪购的 Agent 平台化建设等案例,展示 AI 如何真正驱动业务闭环升级,实现“智能+业务”的深度融合。

北银金科高级算法专家尹辰轩也将在“Agentic Engineering”专题分享《多模态+Agent 在培训与教育领域的应用》,以 AI 课程和 AI 陪练等领域应用为例,介绍 Agent 在实际业务中的应用架构优化。

推动商业化规模化应用,工程体系准备好了吗?

以上,都是企业已在真实业务中跑通、可复用的落地实践。然而还有不少企业的 AI 项目往往停留在 PoC 阶段,难以持续产出价值,其根本原因在于缺乏成熟的工程支撑体系。

对此,QCon 北京站设置的“Agentic Engineering”、“Agent 可观测性与评估工程”、“Agent Ops:运维新生产力”、“Agent Infra 架构设计”、”“AI for SRE”等专题均是围绕工程落地痛点展开。

  • 在“Agentic Engineering”专场,除了北银金科之外,还有阿里、Elastic、汽车之家、去哪儿旅行、Zilliz 等企业将现场分享如何构建可信、上下文感知的 Agent 系统,解决多阶段优化、复杂任务调度等问题;

  • “Agent 可观测性与评估工程”则聚焦于架构与工程实战,分享来自火山引擎、蚂蚁集团、亚马逊云科技、小红书、阿里云等企业的真实生产实践案例,帮助参会者构建可验证、可演进的 Agent 工程体系,推动智能体成为真正可靠的生产系统;

  • “Agent Ops:运维新生产力”则邀请到了快猫星云、趣丸科技、快手等企业的专家,深入讨论 Agent 如何与现有技术栈深度集成,并演进为具备长期记忆与自我进化能力的运维助手;

  • “Agent Infra 架构设计”将深入探讨 Agent 架构范式、上下文工程、可观测技术以及 Agentic-RL 技术等话题,邀请来自阿里等大厂的一线专家,分享 Agent 在工程实现层面如何跑得更快、更稳、更便宜;

  • “AI for SRE”专题将深入探讨 AI 如何与站点可靠性工程(SRE) 的工程实践形成闭环,汇聚了美图、腾讯、小米、小红书等企业专家,分享 LLM Agent 落地实践与运维革新,探讨如何将 AI 能力真正嵌入 SRE 的核心工作流中。

培育智能原生新生态,新一代 IT 基础设施长什么样?

当然,企业 AI 应用落地效果,除了与技术工程体系息息相关之外,和其数据基础能力的建设也不无关系。

政府工作报告中指出,要“深化数据资源开发利用,健全数据要素基础制度,建设高质量数据集”。数据是 AI 的血液,数据要素的价值正在日趋凸显。反之,随着大语言模型基座能力持续突破与智能体(Agent)技术的快速演进,从数据生产到消费的全链路,其技术体系与产业实践也都在被重新定义。

据此,大会的“AI 重塑数据生产与消费”专题将深入探讨如何系统化地运用大模型与智能体技术,重塑数据全链路的每一个环节。目前,来自阿里、火山引擎、快手、滴滴、美团等技术大厂的专家均已确认出席,分享内容将涵盖引擎与架构优化、数据治理、开发与运维提效、下一代 BI 与数据工具,以及智能的取数与分析等多个方向,探讨 AI 技术在大数据领域的具体落地路径与未来图景。

此外,在基建层面,政府工作报告中还明确提出要建设“超大规模智算集群、算电协同等新基建工程,加强全国一体化算力监测调度”,“完善人工智能治理”。这背后反映的是产业界对完善的 AI 基础设施的迫切需求。对此,QCon 北京站策划了“AI 原生基础设施”、“大模型算力优化”、“AI 驱动的技术债治理”、“智能体安全实践:可控与可靠”等专题。

  • 在“AI 原生基础设施”专场中,来自华为、阿里云、地瓜机器人、蚂蚁集团的技术专家将分享基于 openYuanrong 的 AI Infra 实践、可扩展的 AI Agent 运行环境构建经验、从百 PB 自动驾驶经验到具身智能 AI 原生基建实践,以及如何在有限人力下构建可扩展、易维护的 AI 原生基础设施等话题;

  • “大模型算力优化”专题邀请了清华大学、蓝耘科技等学界和产业界等不同领域等专家,聚焦模型训练与推理过程中的工程实践与效率问题,包括推理加速、低成本训练、在线/离线协同与资源优化,分享如何持续降低为获得满足业务需求的模型效果所需要消耗的算力成本;

  • “AI 驱动的技术债治理”专题探讨如何利用大模型、代码理解、时序分析与智能决策等 AI 能力,实现对设计债、代码债、测试债、文档债及运维债的全生命周期管理。目前 bilibili 资深开发工程师何之真已经确认出席,并将分享 B 站代码债务治理实践

  • “智能体安全实践:可控与可靠”专题融合了可靠性建设,邀请了来自蚂蚁集团、vivo 等大厂专家,探索在不压制能力的前提下,如何实现智能体可控、可靠、可审计、可追责的路径,平衡技术价值与安全合规。

结语:共筑中国 AI 工程化的未来之路

除此之外,结合具身智能的发展现状,大会还策划了“具身智能与物理世界交互”专题,邀请了北京科技大学、地瓜机器人、乐享科技、小雨智造等产学界的专家深度拆解具身智能技术链路。

而紧跟 OpenClaw 热点,大会特别设置了“OpenClaw 生态实践”专场,将聚焦一线实践与踩坑复盘,分享企业如何构建私有 Skills、制定安全护栏、搭建审计与回放机制、建立质量/效率指标体系,最终把自托管 Agent 从可用的 Demo 升级为可靠的生产系统。

总而言之,2026 年将是中国 AI 从“技术突破”走向“工程落地”的关键之年。

QCon 全球软件开发大会北京站,作为国内最具影响力的开发者盛会之一,始终站在技术浪潮的最前沿。我们希望通过汇聚最新的一线实践,助力企业在技术日新月异的当下紧跟前沿,同时找到真场景,解决真痛点。这也响应了国家“支持人工智能开源社区建设、促进开源生态繁荣”的号召,我们认为,只有建立起开放、可复用、可验证的工程方法论,才能支撑 AI 的大规模复制与推广。

目前,QCon 北京站正在火热报名中,更多精彩议题持续上新中,欢迎查看官网了解更多精彩内容。

低代码平台一键部署实战:宏天软件基于 Docker 的容器化交付方案

摘要:一键部署是低代码平台提升交付效率、降低运维成本的核心能力。本文将深入拆解宏天低代码如何基于 Docker 容器化技术,通过科学的方案设计、镜像优化、服务编排和仓库管理,构建一套完整的企业级一键部署体系,解决传统部署中的环境不一致、步骤繁琐、兼容性差等痛点。

一、背景:为什么低代码平台必须拥抱容器化?

传统低代码平台部署常面临三大挑战:

痛点具体表现容器化解决方案
环境不一致开发环境正常,生产环境报错Docker 镜像封装完整运行环境
部署步骤繁琐手动配置数据库、中间件、应用服务Docker Compose 一键编排多容器
版本管理混乱回滚困难,无法追溯历史版本私有镜像仓库实现版本化管控

宏天低代码基于 DevOps 理念,采用"一组件一容器"的架构设计,将前端、后端、数据库、中间件完全解耦,实现了开发-测试-生产环境的高度一致性。


二、容器化架构设计:一键部署的基石

2.1 整体架构

2.2 核心设计原则

  • 单一职责:每个容器只运行一个主进程(Nginx/Java/MySQL/Redis)
  • 数据持久化:数据库使用 Docker Volume 挂载宿主机目录,防止容器重启数据丢失
  • 配置外部化:敏感信息(数据库密码、JWT密钥)通过环境变量注入,不硬编码在镜像中
  • 健康检查:每个服务配置 HEALTHCHECK 指令,确保依赖服务就绪后才启动应用

三、Dockerfile 优化:构建精益镜像

镜像质量直接影响部署速度和运行稳定性。宏天低代码通过多阶段构建层缓存优化,将后端镜像体积从 1.2GB 压缩至 180MB,构建时间缩短 60%。

3.1 优化策略

  1. 多阶段构建:分离编译环境与运行环境,仅保留 JRE 和构建产物
  2. 依赖缓存:先复制 pom.xml 下载依赖,再复制源码,充分利用 Docker 层缓存
  3. 基础镜像精选:使用 eclipse-temurin:11-jre-alpine 替代 openjdk:11,体积减少 50%
  4. 非 Root 运行:创建专用用户运行应用,提升安全性

3.2 Dockerfile

# ==================== 构建阶段 ====================
FROM maven:3.8-eclipse-temurin-11-alpine AS builder

WORKDIR /build
# 先复制 pom 文件,利用层缓存
COPY pom.xml .
RUN mvn dependency:go-offline -B

# 再复制源码编译
COPY src ./src
RUN mvn clean package -B -DskipTests && \
    mkdir -p target/dependency && \
    cd target/dependency && \
    jar -xf ../*.jar

# ==================== 运行阶段 ====================
FROM eclipse-temurin:11-jre-alpine

# 创建非 root 用户
RUN addgroup -S hongtian && adduser -S hongtian -G hongtian
WORKDIR /app

# 从构建阶段复制产物
COPY --from=builder --chown=hongtian:hongtian /build/target/dependency/BOOT-INF/lib ./lib
COPY --from=builder --chown=hongtian:hongtian /build/target/dependency/META-INF ./META-INF
COPY --from=builder --chown=hongtian:hongtian /build/target/dependency/BOOT-INF/classes ./

# 健康检查
HEALTHCHECK --interval=30s --timeout=3s --start-period=60s --retries=3 \
  CMD wget --quiet --tries=1 --spider http://localhost:8080/actuator/health || exit 1

USER hongtian
EXPOSE 8080

# 使用 exec 格式确保正确接收 SIGTERM 信号
ENTRYPOINT ["java", "-cp", ".:./lib/*", "com.hongtian.lowcode.Application"]

四、Docker Compose 编排:一键启停实战

4.1 完整配置示例

version: "3.8"
services:
  # MySQL 数据库
  mysql:
    image: mysql:8.0.32
    container_name: hongtian-mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      MYSQL_DATABASE: lowcode_platform
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}
    volumes:
      - mysql_data:/var/lib/mysql
      - ./init-scripts:/docker-entrypoint-initdb.d
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - hongtian-network

  # Redis 缓存
  redis:
    image: redis:7-alpine
    container_name: hongtian-redis
    volumes:
      - redis_data:/data
    command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 3s
      retries: 5
    networks:
      - hongtian-network

  # 后端服务
  backend:
    build:
      context: ./backend
      dockerfile: Dockerfile
    container_name: hongtian-backend
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/lowcode_platform?useSSL=false&serverTimezone=Asia/Shanghai
      SPRING_DATASOURCE_USERNAME: ${DB_USER}
      SPRING_DATASOURCE_PASSWORD: ${DB_PASSWORD}
      SPRING_REDIS_HOST: redis
      SPRING_REDIS_PASSWORD: ${REDIS_PASSWORD}
    depends_on:
      mysql:
        condition: service_healthy
      redis:
        condition: service_healthy
    ports:
      - "8080:8080"
    networks:
      - hongtian-network
    restart: unless-stopped

  # 前端 Nginx
  frontend:
    image: nginx:alpine
    container_name: hongtian-frontend
    volumes:
      - ./frontend/dist:/usr/share/nginx/html:ro
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    ports:
      - "80:80"
    depends_on:
      - backend
    networks:
      - hongtian-network

volumes:
  mysql_data:
  redis_data:

networks:
  hongtian-network:
    driver: bridge

4.2 一键部署命令

# 1. 准备环境变量文件
cp .env.example .env && vim .env

# 2. 构建并启动(后台运行)
docker-compose up -d --build

# 3. 查看服务状态
docker-compose ps

# 4. 查看实时日志
docker-compose logs -f backend

# 5. 版本升级(零停机部署)
docker-compose pull backend
docker-compose up -d --no-deps --build backend

# 6. 一键停止并清理
docker-compose down -v  # -v 参数同时清理数据卷,生产环境慎用

结语

宏天低代码通过 Docker 容器化技术,将原本需要数小时的部署流程压缩至 10分钟内完成,环境一致性达到 100%,回滚时间从小时级降至分钟级。这套方案不仅适用于低代码平台,也可为其他企业级应用提供参考。

作者:西流

就在最近,大模型圈再次迎来重磅炸弹!阿里巴巴开源了全新一代大模型——千问 Qwen3.5-397B-A17B,直接登顶全球最强开源模型宝座。

面对如此强大的模型,开发者们最关心的问题莫过于: “这么强的模型,部署起来会不会很麻烦?”

今天,我们就为大家带来一个 “神器级”解决方案——通过函数计算 FC 实现一键部署 Qwen3.5,让顶级模型的计算力触手可及!

模型介绍

这次开源的 Qwen3.5-397B-A17B 可不是普通的模型升级,它在架构和性能上都实现了质的飞跃:

  • 性能超过万亿参数的 Qwen3-Max 模型,是目前全球最强开源模型,总参数 3970 亿,但激活参数仅 170 亿。采用创新的混合架构(线性注意力 Gated Delta Networks + 稀疏混合专家 MoE),在保持能力的同时优化了速度与成本。
  • 成本降低:部署显存占用降低 60%,推理效率大幅提升,最大推理吞吐量可提升至 19 倍!
  • 全能选手 :作为原生视觉 - 语言模型,在推理、编程、智能体能力与多模态理解上表现优异。语言支持从 119 种扩展至 201 种,全球通用。

函数计算解决方案

传统部署大模型,你通常需要面对:

  • 复杂的 GPU 环境配置
  • 繁琐的运维监控工作
  • 弹性伸缩困难

现在,有了函数计算 FC,一切变得如此简单!

函数计算 FC 已同步接入 Qwen3.5 本次开源的模型,提供企业级部署方案。基于 Serverless GPU 架构,你无需关心底层基础设施,只需专注于模型本身的应用与调试。

一键部署 Qwen3.5-397B-A178

  1. 准备一个 OSS Bucket,使用 https://functionai.console.aliyun.com/old/template-detail?tem... 这个白屏化工具,将 Qwen/Qwen3.5-397B-A17B 下载到 bucket 的一定目录中,比如 Qwen/Qwen3.5-397B-A17B。

a. 先将这个白屏化工具部署起来,等待部署成功

image

image

b. 编辑后端配置完毕以后,将 Qwen/Qwen3.5-397B-A17B 下载对应 bucket 中的指定目录,开始下载任务(注:模型很大,请耐心等待下载)

image

image

  1. 在 FunModel 的自定义部署(https://functionai.console.aliyun.com/fun-model/cn-hangzhou/c... ),选择好镜像以及计算资源,填写好对应的启动命令,既可以完成一键部署。

image

image

启动命令:

vllm serve /mnt/my-model-scope/models/Qwen/Qwen3.5-397B-A17B --served-model-name Qwen/Qwen3.5-397B-A17B --port 9000 --trust-remote-code --gpu-memory-utilization 0.9 --max-model-len 262144 --tensor-parallel-size 16 --enable-auto-tool-choice --tool-call-parser qwen3_coder --reasoning-parser qwen3 
  1. 耐心等待部署,部署成功后,即可以进行推理服务的调试。

image

qwen3.5 模型市场

更多 qwen3.5 模型一键部署方案请参考。(模型持续补充中)

image

总结

维度传统方案FunModel
部署时间以天计5分钟
技术门槛
运维以及迭代成本

依托 Serverless + GPU,天然提供了简单,轻量,0 门槛的模型集成方案,给个人开发者良好的玩转模型的体验,也让企业级开发者快速高效的部署、运维和迭代模型。

在阿里云函数计算,开发者可以做到:

  • 模型的快速部署上线:从原来的以周为单位的模型接入周期降低到 5 分钟,0 开发,无排期。
  • 一键扩缩容,让运维不再是负担:多种扩缩容策略高度适配业务流量,实现“无痛运维”。

在 AI 的时代浪潮下,模型作为 AI 的载体必然会不断迭代,开发者对模型部署的需求也会日益增多,函数计算 FC 为模型部署和集成提供新范式,也会朝着“让人人成为开发者”的目标演进下去。

更多内容请参考:

[1] FunModel 快速入门

https://fun-model-docs.devsapp.net/getting-started/

[2] FunModel 自定义部署

https://fun-model-docs.devsapp.net/user-guide/custom-model-de...

在 Web 开发和文档共享场景中,将 PowerPoint 演示文稿转换为 HTML 格式是一项常见且实用的需求。HTML 格式的幻灯片可以直接在浏览器中查看,无需安装任何办公软件,非常适合在线展示、跨平台分享和嵌入式集成。本文将详细介绍如何使用 Python 将 PowerPoint 演示文稿导出为 HTML 文件,包括完整转换和单页导出两种实用场景。

环境准备

要实现 PowerPoint 到 HTML 的转换,首先需要安装支持此功能的 Python 库。本文使用 Free Spire.Presentation for Python 来加载、操作和转换 PowerPoint 文件。可通过 pip 安装:

pip install spire.presentation.free

安装完成后,即可在 Python 脚本中导入 spire.presentation 模块开始工作。该库支持 PPT、PPTX 等多种格式,并能够将其转换为 HTML、PDF、图片等格式。

基础转换:整个演示文稿转 HTML

最基础的转换场景是将整个 PowerPoint 文件一次性转换为 HTML。这种方法适合需要完整保留所有幻灯片内容和顺序的场景。

from spire.presentation import *

# 创建演示文稿对象
presentation = Presentation()

# 加载 PowerPoint 文件
presentation.LoadFromFile("input.pptx")

# 保存为 HTML 格式
presentation.SaveToFile("output.html", FileFormat.Html)

# 释放资源
presentation.Dispose()

转换结果预览:

这段代码展示了最简洁的转换流程。LoadFromFile() 方法支持多种输入格式,包括 .pptx.ppt 等。SaveToFile() 方法的第二个参数指定输出格式,这里使用 FileFormat.Html 枚举值。

转换后的 HTML 文件会保留原始幻灯片的文本、图片、形状和基本布局。浏览器打开后会显示一个包含所有幻灯片内容的网页,通常以垂直排列的方式展示每张幻灯片。

高级用法:转换单个幻灯片

在某些场景下,可能只需要导出演示文稿中的特定幻灯片。例如,从模板中提取某一页,或者将不同演示文稿的关键页面组合成新的展示内容。这时可以使用单页转换功能。

from spire.presentation import *

# 加载演示文稿
presentation = Presentation()
presentation.LoadFromFile("template.pptx")

# 获取指定的幻灯片(索引从 0 开始)
slide = presentation.Slides[0]  # 获取第一页

# 将单张幻灯片保存为 HTML
slide.SaveToFile("slide1.html", FileFormat.Html)

presentation.Dispose()

通过访问 Slides集合的索引,可以精确控制要导出的页面。这对于构建幻灯片预览系统特别有用——可以先生成每页的缩略图或 HTML 预览,再根据用户选择加载完整内容。

批量导出所有幻灯片为独立 HTML 文件

如果需要将每张幻灯片分别保存为独立的 HTML 文件,可以通过遍历幻灯片集合来实现。这种方法适用于创建在线相册、教学课件分页展示等场景。

from spire.presentation import *
import os

# 确保输出目录存在
output_dir = "slides_html"
os.makedirs(output_dir, exist_ok=True)

# 加载演示文稿
presentation = Presentation()
presentation.LoadFromFile("presentation.pptx")

# 遍历所有幻灯片
for index in range(presentation.Slides.Count):
    slide = presentation.Slides[index]
    
    # 为每张幻灯片生成文件名
    filename = f"{output_dir}/slide_{index + 1}.html"
    
    # 单独保存每张幻灯片
    slide.SaveToFile(filename, FileFormat.Html)
    print(f"已导出:{filename}")

presentation.Dispose()

这个脚本会自动创建输出目录,并将每张幻灯片保存为带编号的 HTML 文件。生成的文件可以按照顺序单独访问,也可以集成到自定义的导航界面中。

转换过程中的注意事项

字体和样式保留

HTML 转换过程中,PowerPoint 中使用的字体可能会被替换为 Web 安全字体。为了最大程度保持视觉效果,建议:

  • 在原始 PPT 中使用常见的 Web 字体(如 Arial、Times New Roman)
  • 接受转换后可能存在细微的样式差异
  • 对于关键文档,转换后手动检查 HTML 输出效果

图片和媒体元素

现代转换工具通常会保留幻灯片中的图片元素,但需要注意:

  • 图片会被嵌入到 HTML 文件或保存在相邻目录中
  • 动画和视频内容可能无法完全保留
  • 复杂的过渡效果在 HTML 中可能简化为静态显示

超链接的处理

如果原始演示文稿包含超链接,转换后的 HTML 文件通常会保留这些链接的可点击性。这使得 PPT 转 HTML 成为创建交互式文档的有效方式。

# 加载包含超链接的演示文稿
presentation = Presentation()
presentation.LoadFromFile("linked_slides.pptx")

# 转换后,原有的超链接仍然有效
presentation.SaveToFile("linked_output.html", FileFormat.Html)
presentation.Dispose()

实战应用:构建简单的在线演示系统

基于单页转换功能,可以构建一个简单的在线演示查看系统。以下是一个概念示例:

from spire.presentation import *
import os

def create_presentation_viewer(pptx_file, output_folder):
    """
    将 PowerPoint 转换为可在线浏览的 HTML 集合
    """
    os.makedirs(output_folder, exist_ok=True)
    
    presentation = Presentation()
    presentation.LoadFromFile(pptx_file)
    
    # 导出所有幻灯片
    for i in range(presentation.Slides.Count):
        slide = presentation.Slides[i]
        slide.SaveToFile(
            f"{output_folder}/page_{i+1}.html", 
            FileFormat.Html
        )
    
    # 同时导出完整版本作为备选
    presentation.SaveToFile(
        f"{output_folder}/complete.html", 
        FileFormat.Html
    )
    
    presentation.Dispose()
    
    return {
        "total_slides": presentation.Slides.Count,
        "output_folder": output_folder
    }

# 使用示例
result = create_presentation_viewer("quarterly_report.pptx", "viewer_output")
print(f"已处理 {result['total_slides']} 张幻灯片")

这个函数可以用于自动生成培训材料、产品文档或会议记录的在线版本。结合简单的前端导航,就能创建一个功能完备的演示文稿查看器。

与其他格式的对比

除了 HTML,PowerPoint 还可以转换为 PDF、图片等格式。各种格式有其适用场景:

格式优势适用场景
HTML可在浏览器直接查看,支持超链接在线分享、网页嵌入
PDF格式精确,打印友好正式文档、打印输出
PNG/JPG兼容性好,易于编辑社交媒体、图片展示

选择转换格式时,应根据最终用途来决定。如果需要在线访问和交互,HTML 是最佳选择;如果需要精确打印,则 PDF 更合适。

总结

使用 Python 将 PowerPoint 演示文稿转换为 HTML,是实现演示内容在线展示和自动化处理的一种高效方式。通过程序化转换,不仅可以将完整演示文稿导出为网页形式,还能够根据实际需求灵活处理单张或多张幻灯片,从而满足不同的应用场景。

在实际项目中,这种技术非常适合用于构建在线演示系统、企业培训平台或自动化报告发布流程。借助 HTML 输出格式,演示文稿可以更方便地集成到网站、学习管理系统(LMS)或内部知识平台中,实现无需 PowerPoint 即可浏览内容的效果。

掌握 PowerPoint 到 HTML 的自动化转换方法,可以显著提升文档处理效率,并为构建更复杂的文档管理或内容分发系统提供基础能力。无论是分享会议资料,还是部署在线培训内容,这一技术都具有很高的实用价值。

更多 PowerPoint 演示文稿处理技巧,请前往 Spire.Presentation for Python 官方教程查看。

长期以来,数据库运维始终难以摆脱“被动救火”模式——当 CPU 飙升、死锁频发或慢查询拖垮业务时,DBA 往往处于被动响应状态,这已成为无数技术团队的真实痛点写照。

拒绝被动响应,告别“救火模式”

线上数据库CPU突然飙到99.76%,你会怎么做?

打开监控、翻慢查询日志、找问题SQL、评估影响、执行限流……

这套流程在逻辑上严密,但在时间窗口面前却显得笨重——少则十几分钟,多则数小时,而业务损失往往就发生在这生死时速的几分钟内。

阿里云瑶池旗下的 DAS Agent 给出了另一种答案。

DAS Agent 是融合大模型技术与阿里云十万工单专家经验的智能数据库运维大脑,通过构建覆盖“问题发现-根因诊断-闭环优化”的全链路自治体系,保障企业核心数据库业务7×24 小时持续在线,助力万千企业迈入AI-Native运维时代。

云上数据库实例的运维全流程

以典型的“CPU 飙升至 99%”场景为例,DAS Agent 展现了其完整的自治流程:

上方视频中演示的,是DAS Agent在云上RDS实例上的真实操作:

自主发现异常:检测到CPU使用率高达99.76%,精准定位问题SQL

给出优化路径:索引建议、SQL改写、临时止血措施一步到位

直接发起限流:无需跳转其他控制台,对话框内完成操作

效果立竿见影:限流后CPU使用率从99.76%回落至1.05%

紧接着,DAS Agent还独立完成了一次死锁分析——不只是读日志、看报告,它主动检查了实例是否开通审计,调取全量SQL日志,自主决策查询时间范围,最终绘制出死锁发生时精准的事务时序图。

整个过程,没有人工介入,没有脚本预设。AI自主决策每一步该查什么、该调哪个接口、该怎么组合技能。

自建数据库实例的智能诊断

有人会问:我们用的是自建MySQL数据库,不在阿里云上,DAS Agent还能提供运维服务吗?

答案是:能!

DAS Agent支持主机或集中式网关模式,接入自建或其他云上的MySQL、PostgreSQL、Redis、MongoDB实例,无需迁移改造

在视频中,DAS Agent接入一个自建MySQL实例后:

通过IP端口自主查询实例ID,多次翻页、失败重试,自动调整方案——没有人告诉它怎么做

空间分析:实例已用48GB,使用率81.4%,预计还能撑99天,清晰呈现库表结构和Top大表

SQL预检:把一条待上线的SQL丢给它,DAS Agent调用执行计划、表结构、引擎信息,给出三个具体问题:
GROUP BY字段不是索引最左前缀,需要创建临时表

ORDER BY触发额外文件排序,现有索引未被利用

两张表连接因过滤条件分布不均,连接效率低

给出优化建议:创建复合索引、SQL改写(先过滤再连接),直接可落地执行

目前,已有企业将该能力前置到发布流程中:通过审计日志在预发环境自动捕获新增 SQL ,送至 DAS Agent 按生产环境预检(不用实际运行),在问题进入生产环境前即可完成拦截。

为什么 DAS Agent 是真正的“运维大脑”?

目前市面上已有的智能运维产品,大多是两类:

一类是规则+数据的工具型产品,包装了AI的名字,实则是预设规则的自动化。遇到边界场景,直接失效。

另一类是MCP/Workflow架构,依赖用户指定开源模型,场景覆盖有限,新场景上线慢,低频复杂问题基本无法应对。

而DAS Agent 则实现了质的突破。

底层架构核心优势

已上线20+运维技能(Skills),AI可以自由组合调用,不受Workflow编排限制

基于历史运维工单训练,不是通用大模型套壳,在准确率和稳定性上有明显差距

诊断+操作闭环:业界目前唯一能在对话框内直接完成限流、会话管理等运维操作的产品

7×24小时自动运维:每天自动扫描账号下纳管实例,从资源水位、慢SQL、死锁、空间、安全逐一分析,变"救火"为"预防"。

能力矩阵全方位覆盖

运维日报:实例健康度自动体检,输出。账号下多实例(支持跨引擎)的统一运维报告,包含指标趋势对比分析、慢 SQL、资源水位、安全风险等高价值建议。

SQL 优化:提供索引推荐、等价改写及上线前预检,优化效果显著优于传统方案,从源头提升查询效能。

智能诊断:覆盖 CPU/内存异常、死锁、大 Key、锁竞争等场景,精准定位根因,并秒级给出优化建议及止血方案。

知识问答:跨引擎运维报告分析对比,包含异常处理建议、升降配建议、变更影响分析等多种类型,专家级知识问答即时响应变更难题。

赋能不同规模企业智能运维

中小团队:没有专职DBA,研发兼职运维,或者花大价钱请外包兜底——DAS Agent可以大幅降低这部分成本,且7×24小时在线,不请假、不离职。

大型企业:实例多、引擎杂,DBA长期疲于救火,DAS Agent能显著减负,让DBA把精力放在真正有价值的事情上。

定义AI-Native 时代的运维新边界

数据库运维不应再是人力的简单叠加。
DAS Agent 的实践证明,当 AI 具备了领域深度、逻辑推理与操作闭环时,它便能真正从“辅助工具”进化为“自治实体”。

DAS Agent 现已支持多云多引擎的统一纳管: 能够一站式集成阿里云原生数据库(RDS/PolarDB/Tair/MongoDB)以及部署于各处的自建/跨云实例(MySQL/PG/Redis/MongoDB),为企业提供跨环境、高兼容的全局数据库运维管理中枢,打破数据孤岛,赋能一站式运维治理。

DBA不再需要在多个平台、多个账号之间来回切换。一个对话框,诊断到操作,全程闭环。

AI Native运维时代,已经到来!你准备好交出那个“火警电话”,拥抱一个不再焦虑的夜晚了吗?

了解更多

产品文档:https://help.aliyun.com/zh/das/user-guide/das-agent欢迎搜索钉钉群号“58255008752 ”或钉钉扫描下方二维码加入钉群交流:
image.png

在现代办公自动化场景中,将数据可视化为图表并嵌入 Word 文档已成为一项常见需求。无论是生成销售报告、制作数据分析文档,还是创建项目进度汇报,programmatically 在 Word 中插入图表都能显著提升工作效率。本文将深入探讨如何使用 Python 在 Word 文档中创建各种类型的图表,并对其进行样式定制和数据配置。

可通过 pip 安装:pip install spire.doc.free

环境准备

本文所使用的示例基于 Free Spire.Doc for Python,在开始之前,需要安装该库。可通过 pip 安装:

pip install spire.doc.free

安装完成后,即可在 Python 脚本中导入相关模块开始工作。

基础架构:文档与图表对象模型

在使用 Spire.Doc 创建图表前,需要了解其基本的对象层次结构:

  1. Document:表示整个 Word 文档
  2. Section:文档中的节,用于组织内容
  3. Paragraph:段落,用于承载文本和图表等元素
  4. Shape:形状对象,图表作为特殊形状嵌入其中
  5. Chart:图表对象,包含数据系列、坐标轴、标题等属性

基本操作流程为:创建文档 → 添加节 → 添加段落 → 插入图表形状 → 配置图表数据 → 保存文档。

创建第一个图表:柱形图

柱形图是最常用的图表类型之一,适合比较不同类别的数据。以下示例展示了如何创建一个简单的柱形图:

from spire.doc import *
from spire.doc.common import *

# 创建文档对象
document = Document()

# 添加一个节
section = document.AddSection()

# 添加标题段落
section.AddParagraph().AppendText("Column chart.")

# 添加新段落用于放置图表
newPara = section.AddParagraph()

# 插入柱形图,指定宽度和高度(单位为点)
shape = newPara.AppendChart(ChartType.Column, float(500), float(300))

# 获取图表对象
chart = shape.Chart

# 清空默认的数据系列
chart.Series.Clear()

# 添加数据系列:名称、X 轴类别、Y 轴数值
chart.Series.Add("Test Series",
                 ["Word", "PDF", "Excel", "GoogleDocs", "Office"],
                 [float(1900000), float(850000), float(2100000), 
                  float(600000), float(1500000)])

# 设置 Y 轴数字格式
chart.AxisY.NumberFormat.FormatCode = "#,##0"

# 保存文档
document.SaveToFile("ColumnChart.docx", FileFormat.Docx)
document.Dispose()

结果预览:

关键点解析:

  • AppendChart() 方法接受三个参数:图表类型枚举、宽度、高度
  • Series.Add() 方法用于添加数据系列,需要提供类别标签和对应的数值
  • 数值需要转换为 float 类型以确保兼容性
  • AxisY.NumberFormat.FormatCode 控制 Y 轴标签的显示格式

条形图:水平数据对比

条形图是柱形图的水平版本,特别适合类别名称较长或需要强调排名关系的场景:

# 创建条形图
chartShape = newPara.AppendChart(ChartType.Bar, float(400), float(300))
chart = chartShape.Chart

# 获取并设置图表标题
title = chart.Title
title.Text = "My Chart"
title.Show = True
title.Overlay = True  # 标题覆盖在图表上方

# 保存文档
document.SaveToFile("BarChart.docx", FileFormat.Docx)
document.Dispose()

结果预览:

标题的三个关键属性:

  • Text:标题显示的文本内容
  • Show:是否显示标题
  • Overlay:True 时标题覆盖在图表区域上,False 时标题位于图表外部

饼图:占比分析

饼图适合展示各部分占整体的比例关系,在财务分析和市场份额报告中应用广泛:

# 创建饼图
shape = newPara.AppendChart(ChartType.Pie, 500.0, 300.0)
chart = shape.Chart

# 添加单个数据系列(饼图通常只需要一个系列)
series = chart.Series.Add("Test Series", 
                          ["Word", "PDF", "Excel"],
                          [2.7, 3.2, 0.8])

# 保存文档
document.SaveToFile("PieChart.docx", FileFormat.Docx)
document.Dispose()

结果预览:

饼图的特点:

  • 通常只使用一个数据系列
  • 每个数据点代表整体中的一个部分
  • 扇区大小由数值比例决定

折线图:趋势展示

折线图擅长展示数据随时间或其他连续变量的变化趋势:

# 创建折线图
shape = newPara.AppendChart(ChartType.Line, 500.0, 300.0)
chart = shape.Chart

# 获取标题对象并设置
title = chart.Title
title.Text = "My Chart"

# 清空默认系列
seriesColl = chart.Series
seriesColl.Clear()

# 定义 X 轴类别
categories = ["C1", "C2", "C3", "C4", "C5", "C6"]

# 添加多个数据系列进行对比
seriesColl.Add("AW Series 1", categories, 
               [1.0, 2.0, 2.5, 4.0, 5.0, 6.0])
seriesColl.Add("AW Series 2", categories, 
               [2.0, 3.0, 3.5, 6.0, 6.5, 7.0])

# 保存文档
document.SaveToFile("LineChart.docx", FileFormat.Docx)
document.Dispose()

结果预览:

折线图的关键特性:

  • 支持多个数据系列叠加显示
  • 适合展示时间序列数据
  • 可以清晰对比不同系列的趋势差异

散点图:相关性分析

散点图用于展示两个变量之间的关系,在统计分析和科学研究中经常使用:

# 创建散点图
shape = newPara.AppendChart(ChartType.Scatter, 450.0, 300.0)
chart = shape.Chart

# 清空默认系列
chart.Series.Clear()

# 添加数据系列:X 值、Y 值
chart.Series.Add("Scatter chart", 
                 [1.0, 2.0, 3.0, 4.0, 5.0],
                 [1.0, 20.0, 40.0, 80.0, 160.0])

# 保存文档
document.SaveToFile("ScatterChart.docx", FileFormat.Docx)
document.Dispose()

结果预览:

散点图的特点:

  • 每个数据点由 X 和 Y 两个坐标值确定
  • 适合发现变量间的相关性模式
  • 可用于回归分析和趋势预测

气泡图:三维数据可视化

气泡图是散点图的扩展,通过气泡大小展示第三个维度的数据:

# 创建气泡图
shape = newPara.AppendChart(ChartType.Bubble, float(500), float(300))
chart = shape.Chart

# 清空默认系列
chart.Series.Clear()

# 添加数据系列:X 值、Y 值、气泡大小
series = chart.Series.Add("Test Series", 
                          [2.9, 3.5, 1.1, 4.0, 4.0],
                          [1.9, 8.5, 2.1, 6.0, 1.5],
                          [9.0, 4.5, 2.5, 8.0, 5.0])

# 保存文档
document.SaveToFile("BubbleChart.docx", FileFormat.Docx)
document.Dispose()

结果预览:

气泡图的独特之处:

  • 同时展示三个维度的数据
  • 气泡大小与第三个数值成正比
  • 适合复杂的多变量分析场景

3D 曲面图:立体数据展示

3D 曲面图提供立体的数据可视化效果,适合展示地形、温度分布等连续表面数据:

# 创建 3D 曲面图
shape = newPara.AppendChart(ChartType.Surface3D, 500.0, 300.0)
chart = shape.Chart

# 清空默认系列
chart.Series.Clear()

# 设置图表标题
chart.Title.Text = "My chart"

# 添加多个数据系列
chart.Series.Add("Series 1", 
                 ["Word", "PDF", "Excel", "GoogleDocs", "Office"],
                 [1900000.0, 850000.0, 2100000.0, 600000.0, 1500000.0])

chart.Series.Add("Series 2", 
                 ["Word", "PDF", "Excel", "GoogleDocs", "Office"],
                 [900000.0, 50000.0, 1100000.0, 400000.0, 2500000.0])

chart.Series.Add("Series 3", 
                 ["Word", "PDF", "Excel", "GoogleDocs", "Office"],
                 [500000.0, 820000.0, 1500000.0, 400000.0, 100000.0])

# 保存文档
document.SaveToFile("Surface3DChart.docx", FileFormat.Docx)
document.Dispose()

结果预览:

3D 曲面图的特点:

  • 提供立体的视觉呈现
  • 支持多个数据系列叠加
  • 适合展示复杂的多维度数据关系

图表尺寸与定位

图表的尺寸和位置对于文档的整体布局至关重要。AppendChart() 方法的第二和第三个参数分别控制图表的宽度和高度,单位为点(point):

  • 1 点 = 1/72 英寸 ≈ 0.35 毫米
  • 常用尺寸:400x300(小型)、500x300(中型)、600x400(大型)

定位技巧:

# 在特定段落后插入图表
para = section.AddParagraph()
para.Format.SpaceAfter = 20  # 设置段后间距

# 插入图表
chartShape = para.AppendChart(ChartType.Column, float(500), float(300))

通过调整段落的间距属性,可以控制图表与周围文字的间隔,实现美观的排版效果。

数据系列管理

数据系列是图表的核心组成部分。Spire.Doc 提供了灵活的系列操作方法:

添加系列

# 添加单个系列
chart.Series.Add("系列名称", ["类别 1", "类别 2"], [100.0, 200.0])

# 添加多个系列
chart.Series.Add("系列 A", categories, valuesA)
chart.Series.Add("系列 B", categories, valuesB)

清空系列

在添加自定义数据前,通常需要清空默认的系列:

chart.Series.Clear()

访问系列集合

可以通过 Series 属性访问系列集合进行更复杂的操作:

seriesColl = chart.Series
# 对系列集合进行操作

坐标轴格式化

坐标轴的显示格式直接影响图表的可读性。Spire.Doc 允许对坐标轴进行精细的格式控制:

# 设置 Y 轴数字格式(千位分隔)
chart.AxisY.NumberFormat.FormatCode = "#,##0"

# 设置百分比格式
chart.AxisY.NumberFormat.FormatCode = "0%"

# 设置小数位数
chart.AxisY.NumberFormat.FormatCode = "0.00"

常见的格式代码:

  • #,##0:千位分隔符,无小数
  • 0.00:保留两位小数
  • 0%:百分比格式
  • $#,##0:美元货币格式

完整实战示例

以下是一个综合示例,展示了如何在实际项目中创建包含多种图表的报告文档:

from spire.doc import *
from spire.doc.common import *

def create_sales_report():
    # 创建文档
    doc = Document()
    section = doc.AddSection()
    
    # 添加标题
    title_para = section.AddParagraph()
    title_para.AppendText("2024 Sales Report")
    title_para.Format.HorizontalAlignment = ShapeHorizontalAlignment.Center
    
    # 添加柱形图
    section.AddParagraph().AppendText("\nQuarterly Sales:")
    col_para = section.AddParagraph()
    col_chart = col_para.AppendChart(ChartType.Column, float(500), float(300))
    col_chart.Chart.Series.Clear()
    col_chart.Chart.Series.Add("Sales", 
                               ["Q1", "Q2", "Q3", "Q4"],
                               [150000.0, 220000.0, 180000.0, 250000.0])
    col_chart.Chart.AxisY.NumberFormat.FormatCode = "$#,##0"
    
    # 添加饼图
    section.AddParagraph().AppendText("\nProduct Distribution:")
    pie_para = section.AddParagraph()
    pie_chart = pie_para.AppendChart(ChartType.Pie, float(400), float(300))
    pie_chart.Chart.Series.Add("Products",
                               ["Product A", "Product B", "Product C"],
                               [45.0, 35.0, 20.0])
    
    # 保存文档
    doc.SaveToFile("Sales_Report.docx", FileFormat.Docx)
    doc.Dispose()

create_sales_report()

结果预览:

常见问题与解决方案

图表显示不完整

确保段落的行距设置适当,避免图表被裁剪:

para.Format.LineUnitAfter = 1  # 增加段后行距

数据精度问题

始终将数值显式转换为 float 类型:

values = [float(x) for x in raw_values]

中文标签显示

Spire.Doc 完全支持 Unicode 字符,可以直接使用中文字符串作为类别标签或标题。

总结

在 Word 文档中 programmatically 创建图表是办公自动化的重要技能。通过掌握 Spire.Doc for Python 提供的图表 API,可以实现:

  1. 创建七种主要图表类型:柱形图、条形图、饼图、折线图、散点图、气泡图、3D 曲面图
  2. 灵活配置数据系列和坐标轴格式
  3. 精确控制图表尺寸和位置
  4. 批量生成包含图表的专业报告文档

关键要点回顾:

  • 使用 AppendChart() 方法插入图表,指定类型和尺寸
  • 通过 Series.Add() 添加数据,记得先调用 Clear() 清空默认数据
  • 利用 NumberFormat.FormatCode 格式化坐标轴标签
  • 合理设置图表尺寸,确保在文档中的显示效果

掌握这些技能后,你可以进一步探索图表标题样式、图例位置、数据标签、颜色主题等高级定制功能,构建出功能完备的文档自动化生成系统。

更多 Word 文档操作技巧,请前往 Spire.Doc for Python 官方教程查看。

最近在看一些日文漫画和海外 webtoon 的时候,发现一个比较麻烦的问题:
图片里的文字很难直接翻译。

普通翻译工具基本都是针对纯文本的,但漫画、截图、气泡对话这些内容:

文字不可复制

字体复杂

竖排/混排较多

还有多语言混在一起

后来自己做了一个小工具,主要是把「 OCR + 翻译」流程简化到一步完成,适配漫画和图片场景。

大致流程其实不复杂:

图像文字检测(气泡/区域)

OCR 提取文本

自动语言识别

再走翻译模型处理短句对话

实际测试下来,发现一个有意思的点:
在这种场景下,OCR 准确率反而比翻译模型更关键,因为漫画字体和排版干扰很大。

目前这个工具主要用来:

看外语漫画/生肉

翻译截图里的文字

一些图片型内容快速理解

做成了一个简单的在线版本,省去本地部署和复杂配置:
https://aimangatranslate.com

不是做通用翻译的,更偏图片文本场景,所以适用面会比较垂直。

如果有做过 OCR 或多语言处理的 v 友,也挺好奇你们在复杂排版场景下是怎么提升识别稳定性的。

在各行业积极拥抱数字化转型的当下,合同、投标文件、财务报表、公务文书以及资质证明等重要文件,正迅速由传统的纸质形式向电子化形态转变。这一改变不仅显著提升了工作效率,降低了成本,同时也引发出一个核心问题,也就是如何确保电子文档的来源真实可信?如何保证电子文档在传输和存储过程中,未遭恶意篡改?是否能够赋予电子文件与传统纸质盖章文件同等的法律效力?须知在互联网时代,伪造PDF合同和恶意篡改电子协议金额的行为,已经变得愈加频繁猖獗。企业不仅面临复杂的运营问题,还可能因此陷入法律纠纷,导致财务损失,甚至还有损品牌声誉。JoySSL首席安全顾问指出,若要真正实现无纸化办公,不仅仅是格式的电子化替代,更在于将信任机制无缝迁移到数字环境中。文档签名证书正是为电子文档提供法律效力、保障数据完整性和提供可信身份认证的专业解决方案。

核心作用 为数字文件添加信任保障

文档签名证书通过密码学技术,彻底解决电子文件在身份核验、完整性保护和法律效力等方面的问题。通过权威验证,嵌入经审核的数字身份标识,让发布者身份清晰可信,避免身份伪造或文件造假等问题。而通过签名者独有的私钥,文件内容会被生成专属数字签名,相当于电子领域中的“指纹”,哪怕是最细微的篡改,都会使签名验证无法通过,并发出“文档已被篡改”提醒,使得内容的真实性和完整性始终得以保障。

文档签名证书凭借各项严谨的验证机制,达到 “可靠电子签名”的核心标准,可使经其签名的电子合同及审计报告等文件能作为重要的电子证据,简化举证和存证的复杂性,为企业带来了稳固的法律支持。同时结合权威时间戳服务,能够精确记录文件的签署时间。即便证书因过期而失效,签名依旧可以被验证真实性。对于合同、档案及医疗记录等需长期保存的文件而言,具有不可忽视的重要价值。

适用场景 可信电子文档覆盖全行业

文档签名证书凭借显著的适用性,为众多领域的文档处理流程带来变革。普通企业应用于合同签署、商务通信及财务文档;政务及公共服务普遍用于公文处理、行政审批和数字证照;司法领域通常用于法律文件、证据存档与数字化送达;医疗健康领域常见于电子病历、检查报告和健康记录;金融保险行业适用于电子保单、信贷资料和对账单。

解决方案 签名证书为文档保驾护航

为充分保障文档的可信与安全,JoySSL市场部门经过多年调研,深刻洞察各行业对文档安全性与法律效力的严谨要求,提出专业解决方案。首先以严格的身份核验机制,确保身份真实且合法,从根本上建立信任基础。其次文档签名证书需覆盖国际与国密标准,满足全球化业务及国内合规的双重需求。

批量自动化签名可轻松实现合同及报表的批量签署,提升业务效率。搭建证书生命周期管理平台,可集中处理文档签名证书的申请、部署、监控与续展,确保签名服务的持续可用性。

数字签名 赋予数字文件可信的力量

尽管文件已摆脱了纸质媒介的限制,其承载的信任依然至关重要。数字化时代,信任需要依赖更先进、更严谨的技术来确保,文档签名证书正是这种理念的最佳体现,让每一次文件交互都成为建立信任、提升效率和保护权益的契机。

邪修主机折腾记

过完年折腾了一台邪修主机,想找个地方分享一下,就来这碎碎念吧~

全文古法手搓,文字 AI 率 0%,梦到哪句说哪句,正文约 2300 字,阅读需要 5-8 分钟。


背景:游戏设备不堪重负

我的 PC 游戏设备:型号是拯救者 Y7000P 2020 ( 10875H + 2060 )

以前打三角洲 1080P 中低画质 120 帧( DLSS 性能优先),黑猴中画质 60 帧( DLSS 性能)。

去年下半年开始显卡出现了问题,如果不降频玩着玩着游戏就会卡死闪退,直到去年年底即使降频也会偶发一些闪退卡死问题了,经排查都是显卡扛不住了,于是我从年初开始琢磨是时候让这位五年老兵退休了。


第一阶段:显卡拓展坞(失败)

以前了解过拓展坞,刻板印象还停留在又贵损耗又大的方面,雷电接口带宽也不一定喂得饱显卡。

直到一月底,我才了解到原来还有 OCuLink 连接这样一个技术,通过这个技术进行独显扩展如果跑在外接显示屏上几乎可以做到无损外接,即使电脑没有 OCuLink 接口也可以通过 M.2 转 OCuLink 的转接板,将一个 M.2 槽变成 OCuLink 接口。

我很来劲,便着手开始研究显卡坞、转接板以及最重要的挑选新显卡。

显卡:3080-10G

我知道这个时间点什么东西都在涨,显卡也是涨价厉害,这时我又刷到新东西了,**西风显卡出了"全新 3080 10G"**。WTF ,2026 年居然还能看到如此小众的中文语句,全新的 3080-10G ???

但是,没有不好的产品,只有不好的价格,这块三风扇的"全新 3080"在拼多多多人团只要 2268 元,并且有三年质保,而此时此刻闲鱼三个月质保的二手卡商的 3080 要价也是 2000 起步。根据我在显卡天梯榜的反复比对,我认为这张卡很符合我臭打游戏的需求,于是果断拿下!

显卡长这样: https://imgur.com/ASr1TkK

扩展坞:开源宇宙 G3

确定了通过 OCuLink 的扩展方案,就要选购一台支持这个接口的拓展坞了,现在市面上主要有封闭式拓展坞和开放式拓展坞两种,封闭式的就像一个小机箱,把显卡和电源都塞进去,开放式的就是纯粹的显卡裸露工作了。我选择了前者,并且在闲鱼花费 500 元购入几乎全新的开源宇宙 G3A 白色显卡坞,这个显卡坞自带 800W 的服务器电源,性价比不错。

后在拼多多花费 36 元购入萌途的 M.2 转 OCuLink 转接板,在笔记本的底部开一个口把 OCuLink 接口暴露出来,这样就可以接上显卡坞了。

装完显卡后整个显卡坞长这样: https://imgur.com/ztxKHgs

坏结局

接上显卡坞后,主动打开显卡坞电源,显卡正常启动,但是打了驱动后怎么都识别不到 3080——

  • 改独显直连模式,设备管理器里能看到是显示适配器但是识别不到显卡,直接报错( 31 )
  • 混合模式先开显卡坞的话直接就是黑屏无法进系统,外接显示屏也是毫无反应
  • 联想的 BIOS 比他自己的电脑管家还精简,根本无法屏蔽独显,暂时还没尝试别的屏蔽独显的手段
  • 插槽也换过了,驱动卸了装装了卸,驱动也是英伟达最新

和开源宇宙的客服讲,最后客服也是坦白:拯救者兼容性就是很差,基本没有成功的案例。

好吧,吃了冲动的亏啊,没有做好背景调查就直接上手开干了,结果折腾半天,啥也没捞着(哆啦 A 梦瘫.jpg )


第二阶段:转战整机

虽然显卡坞失败了,但是战斗并未停止,因为我的需求没有改变,况且现在最重要的显卡已经到手了,也舍不得就这么放弃(明明香喷喷的算力已经在手上了却用不了,可恶)

因为我是个价格敏感型用户,我本身的升级预算就是显卡坞 + 显卡,现在为了整机多花的钱其实都是超预算了,所以我的想法是以已有的 3080 显卡为基础,装一套能刚刚好发挥 3080 游戏性能的机器出来就行。同时我又是个彻头彻尾的懒人,为了逼自己一把,我先买了最好确定的电源和机箱:

  • 机箱:闲鱼购入全新的玩嘉孤勇者白色海景房,108 元包邮
  • 电源:京东购入利民 TG850-W 金牌全模组,349 元

之后我就开始研究现在的硬件配置,看视频,问 AI ,逛贴吧,抄人家的方案……

最后我发现,怎么现在啥东西都在涨价,CPU 涨( X3D 系列全部大涨)、内存涨(不用我多说了)、硬盘涨(跟着内存一起涨的)、主板也涨(我不理解),好家伙,装机八大件有五件在涨价,这还装个屁啊(哆啦 A 梦瘫.jpg )

看着京东早上下单下午就送到已经在家躺着的电源,难道已经到了要咬咬牙的地步了吗,我躺在床上刷贴吧准备看看有没有什么丐版方案,直到有一个非常邪恶的物件映入我的眼帘……


第三阶段:邪修装机

"14450H 板 U 套装"?这又是什么东西,H 芯片不是移动端吗,怎么还有主板的!孤陋寡闻的我仿佛又接触到了一个新世界,我开始了解 MODT 平台,没想到这种方案已经这么成熟了,厂家直接把移动端芯片干在主板上,用更好的散热和供电发挥更好的性能,主要是这种平台的方案一年来几乎没有这么涨价,我当即决定直接走这条路,曲线救国!

板 U 套装

我又开始花很多时间开始比较各个平台芯片的性能表现,给我的显卡挑选一颗合适的干活搭子,结果我在卖 MODT 板子的商家商品列表里又看到了更邪恶的东西——"12900H ES 版",我说怎么这么便宜,原来移动端也有 ES 版芯片(很难理解这些东西都是哪里搞到的),去 B 站翻翻人家的搞机记录,没想到这也是很成熟的方案了,天呐,我比我想象的更孤陋寡闻了。

于是我又开始比性能,查实测,问 AI ,本着能省就省只买刚刚好的原则,最终确定了,在拼多多全款( 695 元)拿下 TOPC ITX QY0Z-8U 平台,QY0Z 是 12700H 的 ES 版本,该主板支持 PCIe 4.0 x8 ,三个 M.2 接口,完美符合我的需求。主板和核心都保修 1 年。

内存

既然主板和 U 都邪修了,我看着我前年内存没涨价时候买的一对 DDR4 16G 3200 笔记本内存条,再看看现在已经 8 倍的内存价格,灵机一动,都是 DDR4 ,有没有可能笔记本的能转接到桌面端,我随手一搜,好家伙,真有 SO-DDR4 转 DDR4 的转接卡。26.5 元一根,直接拿下一对。

装完长这样: https://imgur.com/H2Dh5ih

硬盘

硬盘也涨得很贵,好在我 22 年前后硬盘白菜价的时候购入了一些存储介质,于是我对现有的存储设备进行了一波优化和断舍离,从以前的硬盘盒里匀了一块 512G 的 SN850 出来,完美。

散热

散热从闲鱼购入了钛钽 A080 白色,花费 180 元,因为听说 MODT 平台的散热不一定好,所以选了这个 360 水冷准备力大砖飞的散热策略(后来证明这个水冷压这个 CPU 能让 CPU 感冒,doge )钛钽承诺六年漏液包赔,所以从闲鱼购入二手也没什么问题。

机箱风道的风扇直接闲鱼购入三正三反白色 RGB 六把,50 元,因为主板不支持神光同步,所以让卖家送了个带遥控器的集线器,挺好用的。

网卡

网卡购入 AX210 008 批次,89 元,又去拼多多 9 元买了两根 10dBi 天线。

其实这里能看出来我还是交了一些粉红税的,因为想要纯白的主机,所以一些东西都加了钱,相比非白色的版本:机箱加了 5 元,风扇加了 15 元,360 水冷加了 30 元,电源加了 30 元。


最终阶段:邪修成功

经过几天等待,硬件悉数到货(极兔是所有快递中最拉胯的,点名批评)

装机一小时,理线一整天,一番鏖战也是成功点亮,后面就是老生常谈的装系统、装驱动、跑压力测试了。

12 代 ES 版本一般认为只支持 2666 内存开机,但是我进 BIOS 调整 3200 G1 后成功开机,跑了两轮 TM5 也是 0 error ,运气不错!

项目 成绩
CPU-Z 单核 590
CPU-Z 多核 6630 (持平 11900K )
内存延迟 115ns (转接影响)
显卡压力测试 98.5%
3DMark TimeSpy Extreme 8399

内存因为转接的因素延迟高达 115ns ,不过也能用,等内存降下来再换吧唉。

主机装完长这样: https://imgur.com/a/aZ4rdcH

显示器

后来为了配合这套平台,京东购入泰坦军团 P276MV,1389 元,4K 160 双模 / 1080P 360 ,Mini LED ,没用过 4K 高刷的人表示好爽,眼镜袅袅了。

选 4K 也是有一些硬件原因在里面的,因为内存延迟的问题,这套平台打网游可能会上不去超高帧率,200 多就比较极限了,根本跑不到 1K 300+,为了不浪费显卡的性能,不如上 4K ,在观感上获得质变。


总结

1 月底冒出想法,2 月 23 日第一个配件到货,3 月 5 日装好显示器正式完工,真是一场酣畅淋漓的折腾啊,昨晚坐下来狠狠打了三小时三角洲,4K 中画质能稳 140 帧,DLSS 均衡,爽!

好在这套平台是成功运行了,性能也和我的预期保持一致,我很满意,里面的核心配件也有不同程度的官方质保,我也很放心。


硬件花费清单

主机配件

配件 型号 价格 备注
板 U TOPZ QY0Z-8U 695 元
显卡 西风 3080-10G 浪花 2268 元
内存 联想 DDR4 笔记本内存 16G×2 3200 252 元 非新购配件
内存转接卡 启林航 SODDR4 转 DDR4 ×2 53 元
CPU 散热 钛钽 A080 白色 360 水冷 180 元
CPU 硅脂 利民 TF7 4G 9 元
机箱风扇 杂牌 ×6 50 元
硬盘 SN850 512G 289 元 非新购配件
机箱 玩嘉孤勇者白色海景房 108 元
电源 利民 TG850-W 金牌全模组 白色 249 元
网卡 AX210 89 元
网卡天线 杂牌 10dBi ×2 9 元
风扇控制器 比亚兹带遥控器 23 元
理线扎线带 山泽白色尼龙扎带 ×50 1.9 元

主机合计:4275.9 元

显示器

配件 型号 价格
显示器 泰坦军团 P276MV 1389 元

主机 + 显示器合计:5664.9 元

其余开销(显卡坞方案试错)

配件 型号 价格
M.2 转 OCuLink 转接板 萌途 36 元
显卡坞 开源宇宙 G3 500 元

其余开销合计:536 元


整个折腾过程共产生 5660 元支出,一些用不到的东西之后闲鱼回回血吧。

趣味数据:本来的预算是显卡 + 显卡坞 2804 元,装成整机比显卡坞方案多花费了 1472 元。

看了几天帖子,装了 OpenClaw ,体验了下,感觉现在那些使用场景好像都没啥用,像个玩具,就出现了下面的幻觉

昨晚快下班的时候,老板在群里 @ 我:

电商临时加个功能。
用户下单要支持优惠券叠加、库存扣减、防重复下单、分仓发货,顺便把消息队列补偿也做了。
你今晚加个班写一下,明天要上线

我看完想了三秒:

“自己写?那得通宵。
现在不是有 OpenClaw 吗。”

于是他把老板的需求原封不动转发给 OpenClaw ,还补了一句:

“用 Java 实现,代码清晰一点。”

发送完,我安心地去睡觉了。

夜里服务器日志疯狂滚动:

  • 分析系统架构……
  • 设计订单流程……
  • 评估优惠券策略……
  • 优化库存并发控制……
  • 考虑事务一致性……

第二天早上。

老板问:

“功能写好了吗?今天要上线。”

我打开结果一看。OpenClaw 输出了一句话:

“为了保证系统的可扩展性,建议采用分层架构设计。”

下面还有一行:

“Token 已耗尽。”

老板沉默了两秒。问:

“那代码呢?”

我想了想,说:

“代码还没写。”
“但好消息是——
系统已经被深度思考过一整晚了。” 😄

大家好呀

前情提要:
两三年前,我在学习前端代码的时候发现这个论坛,后来闲时都会来这里摸摸鱼。

但是我发现在这里也能看到一些网友在讨论关于独立站的话题。

所以我就突发奇想,我可不可以创建一个主题跟大家交流一些关于独立站的话题。

自我介绍:

我从实习就开始接触独立站,然后毕业后到现在快六年了也一直从事这个行业,我所擅长的方向是 B2B 的外贸独立站,建站、SEO 、GOOGLE 广告和社交媒体推广我都有负责和实际操作。

而我在 2025 年也做到了项目全年总业绩一个亿,独立站新客户业绩增长一千万,这个成绩也让我的从业经历有了一个新的里程碑,也算是证明我应该也算脱离小白队伍了吧哈哈哈。

所以我很喜欢这个行业,也想在这里跟大家交流,或许我可以为你解答行业内的某些问题,或许你的评论也可以为我带来新的灵感。

希望我们可以友好交流,也祝愿大家一切顺利
(周六日我在休息可能没办法及时回复,工作日内我看到了都会认真回答)

因为领导层反复强调和要求推进 AI 相关的工作,近期也试了不少方案。
目前是做了两个实验性的 Agent:

1 、各种技术资料的检索 Agent ,效果一般般,但勉强能用。

2 、对某个特定平台,报错后,对各类历史问题的处理方案自动检索 Agent ,方便用户自行解决。

都是用 Elastic + Dify 简单做的。

目前就是感觉 Agent 的效果还是没达到能大规模实际投入生产的程度。主要几个问题:

1 、数据保密问题,也是最主要的问题,由于厂内对信息保密的要求比较高,不允许使用外部大模型 API 。虽然采购了一些卡部署了 deepseek 开源模型,但速度方面感觉很难满足大规模使用,我算了下只能满足 20 个并发左右。

2 、传统企业数字化程度不足的问题,文档格式非常混乱,虽然数字化已经推进了好几年,但资料还是不太行(还有部门之间的问题,数据上下游配合一直都挺困难的)。

感觉一种现在各种企业都想强推 AI ,但基础又很难执行。

有相关经验的大佬也可以分享下你们的经历。

在企业的日常运营中,数据往往分散在不同的数据库表中。订单信息在订单表,商品明细在订单商品表...... 这些表之间虽然存在关联关系,但在传统的报表制作中,想要将这些分散的数据整合到一张报表中,往往需要复杂的 SQL 关联查询,或者需要开发人员编写大量的代码来实现数据关联。

积木报表(JimuReport)  推出的多源报表功能,完美解决了这一痛点。通过简单的配置,就能将来自不同数据表的数据有机整合到一张报表中,让数据关联变得简单高效。

一、积木报表

积木报表,是一款免费的数据可视化报表,含报表、打印、大屏和仪表盘,像搭建积木一样完全在线设计!功能涵盖:复杂报表、打印设计、图表报表、门户设计、大屏设计等! 分两大模块:JimuReport 侧重传统复杂报表和打印、 JimuBI 侧重数据大屏和仪表盘可视化设计!

代码下载

技术文档

二、什么是多源报表?

多源报表是积木报表的一项重要功能,它允许在一张报表中使用多个数据集的数据。这些数据集可以来自不同的数据库表,只要这些表之间存在数据关系(即拥有共同的关联字段),就可以通过配置实现数据的自动关联和展示。

效果展示

  • 如下设计示例中表格有两个数据集的数据,aa 来自订单表,bb 来自于订单商品表,它们都有一个共同字段:订单Id,也就是说它们的数据之间有关系。

  • 预览效果如下

与传统的单源报表相比,多源报表具有以下特点:

  • 数据来源多样化:支持多个数据集同时作为报表数据源
  • 自动关联:通过配置关联参数,系统自动处理表间数据关联
  • 灵活展示:可以将主表和子表的数据同时展示在一张报表中
  • 配置简单:无需编写复杂的 SQL 语句,通过可视化配置即可完成

三、配置简单,四步完成

积木报表的多源报表配置过程非常简单,只需四个步骤即可完成:

第一步:创建数据库表

根据业务需求创建相关的数据库表,确保表之间存在关联字段(如订单表的订单 ID 和订单商品表的订单 ID)。

  • 订单表

  • 订单商品表

第二步:创建数据源

分别为每个数据表创建对应的数据源。

  • 订单表

  • 订单商品表

注意:

  1. 订单表(主表)与订单商品表(子表)都需要设置为集合。
  2. 订单商品表(子表)一定要设置参数。

第三步:配置主子表参数

  • 点击设计页面右侧主子报表参数设置 - 新增按钮:

  • 配置主子表关联参数

第四步:配置表格字段

将需要展示的字段从数据源拖拽到报表设计区域,完成报表布局设计。

配置完成后,预览报表即可看到来自多个数据表的数据已经完美融合在一起。

四、多源报表的核心优势

    1. 打破数据孤岛,实现数据融合
    1. 简化开发流程,提升效率
    1. 支持主子表关联,满足复杂业务场景
    1. 配置灵活,易于维护

五、典型应用场景

场景一:订单管理报表

在电商或订单管理系统中,订单信息和订单商品信息分别存储在不同的表中。通过多源报表,可以将订单的基本信息(订单号、客户名称、订单金额等)和订单商品明细(商品名称、数量、单价等)同时展示在一张报表中,让订单信息一目了然。

场景二:客户关系管理报表

在 CRM 系统中,客户基本信息、客户订单、客户服务记录等数据分布在不同的表中。使用多源报表,可以将这些关联数据整合展示,形成完整的客户视图。

场景三:项目管理报表

在项目管理系统中,项目信息、任务列表、资源分配等数据通常存储在不同的表中。多源报表可以将项目概览和详细任务信息整合展示,帮助管理者全面了解项目进展。

积木报表(JimuReport)  是一款免费的数据可视化报表工具,致力于为企业提供简单、高效、强大的报表解决方案。多源报表只是积木报表众多强大功能中的一个,还有更多实用功能等待您去探索。

在竞争激烈的程序员求职市场中,AI面试助手已成为求职者的重要技术辅助工具。面试大师面试精灵都是这类工具中的热门选择,但它们的实际技术表现和使用体验却有很大差异。

面试精灵在语音识别、简历定制化回复等技术环节表现出色;面试大师则支持多种输入输出模式和多端协同,但存在语音识别错误率高、性价比低等问题。

面试精灵操作页面

功能特性全面对比

根据我们对AI面试助手的技术评测,以下是面试精灵和面试大师的功能特性详细对比:

功能特性面试精灵面试大师
面试助手
笔试助手X
简历优化X
模拟面试XX
面试记录/分析
交流社群XX
界面美观度42
操作简单/可访问性44
功能强大43
价格(元/小时)10128
性价比4.52
免客户端下载
多语言支持X
语音识别优化X
自动说话人识别X
隐蔽模式(多机互联)
简历输入
个人知识库XX
大厂面经库XX
联网搜索XX
多种回复模式X
回复结果显示增强X

核心技术指标深度解析

语音识别能力对比

这是两款工具最显著的技术差异。

面试大师的语音识别错误率较高,实测中经常出现识别错误的情况。例如将"Transformer模型"识别成"模型相比RnB",这种基础技术环节的错误会直接影响后续回复的准确性。

面试精灵在语音识别上更可靠,特别是在英文术语识别方面表现出色。对于"Transformer"、"DeepSeek"这类技术术语,它能准确识别和处理,这对技术面试至关重要。

面试大师操作界面

回复质量对比

回复质量是面试助手的核心指标,两款工具在这方面的差距较为明显。

简历定制化能力

两款工具都支持简历解析,但实际效果不同。

面试大师在处理简历相关问题时表现不佳,回复内容空洞,甚至会出现追问面试官的情况,无法提供有效信息。

面试精灵通过RAG技术检索简历内容,将项目细节、技能要求自然融入回答中,使得自我介绍、项目描述等问题的回复更加贴合实际。

时效性问题处理

对于"DeepSeek最近很火爆"这类时效性技术问题,两款工具的处理方式不同。

面试大师不支持联网搜索,只能依赖模型内置知识,且受限于语音识别错误率,回复准确性难以保证。

面试精灵支持联网搜索,英文术语识别准确,能够通过搜索获取最新信息并给出正确回答,这对关注技术趋势的求职者非常重要。

功能特性深入对比

输入输出模式

面试大师支持多种输入输出模式,这是它的一个技术特色。

  • 共享屏幕模式:通过设置分享标签页或视频软件窗口的音频作为输入。
  • 语音模式:通过麦克风识别面试官语音,适合面试官要求分享屏幕的场景。

输出模式支持质量优先、速度优先、代码模式三种。这种多模式设计虽然全面,但由于语音识别错误率较高,整体体验受到影响。

多端协同和笔试功能

两款工具都支持多端协同和笔试功能,但实现方式有差异。

面试大师支持二维码扫描连接,但需要先安装应用并在相同局域网下连接。笔试模式通过三击选择截图区域,操作相对简单。

面试精灵的笔试助手通过多设备互联实现跨设备远程截图,利用视觉大模型自动识别题目并生成答案,纯网页操作无需安装,使用更便捷。

面试精灵笔试助手功能

界面和操作体验

面试大师的界面设计一般,美观度不高,操作逻辑虽然清晰但整体体验不够现代化。

面试精灵的界面简洁美观,对代码块、公式、图表等技术内容的显示效果更好。前端支持LaTeX公式、流程图、泳道图,特别适合技术岗位的面试场景。

价格对比

面试大师的价格约为128元/小时,在同类产品中属于较高价位,性价比不理想。

面试精灵基础版约10元/小时,精英版约25元/小时,即使使用最高配置,价格也仅为面试大师的几分之一。

两款工具都提供新用户免费额度,建议先试用再做决定。

回复效果实测对比

为了更直观地展示两款工具的回复效果差异,我们来看几个技术相关的实测案例。

实测案例:英文术语问题

问题:"Transformer模型相比RNN的优势是什么?"

这个题目测试的是英文术语识别能力。

面试大师将"Transformer模型"识别为"模型相比RnB",英文术语识别错误,但通过大模型的纠错能力,回复内容仍具有一定参考价值。

面试精灵语音识别正确,回复条理清晰,内容准确完整,详细分析了Transformer模型的优势。

实测案例:系统设计问题

问题:"设计一个支持高并发的短网址生成系统。"

这个题目测试的是系统设计能力以及架构图绘制显示效果。

两款工具都能给出正确的系统设计思路,但面试精灵在架构图显示上更有优势,能够帮助面试者快速抓住重点。

面试精灵系统设计问题回复

实测案例:金融行业问题

问题:"解释贴现现金流(DCF)模型的计算步骤。"

这个题目测试的是多行业模型应用能力和数学公式显示效果。

两款工具在本题中都能给出正确回复,说明大模型内置知识广博。面试精灵在公式显示上更清晰,对这类跨领域问题的支持更好。

面试精灵金融行业问题回复

评测数据对比

以下是两款工具在各评测维度的平均得分对比(满分5分):

评测维度面试精灵面试大师
帮助性4.783.67
语音识别准确率4.442.67
意图识别正确率53.6
内容深度及个性化4.783.8
沟通技巧4.674.6
准确性4.782.8
全面性4.783.6
直观性4.894.4

从评测数据可以看出,面试大师在沟通技巧上表现不错,但在语音识别准确率、回复准确性等核心指标上明显弱于面试精灵。面试精灵整体表现更均衡,在帮助性、内容深度等方面优势显著。

总结和建议

两款工具都具有一定的功能覆盖,但实际技术表现差异明显。

面试大师支持多种输入输出模式,适配各种面试场景,还提供多端协同和笔试功能。但它的语音识别错误率过高,这是一个致命缺陷。此外,界面设计一般,价格偏高,性价比不理想。

面试精灵在语音识别上更可靠,特别是英文术语识别能力出色。通过RAG技术实现的简历定制化回复更贴合实际,联网搜索功能能有效处理时效性问题。自动说话人识别让操作更隐蔽,纯网页访问无需安装,价格也更实惠。

从整体评测数据来看,面试精灵在帮助性、内容深度、准确性等方面有明显优势,尤其是在语音识别准确率和回复准确性上差距较大。结合其高性价比和更稳定的技术表现,面试精灵可能更符合大多数程序员和开发者的需求。

现代办公室工作,Excel大概是那个绕不过去的app1。处理电子表格,尤其是处中小型体量的数据,Excel表格的直观易用性还是非常强的,它提供了丰富的数据格式功能,可以对数据进行透视汇总分析,同时也支 ...


现代办公室工作,Excel 大概是那个绕不过去的 app1。处理电子表格,尤其是处中小型体量的数据,Excel 表格的直观易用性还是非常强的,它提供了丰富的数据格式功能,可以对数据进行透视汇总分析,同时也支持很多提取、匹配数据等等的函数,都是日常工作中经常遇到的使用场景。

本文将从具体案例入手,讲解在我日常工作中常用的一些 Excel 功能,与站内外各位大佬交流。如果你看了之后受到一些启发,欢迎举一反三,在评论区,或者少数派发表自己的心得。文中也有一些「思考题」,供感兴趣的读者自行尝试拓展,参考答案也附在文章最后,与大家交流。

本文很长,建议先读目录,看看具体有哪些场景,可以从自己熟悉的开始读。囿于笔者水平,如文章有误,还请各位读者大大们不吝赐教。

切中要害的 Gemini。

格式化文本和数字

场景 1:使用 TEXT 等函数固定日期格式

例如:现在有一张表,上面记载了一些员工信息,包括姓名和生日。需要计算他们的年龄(截止到今天,可以自动更新),并把生日和年龄写成「XXXX.XX【换行】(XX岁)」的格式,并形成一列。

 

在这里,我们假设员工的日期数据已经清洗完成,是以 Excel 可读取的日期数据格式。

面对这种场景,我们需要用到的函数是 TEXT、DATEDIF、TODAY 函数。其中:

  • TEXT 函数可以将数字格式的数据固定为特定格式的文本;
  • DATEDIF 函数可以按不同单位计算两个日期间的差距,在这里我们用于计算年龄2
  • TODAY 函数返回数据表打开当天的日期;
  • CHAR 函数用于在文本串中插入特定 ASCII 字符(在本例中为换行符)。

首先,考虑日期如何格式化。

Excel 读取日期格式的数据为一个整数序列:以 1900 年 1 月 1 日为「第一天」(也就是数字 1),此后的日期每天增加 13

例如,2026 年 2 月 20 日为 46073。因此,每一个日期都是一个数字,当你在 Excel 表格中将数字单元格格式化为「日期」时,它就会按照这个规律将数字转换为日期来显示。

这样处理明显是为了计算方便。表格数据保持计算上的方便性和数据格式上的一致性非常重要。因此,我们尽量在不改动原数据的情况下,以文本特定格式的形式来把日期固定成为我们想要的格式。

在示例 1 电子表格中,员工的出生日期在 B2 单元格。下面的公式使用 TEXT 函数来重新将这些出生日期格式化为文本格式:

=TEXT(B2, "yyyy.mm")

TEXT 函数接受两个参数:需要变成文本的值,以及文本格式。函数接受的文本格式为 Excel 的标准格式代码,例如,「yyyy」表示「四位数年份」,比如 2026;「mm」表示「两位数月份」,比如 09。使用「.」来连接两个代码,即可将 B2 单元格中的日期转换为文本的「XXXX.XX」的格式。TEXT 函数接受的格式代码可以查看 微软官方函数支持 页面。

示例 1 中,张三的出生日期为 1998 年 9 月 10 日,重新格式化后,显示的文本是 1998.09。

其次,计算年龄。

计算自然年年龄,可以使用 DATEDIF 函数。这个函数相对古老,Excel 本身已不再为其提供参数提示(但 WPS 中仍然提供),但至今这个函数仍然可以正常在 Excel 中计算。

如果年龄计算以打开工作表的时间为准,需要动态更新,可以使用 TODAY 函数来获取当前的日期。它将按照打开工作表的系统时间为准返回一个日期。此时,函数为(「出生日期」数据在 B2 单元格):

=DATEDIF(B2, TODAY(), "y")

如果年龄计算以某个固定日期(比如 2025 年 12 月 31 日)为准,无需动态更新,那么函数表达式为:

=DATEDIF(B2, "2025-12-31", "y")

DATEDIF 函数共有 3 个参数:开始日期、结束日期,以及计算单位。其中,开始日期必须早于结束日期,否则函数将报错。计算单位可以是日("d")、月("m")或者年("y"),注意在输入公式时,计算单位参数也需要输入引号。

示例 1 中,李四的出生日期为 1993 年 2 月 28 日。以 2026 年 2 月 20 日计算,其不满 33 岁,因此函数给出的年龄是 32。

接下来,用 TEXT 函数将年龄格式化为「XX 岁」,公式中的「0」指代数字。

=TEXT(DATEDIF(B2, TODAY(), "y"),"0岁")

最后,将文本合并起来。

我们的任务是生成形如「XXXX.XX【换行】(XX岁)」的报表格式。目前我们已经有了格式化后的出生日期和年龄。使用 Excel 中连接文本的符号「&」就可以把我们所需要的要素连接起来。同时,为了实现换行的效果,需要使用 CHAR 函数,在文本中插入一个换行符。

=TEXT(B2, "yyyy.mm")&CHAR(10)&"("&TEXT(DATEDIF(B2, TODAY(), "y"),"0岁")&")"

CHAR(10) 表达式将插入换行符(ASCII 中编码为 10 的字符)。将括号等元素使用文本连接符「&」连接起来,同时打开「自动换行」,就可以得到我们想要的效果。

思考题

  1. 为什么一定要用 TEXT 函数来格式化日期,而不是将出生日期原始数据格式化成我们想要的样式后,直接进行拼接?
  2. 使用「&」连接符连接文本的时候,可能需要注意什么?

场景 2:使用条件格式,快速高亮想要的数据

例如:我们有一张运动会报名人数统计表,A 列为项目名称,B 列、C 列分别列出了 2024 年、 2025 年报名参加各项目的人数。现在,需要高亮 2025 年报名人数不及 2024 年的项目名称

除了大家比较熟悉的「大于」「小于」「包含」「重复值」等条件格式,Excel 还提供了「使用公式确定条件」的格式选项,只是确实隐藏得比较深。选中需要高亮的区域后,在「条件格式」- 「突出显示单元格规则」中,径直点击最后一个「其他规则...」,打开窗口。在「新建格式规则」窗口中,选择「使用公式确定要设置格式的单元格」。

因为我们要高亮的是「2025 年报名人数不及 2024 年」的项目名称,在公式栏中,我们键入第一行 =C2<B2,点击「确定」,即可看到已经高亮的项目名称。

使用公式确定格式条件的优势是较为灵活,可以根据相同行的其他数据的计算结果(需要使用判断式,例如大小比较、逻辑函数等)来进行单元格高亮。

除了高亮数据,我们还可以通过筛选相关的函数(例如 FILTER)来直接将符合条件的数据挑选出来。在下面的「筛选和匹配数据」一节,还会介绍有关的操作。

文本查找、替换

场景 1:使用 SUBSTITUTE 函数计算单元格中特定字符的数量

例如:Excel 单元格中有一个名单,名字均使用中文顿号(、)连接。需要计算出单元格中的姓名数量。

既然姓名已经使用中文顿号来连接,则名单人数 = 顿号的数量 + 1。因此,我们可以将顿号完全替换后,再使用两个字符串长度之差的算法,再 + 1,计算出名单字符串中的人名数量。

假设名单在 C2 单元格。原完整名单的字符串长度(字符数量)可以使用 LEN 函数计算:

=LEN(C2)

使用 SUBSTITUTE 函数可以将字符串中的所有顿号删除:

=SUBSTITUTE(C2, "、","")

SUBSTITUTE 共接受三个参数:要替换的字符串所在的单元格、要替换的字符串(在本例中为「、」),以及替换后的字符(在本例中为空,即可以删除字符)。

两者的字符串长度相减再加 1,即为名单中的人名数量:

=LEN(C2)-LEN(SUBSTITUTE(C2, "、", ""))+1

场景 2:使用 LEFT、MID 和 RIGHT 函数,从身份证号4中提取生日信息

例如:在一份表格 A 列有一些身份证号,需要根据这些身份证号来提取出生日期,并将他们以日期格式的数据进行存储。

日常工作中,身份证号是非常常见的个人信息。根据身份证号国标,其 7-14 位共 8 位数存储个人出生日期。我们可以使用 Excel 中的文本公式来快速提取出这个日期,并把它转化为数字格式(也就是 Excel 可以用来计算的格式)。这个操作主要用到以下函数:

  • LEFT:从字符串开头截取固定数量的字符。
  • RIGHT:从字符串末尾截取固定数量的字符。
  • MID:从字符串指定位置截取固定数量的字符。
  • DATE:根据年、月、日创建日期格式的数据。

首先需要把表示出生日期的部分单独提取出来。可以使用 MID 函数,假设身份证号在 A2 单元格:=MID(A2, 7, 8)。MID 函数接受三个参数,分别是要处理的字符串、开始截取内容的字符位置(从左向右,第一个字符编号为 1),以及截取的字符长度。在这里,需要从身份证号的第 7 位开始截取,一共需要截取 8 个字符。

针对已经截取的字符串,我们可以分别使用 LEFT、RIGHT 和 MID 函数,来把它拆开成「年」「月」「日」。假设截取出来的字符串在 B2,那么表示年份的数字可以使用 =LEFT(B2, 4),也即截取 8 位数字最开始的 4 个字符。表示月份的数字位于中间,可以使用 MID 函数,方法同上;表示日期的数字位于末尾,可以使用 =RIGHT(B2, 2)

现在有了年、月、日的具体数据,就可以使用 DATE 函数来生成日期了。DATE 函数接受三个参数,分别是年份、月份和日期。只需要对应填写进去即可。方便起见,我们可以写一个稍微长点的公式:

=DATE(LEFT(B2, 4), MID(B2, 5, 2), RIGHT(B2, 2))

就不需要用很多个辅助列来存储数据了。生成的数据可以参与 Excel 的日期相关计算。例如,可以用上文介绍的 DATEDIF 函数计算年龄。

场景 3:使用 REGEX 系列函数5,利用正则表达式进行文本查找和替换

例如:Excel 表格中存储了一些客户的姓名和电话号码。现在需要单独提取出这些姓名和电话号码。

可以看到,电话号码中有些是手机号,有些是座机号,长度并不统一,同时开头的数字也不完全相同。这时候,我们可以借助正则表达式的力量,将数字提取出来。

正则表达式是一种强大的文本匹配工具,可以通过撰写不同的正则表达式来匹配不同规律的文本。有关正则表达式的教学,个人目前推荐参考菜鸟教程的这个网页,你还可以用 regex 101这个网站学习和测试正则表达式。

在本例中,需要匹配的是姓名后出现的数字。数字在正则表达式中可以使用 \d 来表示,或者 [0-9]。由于数字出现的次数是 1 次或多次,我们使用 + 这一特殊字符,它代表前面的表达式至少出现 1 次。

因此,匹配电话号码的正则表达式为 [0-9]+ 。使用 Excel 的 REGEXEXTRACT 函数,可以快速将字符串中的电话号码全部提取出来:=REGEXEXTRACT(A1,"[0-9]+")

除了 REGEXEXTRACT,Excel 中还有 REGEXTEST 和 REGEXREPLACE 函数,分别用于测试字符串中是否有符合正则表达式模式的字符,以及使用新的字符替换正则表达式找出的字符。

例如,使用 REGEXTEST 函数,我们可以快速找出一列单元格字符串中,含有数字的单元格:=REGEXTEST(A2, "[0-9]")

又例如,使用 REGEXREPLACE 函数,我们可以把符合特定正则表达式的字符串替换为我们想要的内容(例如,将所有的数字打码):=REGEXREPLACE(A2, "[0-9]", "*")

正则表达式是非常强大的文本查找和替换工具,我本人也在学习中。如果实在不确定该怎么写,请 AI 帮忙是个好办法。你可以将字符串丢给 AI,告诉他你要替换或者查找的模式,AI 会帮你写出来符合 Excel 标准的正则表达式 —— 但在用于正式数据前,记得请务必测试好哦!

场景 4:一键删除单元格中讨厌的换行符

例如:处理数据时,你发现许多单元格中存在换行符,既不美观,也妨碍具体的数据分析处理。但如何把它们一键删除呢?

如果你使用的是 WPS,那么这个问题会简单很多,使用传统的「查找和替换」功能,就可以快速删除换行符。打开 WPS 表格的「查找和替换」窗口,在「查找」一栏输入 ^l,这个符号就代表单元格内的换行符。如果你觉得麻烦,也可以点击「特殊内容」,然后选择「换行符」,即可插入。「替换」一栏留空,点击确定,即可完成这个操作。

思考题

3. 还记得 CHAR 这个函数吗?如果你手边没有 WPS,使用 Excel 如何完成快速删除换行符的操作呢?

筛选和匹配数据

素材: 本部分使用的电子表格

考试结束,老师拿到了计算机导出的学生成绩,但上面只有学号和成绩两列。为了更好地对学生的成绩进行分析,老师打开了学生信息表,他要进行以下几种操作:

场景 1:使用 XLOOKUP 函数,根据列匹配数据

例如:学生信息表中有学生的学号、姓名、班级等基本信息。为了生成一份本次考试的成绩表进行分析,老师需要使用学号,将姓名、班级匹配到成绩表中。

这种按列匹配数据的操作,可以使用 XLOOKUP 这个函数来实现。这个函数相对来说比较新,但只要你用的是 2021 年以后版本的 Microsoft Excel,或者是 WPS,那就没问题。

XLOOKUP 接受的参数非常直观:

  1. 你要查找的具体数据(在本例中,即学生的学号);
  2. 你要在哪里查找这个数据(在本例中,即学生信息表中的所有学号);
  3. 你要返回的数据列在哪里(在本例中,即学生的姓名和班级)。

记得在引用列表数据时使用绝对引用6,方便后续自动填充。

=XLOOKUP(A2,信息表!$A$2:$A$26,信息表!$B$2:$C$26)

XLOOKUP 还提供一个「错误预防」机制。如果在给定的范围内找不到你提供的数据,可以返回一个用户指定的值,而不会直接提示「#N/A」错误。

默认情况下,XLOOKUP 使用的是精确查找模式,即两个数据完全匹配的情况下,才会返回结果。

一般情况下我们都是使用精确查找模式,但需要注意:两侧表格中的数据类型需要一致。例如,可能学生信息表中的学号使用文本存储、学生成绩表中的学号使用数字存储,在查找时可能出现问题。

此时我们需要进行一次格式转换(例如,使用前文提到的 TEXT 函数将数字学号转换为文本格式)再查找即可。

XLOOKUP 可以返回多于一列数据。在单元格范围允许的情况下,多出来的数据会自动溢出。如果你看到「#SPILL」错误,那么说明你引用的数据太多了,单元格空间显示不下。可以尝试多加几列。

考虑到向后兼容的需要,如果你的工作表后续需要给到使用旧版 Excel 的同事,那么可以在检查数据无误后,使用粘贴值操作将查找结果固定下来。这样别人打开你的工作簿的时候,就不会出现错误了。

思考题

4. 以前常用的 VLOOKUP 和 XLOOKUP 有什么区别和联系?

5. 有时,我们会遇到查找值相同的情况(例如,重名)。这种时候,如何更好地确保查找结果不出错?

会员专属文章,欢迎加入少数派会员。

优质内容

权益周边

会员社群

power+

各位师兄好,帮家里 95 岁健康老人求一台手机,预算 1000-1500 元,优先华为 / 荣耀(老人已习惯这套操作,其他安卓能无缝迁移也可考虑)。
核心需求
1.硬件:大屏幕、大电池、大音量、抗摔、防水,这几项是基础刚需
2.性能:日常绝对不卡顿,刷短视频、看新闻、视频聊天够用,重点是打开小程序办业务不卡(旧机因此才换)
3.系统:好用的长辈 / 简易模式,拒绝只放大字体、牺牲体验,操作简单、无广告、更省心
老人只用来:刷短视频、看新闻、跟各地子女 / 曾孙视频聊天,无其他用途。
求大家实际用过的靠谱机型推荐,感谢各位!

做APP设计的朋友都懂,选对工具比画得好更关键。一款好用的移动端UI设计工具,不光能让你画图速度翻倍,还能让产品想法更快落地,团队沟通也能少走很多弯路。不知道做APP设计该用什么软件?今天就给大家整理了6款当下最火的移动端UI设计工具,帮你精准找到适合自己的那一个。

  1. UXbot
    UXbot从产品需求、流程规划,到原型制作、界面设计、预览分享、前端代码生成,一套流程全搞定,是国内比较热门的APP设计工具之一。UXbot主要依赖自然语言需求,让你只需要输入一个简短的需求,就能在几十秒内就可以直接生成可视化PRD文档、交互说明等核心产品资产。关键是界面做得干净直观,新手也能快速上手。内置AI助手和专业编辑器,页面元素大小、颜色、图片、排版等都能按照自己的需求进行修改。彻底打破设计与文档割裂的传统壁垒。大幅降低重复性工作内耗。
    设计稿可直接生成为iOS(Swift)、Android(Kotlin)代码,支持编译成APK文件,安装至真机测试使用。这大大缩短了从设计到开发的周期,降低了出错风险。
    UXbot素材模板也很丰富,电商、社交、教育、金融、旅游等行业都有覆盖,从页面框架到交互逻辑,现成模板直接套用,不需要从零搭建,一键复用快速出稿。
    推荐评级:⭐⭐⭐⭐⭐
    image.png
  2. Figma
    Figma在全球范围内都很火,也是很多设计师常用的移动端UI设计工具。它最大的亮点就是基于网页的实时协作功能,能让多个设计师在同一个画布上同时工作,不用反复同步文件。
    对于需要跨国协作,或者团队规模比较大的设计团队来说,Figma的组件变体和自动布局功能很实用,能很好地适配不同尺寸手机屏幕的响应式设计需求。不过有个小缺点,国内用户用的时候,偶尔会遇到网络不稳定的问题,影响操作体验。
    推荐评级:⭐⭐⭐⭐⭐
    image.png
  3. Sketch
    Sketch是很多资深设计师都熟悉的工具,主打视觉设计和组件系统,在很长一段时间里,几乎就是UI设计的代名词。它是专门为macOS打造的,最大的特点就是轻便、插件丰富。
    Sketch有庞大的第三方插件生态,不管是图标管理、数据填充,还是色彩校正,几乎所有需求都能找到对应的插件解决。虽然它只支持Mac系统,而且协作功能起步比较晚,但在高保真界面设计的细腻度上,依然有很多设计师偏爱它。
    推荐评级:⭐⭐⭐⭐
    image.png
  4. Adobe XD
    如果你的工作中经常用到PS、AI,那Adobe XD会很适合你。它最大的优势就是速度快、性能稳,哪怕处理几百个画板的大型APP项目,也不会出现卡顿的情况。
    XD的“重复网格”功能特别实用,是处理列表型APP界面的神器,能快速批量生成相似的列表元素。而且它能直接导入PS和AI的文件,对于需要大量处理图片素材的移动端设计项目来说,能省不少事。
    推荐评级:⭐⭐⭐
    image.png
  5. Principle
    如果你的APP设计需要复杂的转场动画和微交互,普通的绘图工具可能就满足不了需求了。Principle就是专门做交互动效的移动端UI设计工具,操作逻辑和Flash、After Effects有点像,但更简单易懂,不用掌握复杂的操作技巧。
    用它制作的交互Demo特别细腻,适合用来打磨那些对体验要求极高的APP头部应用,平时大多配合Sketch或Figma一起使用,互补短板。
    推荐评级:⭐⭐
    image.png
  6. ProtoPie
    ProtoPie也是一款值得关注的移动端UI设计工具,主打无代码高保真交互,和Principle不一样的是,它更擅长处理需要调用手机传感器的交互设计,比如陀螺仪、麦克风、3D Touch这些功能。
    如果你的APP设计需要用到手机的硬件功能,或者需要验证复杂的逻辑判断,用ProtoPie能做出最接近真实APP开发效果的原型,帮你提前规避后期开发中的问题。
    推荐评级:⭐⭐
    image.png

其实选哪款软件,最终还是看你的团队规模、常用的操作系统,以及具体的项目需求。如果看重海外生态和复杂动效,Figma或Sketch会是不错的选择;但如果更看重国内网络环境的稳定性、全中文社区支持,还有“设计+原型+开发”的一站式高效体验,UXbot性价比会比较高、也极易上手的移动端UI设计工具,适合小白以及想要项目快速落地的团队。