当前位置: 首页 > news >正文

使用Handsontable实现动态表格和下载表格

1.效果

2.实现代码

首先要加载Handsontable,在示例中我是cdn的方式引入的,vue的话需要下载插件

      let hot = null;var exportPlugin = null;function showHandsontable(param) {const container = document.getElementById("hot-container");// 如果已有实例,先销毁if (hot) {hot.destroy();}hot = new Handsontable(container, {data: [], // 初始为空colHeaders: true, // 动态列头rowHeaders: true, // 动态行头width: "100%",height: 800,licenseKey: "non-commercial-and-evaluation", // 免费版许可证contextMenu: true, // 启用右键菜单manualColumnResize: true, // 允许调整列宽manualRowResize: true, // 允许调整行高filters: true, // 启用筛选dropdownMenu: true, // 启用下拉菜单columnSorting: true, // 启用列排序stretchH: "all", // 列宽自适应afterChange: function (changes, source) {if (source === "edit") {console.log("数据已修改:", changes);}},});}showHandsontable();

点击后开始加载数据,注意colHeaders,rowHeaders,是行和列的名称,是数组格式

updateSettings:更新表格数据和表头

loadData:重新加载数据

      document.getElementById("load-data").addEventListener("click", async function () {try {const response = await mockApiCall();console.log(response, "这时候弄-");// 更新表格数据和表头hot.updateSettings({colHeaders: response.headers.columns,rowHeaders: response.headers.rows,});hot.loadData(response.data);exportPlugin = hot.getPlugin("exportFile");console.log("数据加载成功");} catch (error) {console.error("加载数据失败:", error);}

3.下载表格

主要用到downloadFile和hot.getPlugin("exportFile")下载格式为csv,目前在Handsontable官网没有看到可以下载xlsx格式的,可能需要xlsx插件

   button.addEventListener("click", () => {//下载表格的数据exportPlugin.downloadFile("csv", {bom: false,columnDelimiter: ",",columnHeaders: true,//显示表头exportHiddenColumns: true,exportHiddenRows: true,fileExtension: "csv",filename: "Handsontable-CSV-file_[YYYY]-[MM]-[DD]",mimeType: "text/csv",rowDelimiter: "\r\n",rowHeaders: true,});//改为下载报表接口数据});

4.完整代码


<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>动态表格示例 - Handsontable</title><!-- <script src="./handsontable.full.min.js"></script><link rel="stylesheet" href="./handsontable.full.min.css" /> --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/handsontable/15.0.0/handsontable.full.min.js"integrity="sha512-3Os2SFklHFmIWzqQsBOmpA9fYBiar8ASBI4hqgeUKttdJ6lDWli7W+JmXyN8exab8NOpiYT441s6hfqX6Tx+WA=="crossorigin="anonymous"referrerpolicy="no-referrer"></script><linkrel="stylesheet"href="https://cdnjs.cloudflare.com/ajax/libs/handsontable/15.0.0/handsontable.full.min.css"integrity="sha512-reELraG6l/OUbRy0EnDh2RxkanfohOkWJX7afyUG1aGHv49SA9uqrAcJOMhyCNW6kcwbnhePc6JKcdUsQxmjvw=="crossorigin="anonymous"referrerpolicy="no-referrer"/><style>body {font-family: Arial, sans-serif;margin: 20px;}#hot-container {margin-top: 20px;}.controls {margin-bottom: 10px;}button {padding: 8px 12px;margin-right: 10px;cursor: pointer;}</style></head><body><h1>动态表格示例</h1><div class="controls"><button id="load-data">加载数据</button><button id="export-file">下载表格</button></div><div id="hot-container"></div><!-- <script src="app.js"></script> --><script type="text/javascript">let hot = null;var exportPlugin = null;function showHandsontable(param) {const container = document.getElementById("hot-container");// 如果已有实例,先销毁if (hot) {hot.destroy();}hot = new Handsontable(container, {data: [], // 初始为空colHeaders: true, // 动态列头rowHeaders: true, // 动态行头width: "100%",height: 800,licenseKey: "non-commercial-and-evaluation", // 免费版许可证contextMenu: true, // 启用右键菜单manualColumnResize: true, // 允许调整列宽manualRowResize: true, // 允许调整行高filters: true, // 启用筛选dropdownMenu: true, // 启用下拉菜单columnSorting: true, // 启用列排序stretchH: "all", // 列宽自适应afterChange: function (changes, source) {if (source === "edit") {console.log("数据已修改:", changes);}},});}showHandsontable();// 加载数据按钮事件document.getElementById("load-data").addEventListener("click", async function () {try {const response = await mockApiCall();console.log(response, "这时候弄-");// 更新表格数据和表头hot.updateSettings({colHeaders: response.headers.columns,rowHeaders: response.headers.rows,});hot.loadData(response.data);exportPlugin = hot.getPlugin("exportFile");console.log("数据加载成功");} catch (error) {console.error("加载数据失败:", error);}});function mockApiCall() {return new Promise((resolve) => {// 模拟网络延迟setTimeout(() => {const mockData = {headers: {columns: ["ID", "姓名", "年龄", "部门", "薪资"],rows: Array.from({ length: 15 }, (_, i) => `员工${i + 1}`),},data: Array.from({ length: 15 }, (_, i) => [i + 1000,`员工${i + 1}`,Math.floor(Math.random() * 20) + 20,["研发部", "市场部", "人事部", "财务部"][Math.floor(Math.random() * 4)],(Math.random() * 10000 + 5000).toFixed(2),]),};resolve(mockData);}, 500);});}const button = document.querySelector("#export-file");button.addEventListener("click", () => {//下载表格的数据exportPlugin.downloadFile("csv", {bom: false,columnDelimiter: ",",columnHeaders: false,exportHiddenColumns: true,exportHiddenRows: true,fileExtension: "csv",filename: "Handsontable-CSV-file_[YYYY]-[MM]-[DD]",mimeType: "text/csv",rowDelimiter: "\r\n",rowHeaders: true,});//改为下载报表接口数据});</script></body>
</html>

文章到此结束,希望对你有所帮助~

相关文章:

使用Handsontable实现动态表格和下载表格

1.效果 2.实现代码 首先要加载Handsontable&#xff0c;在示例中我是cdn的方式引入的&#xff0c;vue的话需要下载插件 let hot null;var exportPlugin null;function showHandsontable(param) {const container document.getElementById("hot-container");// 如果…...

结合地理数据处理

CSV 文件不仅可以存储表格数据&#xff0c;还可以与地理空间数据结合&#xff0c;实现更强大的地理处理功能。例如&#xff0c;你可以将 CSV 文件中的坐标数据转换为点要素类&#xff0c;然后进行空间分析。 示例&#xff1a;将 CSV 文件中的坐标数据转换为点要素类 假设我们有…...

使用Geotools实现将Shp矢量文件加载SLD并合并图例生成-以湖南省周边城市为例

目录 前言 一、技术实现简介 1、生成成果说明 2、生成流程图说明 二、具体生成实践 1、渲染地图 2、生成图例 3、合并图像及输出 三、总结 前言 在当今数字化时代&#xff0c;地理信息系统&#xff08;GIS&#xff09;技术已成为城市管理、资源规划、环境监测等众多领域…...

openGauss数据库:起源、特性与对比分析

openGauss数据库&#xff1a;起源、特性与对比分析 一、起源与发展历程 1. 技术背景与开源历程 openGauss是由华为公司主导开发的开源关系型数据库管理系统&#xff0c;其技术根源可追溯至PostgreSQL。2019年&#xff0c;华为在内部整合了多个数据库产品线&#xff08;如GMDB…...

相机中各个坐标系的转换关系如像素坐标系到世界坐标系以及相机标定的目的

一、背景 无论是机器人领域、SLAM还是自动驾驶领域&#xff0c;都会涉及相机标定&#xff0c;但是看了很多博客&#xff0c;都是各种坐标系的变换&#xff0c;没有从上层说明进行坐标变换的目的是什么&#xff0c;以及相机标定完成后&#xff0c;是已知像素坐标求世界坐标&…...

ubuntu24设置拼音输入法,解决chrome不能输入中文

## 推荐方案&#xff1a;使用 Fcitx5 Fcitx5 是当前在 Wayland 环境下兼容性最好的输入法框架。 ### 1. 安装 Fcitx5 bash sudo apt update sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-gtk4 fcitx5-frontend-qt5 fcitx5-module-c…...

linux内核进程管理(1)——创建,退出

linux源码阅读——进程管理&#xff08;1&#xff09; 1. 进程的基本介绍1.1 linux中进程和线程的区别1.2 task_struct中的基本内容1.3 命名空间ns(namespace)命名空间结构图Linux 中的命名空间类型 1.4 进程标识符 2. 创建一个进程的流程2.1 CLONE宏2.2 创建进程系统调用1. do…...

容器修仙传 我的灵根是Pod 第8章 护山大阵(DaemonSet)

第三卷&#xff1a;上古遗迹元婴篇 第8章 护山大阵&#xff08;DaemonSet&#xff09; 九霄之上&#xff0c;雷云如怒海翻腾。 天调度宗的护山大阵「九霄雷光阵」正发出悲鸣&#xff0c;七十二根镇山雷柱已有半数熄灭。每根雷柱底部&#xff0c;本该守护节点的「雷符傀儡」&a…...

使用Python将YOLO的XML标注文件转换为TXT文件格式

使用Python将YOLO的XML标注文件转换为TXT文件格式&#xff0c;并划分数据集 import xml.etree.ElementTree as ET import os from os import listdir, getcwd from os.path import join import random from shutil import copyfile from PIL import Image# 只要改下面的CLASSE…...

在面试中被问到spring是什么?

Spring框架的核心回答 1. 定义与定位 Spring是一个轻量级、开源的企业级应用开发框架&#xff0c;旨在简化Java应用的开发&#xff0c;提供全面的编程和配置模型。它的核心目标是解决企业应用开发的复杂性&#xff0c;通过模块化设计和松耦合架构&#xff0c;帮助开发者更高效…...

MongoDB Ubuntu 安装

MongoDB 安装 https://www.mongodb.com/zh-cn/docs/manual/installation/ https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-ubuntu/ https://www.mongodb.com/zh-cn/docs/manual/reference/ulimit/ https://www.mongodbmanager.com/download ubun…...

ElasticSearch深入解析(三):Elasticsearch 7的安装与配置、Kibana安装

文章目录 〇、简介1.Elasticsearch简介2.典型业务场景3.数据采集工具4.名词解释 一、安装1.使用docker(1)创建虚拟网络(2)Elasticsearch安装步骤 2.使用压缩包 二、配置1.目录介绍2.配置文件介绍3.elasticsearch.yml节点配置4.jvm.options堆配置问题&#xff1a;为什么说堆内存…...

初始SpringBoot

此文介绍一些有关我对SpringBoot的学习理解&#xff0c; 声明&#xff1a;此处我的IDEA是企业版的&#xff0c;可能和社区版会有一些差异 1. 第⼀个SpringBoot程序 1. SpringBoot介绍 我们看下Spring官方的介绍 可以看到,Spring让Java程序更加快速,简单和安全.Spring对于速…...

【算法笔记】动态规划基础(一):dp思想、基础线性dp

目录 前言动态规划的精髓什么叫“状态”动态规划的概念动态规划的三要素动态规划的框架无后效性dfs -> 记忆化搜索 -> dp暴力写法记忆化搜索写法记忆化搜索优化了什么&#xff1f;怎么转化成dp&#xff1f;dp写法 dp其实也是图论首先先说结论&#xff1a;状态DAG是怎样的…...

C++入门基础(2)

Hello~,欢迎大家来到我的博客进行学习&#xff01; 目录 1.缺省参数2.函数重载3.引用3.1 引用的概念和定义3.2 引用的特性3.3引用的使用3.4 const引用3.5 指针和引用的关系扩展 4. nullptr 1.缺省参数 缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调用该函数时&…...

OpenCV-Python (官方)中文教程(部分一)_Day15

18.图像梯度 梯度简单来说就是求导。 OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器&#xff1a;Sobel, Scharr和Laplacian。Sobel,Scharr 其实就是求一阶或二阶导数。Scharr 是对 Sobel&#xff08;使用小的卷积核求解求解梯度角度时&#xff09;的优化。Laplacian 是…...

大厂面试:MySQL篇

前言 本章内容来自B站黑马程序员java大厂面试题和小林coding 博主学习笔记&#xff0c;如果有不对的地方&#xff0c;海涵。 如果这篇文章对你有帮助&#xff0c;可以点点关注&#xff0c;点点赞&#xff0c;谢谢你&#xff01; 1.MySQL优化 1.1 定位慢查询 定位 一个SQL…...

软件工程的13条“定律”:从Hyrum定律到康威定律,再到Zawinski定律

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

Linux删除大文件df空间avail空间不增加

背景 根磁盘被同事写满&#xff0c;使用> 删除一些安装包后&#xff0c;df中的avail空间还是0 排除有进程正在占用文件&#xff0c;已使用lsof命令检测过我所删的文件是没有进程在使用 原因 是文件系统预留空间在作祟 解决 # 文件系统预留块 tune2fs -l /dev/vda2 | gr…...

【C语言-选择排序算法】实现对十个数进行排序

目录 前言 一、选择排序算法原理 二、选择排序算法实现对十个数进行排序 三、代码运行示例 四、选择排序算法的时间复杂度和空间复杂度分析 五、选择排序算法的优缺点 六、总结 前言 在计算机科学领域&#xff0c;排序算法是基石般的存在&#xff0c;它们就像是整理杂乱…...

驱动开发硬核特训 · Day 18:深入理解字符设备驱动与子系统的协作机制(以 i.MX8MP 为例)

日期&#xff1a;2025年04月23日 回顾&#xff1a;2025年04月22日&#xff08;Day 17&#xff1a;Linux 中的子系统概念与注册机制&#xff09; 本日主题&#xff1a;字符设备驱动 子系统协作机制剖析 学习目标&#xff1a;理解字符设备的注册原理&#xff0c;掌握其与子系统间…...

SQL Server 2022 常见问题解答:从安装到优化的全场景指南

SQL Server 2022 作为微软最新的数据库管理系统&#xff0c;在性能、安全性和云集成方面带来了多项革新。然而&#xff0c;用户在实际使用中仍可能遇到各类问题。本文将围绕安装配置、性能优化、备份恢复、安全设置、高可用性方案、兼容性问题及错误代码解析等核心场景&#xf…...

软件开发版本库命名规范说明

背景&#xff1a;近期一直再更新自己所开发的一个前端大文件上传npm库(enlarge-file-upload)&#xff0c;为了让库的发版更加规范&#xff0c;于是参考了各种文档写下了这篇关于软件开发库的版本命名规范&#xff0c;且不仅局限于前端的版本命名规范&#xff0c;适用于整个软件…...

Kafka 详解

1.基本概念&#xff1a;Kafka 是分布式发布 - 订阅消息系统&#xff0c;具有高吞吐量、可扩展性等优势&#xff0c;支持点对点和发布订阅两种消息模式&#xff0c;涉及 Broker、Topic、Partition 等多种角色。 2.安装步骤&#xff1a;需先安装 JDK 和 Zookeeper&#xff0c;下…...

【Qwen2.5-VL 踩坑记录】本地 + 海外账号和国内账号的 API 调用区别(阿里云百炼平台)

API 调用 阿里云百炼平台的海内外 API 的区别&#xff1a; 海外版&#xff1a;需要进行 API 基础 URL 设置国内版&#xff1a;无需设置。 本人的服务器在香港&#xff0c;采用海外版的 API 时&#xff0c;需要进行如下API端点配置 / API基础URL设置 / API客户端配置&#xf…...

硬核解析:整车行驶阻力系数插值计算与滑行阻力分解方法论

引言&#xff1a;阻力优化的核心价值 在汽车工程领域&#xff0c;行驶阻力是影响动力性、经济性及排放的核心因素。根据统计&#xff0c;车辆行驶中约60%的燃油消耗用于克服阻力&#xff08;风阻、滚阻、传动内阻等&#xff09;。尤其在电动化趋势下&#xff0c;阻力降低1%可提…...

【网络原理】TCP提升效率机制(一):滑动窗口

目录 一. 前言 二. 滑动窗口 三. 丢包现象 1&#xff09;ACK报文丢失 2&#xff09;数据丢失 四. 总结 一. 前言 TCP最核心的机制就是可靠传输 &#xff0c;确认应答&#xff0c;超时重传&#xff0c;连接管理这些都保证了可靠传输&#xff0c;得到了可靠传输&#xff0c…...

移动端使用keep-alive将页面缓存和滚动缓存具体实现方法 - 详解

1. 配置组件名称 确保列表页组件设置了name选项&#xff0c;&#xff08;组合式API额外配置&#xff09;&#xff1a; <!-- vue2写法 --> export default {name: UserList // 必须与 <keep-alive> 的 include 匹配 }<!-- vue3写法 --> defineOptions({na…...

工作记录9

1.点击按钮发送AJAX请求 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title&…...

Java 异常 SSLException: fatal alert: protocol_version 全解析与解决方案

在 Java 网络通信中&#xff0c;SSLException: fatal alert: protocol_version 是典型的 TLS/SSL 协议版本不兼容异常。本文结合 Java 官方规范、TLS 协议标准及实战经验&#xff0c;提供体系化解决方案&#xff0c;帮助开发者快速定位并解决协议版本冲突问题。 一、异常本质&…...

连锁美业管理系统「数据分析」的重要左右分析︳博弈美业系统疗愈系统分享

​美业管理系统中的数据分析功能在提升运营效率、优化客户体验、增强决策科学性等方面具有重要作用。 数据分析功能将美业从“经验驱动”升级为“数据驱动”&#xff0c;帮助商家在客户管理、成本控制、服务创新等环节实现精细化运营&#xff0c;最终提升盈利能力与品牌竞争力…...

Openharmony 和 HarmonyOS 区别?

文章目录 OpenHarmony 与 HarmonyOS 的区别&#xff1a;开源生态与商业发行版的定位差异一、定义与定位二、技术架构对比1. OpenHarmony2. HarmonyOS 三、应用场景差异四、开发主体与生态支持五、关键区别总结六、如何选择&#xff1f;未来展望 OpenHarmony 与 HarmonyOS 的区别…...

26.OpenCV形态学操作

OpenCV形态学操作 形态学操作&#xff08;Morphological Operations&#xff09;源自二值图像处理&#xff0c;主要用于分析和处理图像中的结构元素&#xff0c;对图像进行去噪、提取边缘、分割等预处理步骤。OpenCV库中提供了丰富的形态学函数&#xff0c;常见的包括&#xf…...

uniapp小程序使用echarts

1、引入插件 在Dcloud插件市场下载echarts插件&#xff1a;插件地址 2、页面使用简单示例&#xff1a; <template><view class"pie-view flex-center"><view style"width: 100%; height: 600rpx"><l-echart ref"chartRef&quo…...

Vue 中 使用 Mixins 解决 多页面共用相同组件的相关问题

1. 需要解决的问题 最近在vue项目中&#xff0c;有多个页面需要用到同一个组件&#xff0c;至于是什么组件&#xff0c;这里不重要&#xff0c;重要的这个组件需要被多个文件引用&#xff0c;而且有组件有一些控制逻辑。 1.1代码展示 <template><div class"ap…...

Rust 学习笔记:Rust 简介

Rust 学习笔记&#xff1a;Rust 简介 Rust 学习笔记&#xff1a;Rust 简介历史与发展历程核心特性优点缺点应用领域 Rust 学习笔记&#xff1a;Rust 简介 Rust 是一种系统级编程语言&#xff0c;由 Mozilla 研究院的 Graydon Hoare 于 2006 年设计&#xff0c;旨在提供内存安全…...

第六节:进阶特性高频题-自定义指令实现场景

示例&#xff1a;v-lazy&#xff08;图片懒加载&#xff09;、v-permission&#xff08;权限控制&#xff09; 钩子函数&#xff1a;mounted、updated、unmounted等 一、自定义指令核心机制 指令生命周期钩子 const myDirective {// 元素插入父节点时调用&#xff08;初始化…...

未曾设想的道路1

写在前面&#xff1a; 与其转去读博&#xff0c;倾向自学就业。 中国科学技术大学数学科学学院拥有一支优秀的师资团队&#xff0c;以下是部分教授的简介&#xff1a; 陈发来教授&#xff1a; 荣誉&#xff1a;2024年6月13日&#xff0c;在德国莱布尼茨信息科学中心召开的国际…...

Axure按钮设计分享:打造高效交互体验的六大按钮类型

在产品设计过程中&#xff0c;按钮作为用户与界面交互的核心元素&#xff0c;其设计质量直接影响用户体验与操作效率。Axure作为一款强大的原型设计工具&#xff0c;为设计师提供了丰富的按钮设计选项。本文将围绕基础按钮、禁用按钮、圆角按钮、动态按钮、渐变按钮和图标按钮六…...

MySQL 8.4企业版 安装和配置审计插件

在最新的MySQL 8.4.4企业版上启用审计日志功能 操作系统&#xff1a;Ubuntu 24.04 数据库:8.4.4-commercial for Linux on x86_64 (MySQL Enterprise Server - Commercial) 1.查看安装脚本 下面2个脚本位于mysql安装目录 share 下&#xff0c;一个是window一个是linux可以用…...

AI大模型学习十一:‌尝鲜ubuntu 25.04 桌面版私有化sealos cloud + devbox+minio,实战运行成功

一、说明 用了ubuntu 25.04&#xff0c;内核为GNU/Linux 6.14.0-15-generic x86_64&#xff0c;升级了部分image&#xff0c;过程曲折啊 sealos 能干啥 对集群生命周期进行管理&#xff0c;一键安装高可用 Kubernetes 集群&#xff0c;增删节点清理集群自恢复等 通过 sealos…...

idea无法下载源代码

通过idea找到用户设置文件路径 查看 setting.xml 文件&#xff0c;找到了以下相关的配置&#xff0c;注释掉这个maven-default-http-blocker的镜像&#xff0c;这个东西阻碍了去阿里的镜像库查找依赖&#xff0c;注释掉。 然后重启idea就能下载了...

【敏矽微ME32G030系列】介绍、环境搭建、工程测试

【敏矽微ME32G030系列】介绍、环境搭建、工程测试 本文介绍了敏矽微ME32G030系列单片机及开发板、包括参数特点、原理图、应用场景&#xff0c;以及开发环境搭建、工程测试等流程。 简介 本节介绍了开发板主控、特点、开发板原理图、板载资源等信息。 主控 开发板采用 ME3…...

Hooks的使用限制及原因

Hooks的使用限制及原因 Hooks的核心限制 只能在函数组件顶层调用 ⭐不能在条件语句、循环、嵌套函数中调用 ⭐只能在React函数组件或自定义Hooks中调用 ⭐ 为什么有这些限制&#xff1f; 根本原因&#xff1a;React依赖Hooks的调用顺序 React内部使用数组来存储每个组件的…...

【JavaScript】二十六、正则表达式

文章目录 1、正则表达式1.1 定义1.2 校验 2、元字符2.1 边界符2.2 量词2.3 字符类2.3.1 方括号[ ]2.3.2 小点.2.3.3 预定义 2.4 案例&#xff1a;用户名验证 3、修饰符3.1 语法3.2 案例&#xff1a;过滤敏感词 1、正则表达式 Regular Expression&#xff0c;正则表达式&#x…...

Geek强大的电脑卸载软件工具,免费下载

一款强大的卸载电脑软件工具,无需安装 免费下载...

tomcat Server 连接服务器 进展

由于机房的环境变更&#xff0c;所接触的问题也不一样&#xff01;&#xff01;&#xff01;&#xff01; 但后来出现以下提示&#xff1a; 已连接到服务器 配置错误: 部署源 springmvc:war 无效[2025-04-23 11:19:50,192] 工件 springmvc:war: 部署工件时出错。请参阅服务器日…...

Elasticsearch 集群节点下线方案

Elasticsearch 集群节点下线方案 在 Elasticsearch&#xff08;ES&#xff09;集群中&#xff0c;节点&#xff08;Node&#xff09;下线可能会影响数据的可用性和集群的健康状态。因此&#xff0c;正确的下线步骤需要确保数据不会丢失&#xff0c;并且不会影响查询或写入。 &…...

【模板匹配】图像处理(OpenCV)-part10

19.1模板匹配 模板匹配就是用模板图&#xff08;通常是一个小图&#xff09;在目标图像&#xff08;通常是一个比模板图大的图片&#xff09;中不断的滑动比较&#xff0c;通过某种比较方法来判断是否匹配成功,找到模板图所在的位置。 不会有边缘填充。 类似于卷积&#xff0c…...

VMware中CentOS 7虚拟机设置固定IP(NAT模式)完整教程

前言 在VMware中为CentOS 7虚拟机配置固定IP是搭建稳定服务环境的关键步骤。本文基于用户提供的最新配置文件&#xff0c;详细演示如何从DHCP自动获取IP调整为固定IP&#xff08;192.168.89.129&#xff09;&#xff0c;并提供修改前后的配置对比及操作验证。 一、当前配置状态…...