poi带表头多sheet导出
导出工具类
package com.hieasy.comm.core.excel;import com.hieasy.comm.core.excel.fragment.ExcelFragment;
import com.hieasy.comm.core.utils.mine.MineDateUtil;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;import java.lang.reflect.Field;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class CsExcelUtils<T> {HSSFRow row=null;//行HSSFCell cell=null;//单元格CellStyle style =null;//单元格样式Class<T> clazz;public CsExcelUtils(Class<T> clazz) {super();this.clazz = clazz;}/*同表头多sheet导出*/public void myExcelExportClassList(String fileName, String sheetName, String[][] excelHeader, Class clazz, List<T> list, HSSFWorkbook workbook) throws Exception{HSSFSheet sheet = workbook.createSheet(sheetName); // 为excel创建一个sheet页Integer rowIndex=0; //行号List<Field> fields = ExcelFragment.fltMappedFileds(ExcelFragment.getMappedFiled(clazz, null),1);Integer maxcols=fields.size()>excelHeader[0].length?fields.size():excelHeader[0].length; //列号//导出Excel时间:2018-12-27HSSFRow row = sheet.createRow(rowIndex++);sheet.addMergedRegion(new CellRangeAddress(0,0,0,maxcols-1));HSSFCell cell = row.createCell(0);cell.setCellValue("导出Excel时间:"+ MineDateUtil.getNowDateTime());CellStyle cellStyle=getTitle1CellStyler(workbook);cell.setCellStyle(cellStyle); // 为B2单元格添加样式//大标题row = sheet.createRow(rowIndex++);row.setHeight((short) (25*20));sheet.addMergedRegion(new CellRangeAddress(1,1,0,maxcols-1));cell = row.createCell(0);cell.setCellValue(fileName);cellStyle=getTitle2CellStyler(workbook);cell.setCellStyle(cellStyle);//Excel 头部占位Integer eHBeginRowIndex=rowIndex; //记录Excel头开始行rowIndex+=excelHeader.length; //留空Excel头//Table 表头数据Integer chRowIndex= writeExcelHeader(maxcols,eHBeginRowIndex,excelHeader, sheet, workbook);//Table BODY的数据writeTableBodyOrFooterFromTList(list, chRowIndex,fields,sheet,workbook);}private Integer writeTableBodyOrFooterFromTList(List<T> list, Integer rowIndex,List<java.lang.reflect.Field> fields, HSSFSheet sheet, HSSFWorkbook workbook) throws NoSuchFieldException, SecurityException {//正式的数据row=sheet.createRow(rowIndex);autoColumnWidthForChineseChar(sheet,0,fields.size());for (int i = 0; i < fields.size(); i++) {java.lang.reflect.Field field = fields.get(i);ExcelVOAttribute attr = field.getAnnotation(ExcelVOAttribute.class);int col = getExcelCol(attr.column());// 获得列号cell = row.createCell(col);// 创建列cell.setCellType(Cell.CELL_TYPE_STRING);// 设置列中写入内容为String类型cell.setCellValue(attr.name());style = getHeadCellStyler(workbook);// 如果设置了提示信息则鼠标放上去提示.if (!attr.prompt().trim().equals("")) {setSXSSFPrompt(sheet, "", attr.prompt(), 3, 100, col, col);// 这里默认设了2-101列提示.}// 如果设置了combo属性则本列只能选择不能输入if (attr.combo().length > 0) {setSXSSFValidation(sheet, attr.combo(), 3, 100, col, col);// 这里默认设了2-101列只能选择不能输入.}cell.setCellStyle(style);}rowIndex++;//4.设置具体内容int startNo = 0;int z = rowIndex;int endNo = list.size();// 写入各条记录,每条记录对应excel表中的一行for (int i = startNo; i < endNo; i++) {row =sheet.createRow(i + z);T vo = (T) list.get(i); // 得到导出对象.for (int j = 0; j < fields.size(); j++) {java.lang.reflect.Field field = fields.get(j);// 获得field.field.setAccessible(true);// 设置实体类私有属性可访问ExcelVOAttribute attr = field.getAnnotation(ExcelVOAttribute.class);try {// 根据ExcelVOAttribute中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.if (attr.isExport()) {cell = row.createCell(getExcelCol(attr.column()));// 创建cell// 取得类型,并根据对象类型设置值.Class<?> fieldType = field.getType();if (String.class == fieldType) {cell.setCellType(Cell.CELL_TYPE_STRING);cell.setCellValue(field.get(vo) == null ? "" : String.valueOf(field.get(vo)));// 如果数据存在就填入,不存在填入空格.} else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType)) {cell.setCellType(Cell.CELL_TYPE_NUMERIC);cell.setCellValue(field.get(vo) == null ? 0 : Integer.parseInt(field.get(vo).toString()));} else if ((Long.TYPE == fieldType) || (Long.class == fieldType)) {cell.setCellType(Cell.CELL_TYPE_NUMERIC);cell.setCellValue(field.get(vo) == null ? 0 : Long.parseLong(field.get(vo).toString()));} else if ((Float.TYPE == fieldType) || (Float.class == fieldType)) {cell.setCellType(Cell.CELL_TYPE_NUMERIC);cell.setCellValue(field.get(vo) == null ? 0 : Double.parseDouble(field.get(vo).toString()));} else if ((Short.TYPE == fieldType) || (Short.class == fieldType)) {} else if ((Double.TYPE == fieldType) || (Double.class == fieldType)) {cell.setCellType(Cell.CELL_TYPE_NUMERIC);cell.setCellValue(field.get(vo) == null ? 0 : Double.parseDouble(field.get(vo).toString()));} else if (Character.TYPE == fieldType) {}}} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}rowIndex++;}return rowIndex;}private static Integer writeExcelHeader(int maxcols, Integer eHBeginRowIndex, String[][] excelHeader, Sheet sheet, HSSFWorkbook workbook) {for (String[] hrows : excelHeader) {/*CellRangeAddress region =new CellRangeAddress(eHBeginRowIndex,eHBeginRowIndex,0,maxcols-1);sheet.addMergedRegion(region);*/Row row = sheet.createRow(eHBeginRowIndex);row.setHeight((short) (25 * 20));int cellIndex = 0;for (int i = 0; i < maxcols; i++) {Cell cell = row.createCell(i);cell.setCellStyle(getExcelHeadCellStyler(workbook));if ((!sheet.isColumnHidden(i)) && cellIndex < hrows.length) {cell.setCellValue(hrows[cellIndex++]);}}autoColumnWidthForChineseChar(sheet,0,maxcols);eHBeginRowIndex++;}return eHBeginRowIndex;}//设置样式(导出时间)private static CellStyle getTitle1CellStyler(HSSFWorkbook workbook ){CellStyle style = workbook.createCellStyle();// 设置样式style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);style.setBorderBottom(XSSFCellStyle.NO_FILL);style.setBorderLeft(XSSFCellStyle.NO_FILL);style.setBorderRight(XSSFCellStyle.NO_FILL);style.setBorderTop(XSSFCellStyle.NO_FILL);style.setAlignment(XSSFCellStyle.ALIGN_LEFT);// 生成表头字体Font font = workbook.createFont();font.setColor(IndexedColors.BLACK.getIndex());font.setFontHeightInPoints((short) 10);//font.setFontName("微软雅黑");// 把字体应用到当前的样式style.setFont(font);return style;}//设置样式(导出标题)private static CellStyle getTitle2CellStyler(HSSFWorkbook workbook ){CellStyle style = workbook.createCellStyle();// 设置样式style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);style.setBorderBottom(XSSFCellStyle.NO_FILL);style.setBorderLeft(XSSFCellStyle.NO_FILL);style.setBorderRight(XSSFCellStyle.NO_FILL);style.setBorderTop(XSSFCellStyle.NO_FILL);style.setAlignment(XSSFCellStyle.ALIGN_CENTER);// 生成表头字体Font font = workbook.createFont();font.setColor(IndexedColors.BLACK.getIndex());font.setFontHeightInPoints((short) 20);font.setFontName("微软雅黑");font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);//font.setFontName("微软雅黑");// 把字体应用到当前的样式style.setFont(font);return style;}//设置样式(EXCEL表头)public static CellStyle getExcelHeadCellStyler(HSSFWorkbook workbook ){CellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);style.setBorderBottom(XSSFCellStyle.NO_FILL);style.setBorderLeft(XSSFCellStyle.NO_FILL);style.setBorderRight(XSSFCellStyle.NO_FILL);style.setBorderTop(XSSFCellStyle.NO_FILL);// 生成表头字体Font font = workbook.createFont();font.setColor(IndexedColors.DARK_TEAL.getIndex());font.setFontHeightInPoints((short) 11);font.setFontName("微软雅黑");font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);style.setFont(font);return style;}//设置样式(表头)public static CellStyle getHeadCellStyler(HSSFWorkbook workbook ){CellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.LIGHT_CORNFLOWER_BLUE.getIndex());style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);style.setBorderBottom(XSSFCellStyle.BORDER_THIN);style.setBorderLeft(XSSFCellStyle.BORDER_THIN);style.setBorderRight(XSSFCellStyle.BORDER_THIN);style.setBorderTop(XSSFCellStyle.BORDER_THIN);style.setAlignment(XSSFCellStyle.ALIGN_CENTER);// 生成表头字体Font font = workbook.createFont();font.setColor(IndexedColors.DARK_BLUE.getIndex());font.setFontHeightInPoints((short) 10);font.setFontName("微软雅黑");font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);style.setFont(font);return style;}//将EXCEL中A,B,C,D,E列映射成0,1,2,3private static int getExcelCol(String col) {col = col.toUpperCase();// 从-1开始计算,字母重1开始运算。这种总数下来算数正好相同。int count = -1;char[] cs = col.toCharArray();for (int i = 0; i < cs.length; i++) {count += (cs[i] - 64) * Math.pow(26, cs.length - 1 - i);}return count;}// 设置单元格上提示private Sheet setSXSSFPrompt(Sheet sheet, String promptTitle, String promptContent, int firstRow, int endRow, int firstCol, int endCol) {// 构造constraint对象DVConstraint constraint = DVConstraint.createCustomFormulaConstraint("DD1");// 四个参数分别是:起始行、终止行、起始列、终止列CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);// 数据有效性对象DataValidation data_validation_view = new HSSFDataValidation(regions, constraint);data_validation_view.createPromptBox(promptTitle, promptContent);sheet.addValidationData(data_validation_view);return sheet;}//设置某些列的值只能输入预制的数据,显示下拉框.private Sheet setSXSSFValidation(Sheet sheet, String[] textlist, int firstRow, int endRow, int firstCol, int endCol) {// 加载下拉列表内容DVConstraint constraint = DVConstraint.createExplicitListConstraint(textlist);// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);// 数据有效性对象DataValidation data_validation_list = new HSSFDataValidation(regions, constraint);sheet.addValidationData(data_validation_list);return sheet;}/*** 自动调整列表宽度适应中文字符串* @param sheet* @param startColumnNum 要调整的起始列表号* @param size 要调整的列表数量*/private static void autoColumnWidthForChineseChar(Sheet sheet, int startColumnNum, int size) {for (int columnNum = 0; columnNum < size; columnNum++) {/** 调整每一列宽度 */sheet.autoSizeColumn(columnNum);/** 获取列宽 */final int columnWidth = sheet.getColumnWidth(columnNum);if(columnNum >= 256*256 ){/** 列宽已经超过最大列宽则放弃当前列遍历 */continue;}/** 新的列宽 */int newWidth = columnWidth;/** 遍历所有的行,查找有汉字的列计算新的最大列宽 */for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) {Row currentRow;if (sheet.getRow(rowNum) == null) {continue;} else {currentRow = sheet.getRow(rowNum);}if (currentRow.getCell(columnNum) != null) {Cell currentCell = currentRow.getCell(columnNum);if (currentCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {String value = currentCell.getStringCellValue();/** 计算字符串中中文字符的数量 */int count = chineseCharCountOf(value);/**在该列字符长度的基础上加上汉字个数计算列宽 */int length = value.length()*256+count*256*2;/** 使用字符串的字节长度计算列宽 */
// int length = value.getBytes().length*256;if (newWidth < length && length < 256*256) {newWidth = length;}}}}if(newWidth != columnWidth){//设置列宽sheet.setColumnWidth(columnNum, newWidth);}}}/*** 计算字符串中中文字符的数量* 参见 <a hrft="https://www.cnblogs.com/straybirds/p/6392306.html">《汉字unicode编码范围》</a>* @param input* @return*/private static int chineseCharCountOf(String input){int count = 0;//汉字数量if(null != input){String regEx = "[\\u4e00-\\u9fa5]";Pattern p = Pattern.compile(regEx);Matcher m = p.matcher(input);int len = m.groupCount();//获取汉字个数while (m.find()) {for (int i = 0; i <= len; i++) {count = count + 1;}}}return count;}
}
导出实体主表类
public class Daochuzb {private String zbzd1;private String zbzd2;private String zbzd3;private String zbzd4;private String zbzd5;public String getZbzd1() {return zbzd1;}public void setZbzd1(String zbzd1) {this.zbzd1 = zbzd1;}public String getZbzd2() {return zbzd2;}public void setZbzd2(String zbzd2) {this.zbzd2 = zbzd2;}public String getZbzd3() {return zbzd3;}public void setZbzd3(String zbzd3) {this.zbzd3 = zbzd3;}public String getZbzd4() {return zbzd4;}public void setZbzd4(String zbzd4) {this.zbzd4 = zbzd4;}public String getZbzd5() {return zbzd5;}public void setZbzd5(String zbzd5) {this.zbzd5 = zbzd5;}
}
导出sheet1表
public class Daochusheet1 {@ExcelVOAttribute(name = "字段1",column="A")private String zd1;@ExcelVOAttribute(name = "字段2",column="B")private String zd2;@ExcelVOAttribute(name = "字段3",column="C")private String zd3;@ExcelVOAttribute(name = "字段4",column="D")private String zd4;public Daochusheet1() {}public Daochusheet1(String zd1, String zd2, String zd3, String zd4) {this.zd1 = zd1;this.zd2 = zd2;this.zd3 = zd3;this.zd4 = zd4;}public String getZd1() {return zd1;}public void setZd1(String zd1) {this.zd1 = zd1;}public String getZd2() {return zd2;}public void setZd2(String zd2) {this.zd2 = zd2;}public String getZd3() {return zd3;}public void setZd3(String zd3) {this.zd3 = zd3;}public String getZd4() {return zd4;}public void setZd4(String zd4) {this.zd4 = zd4;}
}
导出sheet2表
public class Daochusheet2 {@ExcelVOAttribute(name = "字段1",column="A")private String zd1;@ExcelVOAttribute(name = "字段2",column="B")private String zd2;@ExcelVOAttribute(name = "字段3",column="C")private String zd3;@ExcelVOAttribute(name = "字段4",column="D")private String zd4;@ExcelVOAttribute(name = "字段4",column="E")private String zd5;public Daochusheet2() {}public Daochusheet2(String zd1, String zd2, String zd3, String zd4, String zd5) {this.zd1 = zd1;this.zd2 = zd2;this.zd3 = zd3;this.zd4 = zd4;this.zd5 = zd5;}public String getZd1() {return zd1;}public void setZd1(String zd1) {this.zd1 = zd1;}public String getZd2() {return zd2;}public void setZd2(String zd2) {this.zd2 = zd2;}public String getZd3() {return zd3;}public void setZd3(String zd3) {this.zd3 = zd3;}public String getZd4() {return zd4;}public void setZd4(String zd4) {this.zd4 = zd4;}public String getZd5() {return zd5;}public void setZd5(String zd5) {this.zd5 = zd5;}
}
导出
@NoRepeatSubmit@PostMapping("/exportcs")@ApiOperation(value = "导出测试", notes = "")public void exportcs(HttpServletResponse response) throws Exception {response.setContentType("application/octet-stream");response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(" 导出测试.xls","UTF-8"));HSSFWorkbook workbook = new HSSFWorkbook(); // 创建一个excelString[][] excelHeader=new String[2][3];excelHeader[0][0]="主表字段1";excelHeader[0][1]="主表字段2";excelHeader[0][2]="主表字段3";excelHeader[1][0]="主表字段4";excelHeader[1][1]="主表字段5";excelHeader[1][2]="";List<Daochusheet1> list1=new ArrayList<>();Daochusheet1 daochusheet1=new Daochusheet1("sheet11","sheet12","sheet13","sheet14");list1.add(daochusheet1);List<Daochusheet2> list2=new ArrayList<>();Daochusheet2 daochusheet2=new Daochusheet2("sheet21","sheet22","sheet23","sheet24","sheet25");list2.add(daochusheet2);CsExcelUtils<Daochusheet1> myExcelUtils=new CsExcelUtils(Daochusheet1.class);myExcelUtils.myExcelExportClassList("导出sheet1","导出sheet1",excelHeader,Daochusheet1.class,list1,workbook);CsExcelUtils<Daochusheet2> myExcelUtils1=new CsExcelUtils(Daochusheet2.class);myExcelUtils1.myExcelExportClassList("导出sheet2","导出sheet2",excelHeader,Daochusheet2.class, list2,workbook);FileOutputStream fos =null;//输出流try {fos = new FileOutputStream("D:\\导出测试.xls");workbook.write(fos);fos.flush();} catch (IOException e) {e.printStackTrace();} finally {try {fos.close();} catch (IOException e) {e.printStackTrace();}}}
导出结果
相关文章:
poi带表头多sheet导出
导出工具类 package com.hieasy.comm.core.excel;import com.hieasy.comm.core.excel.fragment.ExcelFragment; import com.hieasy.comm.core.utils.mine.MineDateUtil; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.*; import org.apache.po…...
RedisDesktopManager(redis客户端,可输入用户名密码)
RedisDesktopManager(redis客户端,可输入用户名密码) Redis桌面管理器(又名RDM) - 是一个用于Windows,Linux和MacOS的快速开源Redis数据库管理应用程序。可以使用url连接或账号密码。 redis设置账号密码后…...
【Adobe After Effects】关于ae点击空格不会播放反而回退一帧的解决方案
最近玩ae的时候遇见了一个小问题,就是有时候敲空格,视频没办法播放,反而会回退一帧,经过摸索发现了一个解决办法: 点击编辑---首选项 然后选择“音频硬件” 然后选择正确的默认输出,点击确定即可...
Linux网络编程:多路I/O转接服务器(select poll epoll)
文章目录: 一:select 1.基础API select函数 思路分析 select优缺点 2.server.c 3.client.c 二:poll 1.基础API poll函数 poll优缺点 read函数返回值 突破1024 文件描述符限制 2.server.c 3.client.c 三:epoll …...
Mybatis系列原理剖析之项目实战:自定义持久层框架
Mybatis系列原理剖析之:项目实战:自定义持久层框架 持久层是JAVA EE三层体系架构中,与数据库进行交互的一层,持久层往往被称为dao层。需要说明的是,持久层的技术选型有很多,绝不仅仅只有mybatis一种。像早…...
阿里云 Serverless 应用引擎 2.0,正式公测!
阿里云 Serverless 应用引擎 SAE2.0 正式公测上线!全面升级后的 SAE2.0 具备极简体验、标准开放、极致弹性三大优势,应用冷启动全面提效,秒级完成创建发布应用,应用成本下降 40% 以上。 此外,阿里云还带来容器服务 Se…...
西北大学计算机考研844高分经验分享
西北大学计算机考研844经验分享 个人介绍 本人是西北大学22级软件工程研究生,考研专业课129分,过去一年里在各大辅导机构任职,辅导考研学生专业课844,辅导总时长达288小时,帮助多名学生专业课高分上岸。 前情回顾…...
【java并发编程的艺术读书笔记】volatile关键字介绍、与synchronized的区别
volatile的简介 volatile是轻量级锁,只用来修饰变量,保证这个变量在多线程下的可见性以及一致性(一个volatile变量被线程修改时会立刻通知其他所有线程),防止指令重排序,但是并不能保证绝对的线程安全 vol…...
LinkedList的顶级理解
目录 1.LinkedList的介绍 LinkedList的结构 2.LinkedList的模拟实现 2.1创建双链表 2.2头插法 2.3尾插法 2.4任意位置插入 2.5查找关键字 2.6链表长度 2.7遍历链表 2.8删除第一次出现关键字为key的节点 2.9删除所有值为key的节点 2.10清空链表 2.11完整代码 3.…...
再学http-为什么文件上传要转成Base64?
1 前言 最近在开发中遇到文件上传采用Base64的方式上传,记得以前刚开始学http上传文件的时候,都是通过content-type为multipart/form-data方式直接上传二进制文件,我们知道都通过网络传输最终只能传输二进制流,所以毫无疑问他们本…...
使用oracleVM搭建虚拟机
选择新建,点击 取名字,选择你的安装路径,选择你爹镜像光盘,再勾选下面的,表示跳过一些步骤 其他的都可以默认,下一步即可 创建好了,点击设置,改变光驱,硬盘的顺序 等待它…...
深入探讨C存储类和存储期——Storage Duration
🔗 《C语言趣味教程》👈 猛戳订阅!!! —— 热门专栏《维生素C语言》的重制版 —— 💭 写在前面:这是一套 C 语言趣味教学专栏,目前正在火热连载中,欢迎猛戳订阅&#…...
医学图像融合的深度学习方法综述
文章目录 Deep learning methods for medical image fusion: A review摘要引言非端到端的融合方法基于深度学习的决策映射基于深度学习的特征提取 端到端图像融合方法基于卷积神经网络(CNN)的图像融合方法单级特征融合方法多级特征融合基于残差神经网络的图像融合方法基于密集神…...
【Qt学习】04:QDialog
QDialog OVERVIEW QDialog一、自定义对话框1.模态对话框2.非模态对话框3.练习代码 二、标准对话框1.消息对话框2.文件对话框3.颜色对话框4.字体对话框 对话框是 GUI 程序中不可或缺的组成部分,对话框通常会是一个顶层窗口出现在程序最上层,用于实现短期任…...
如何更好的进行异常处理
背景 在实际开发中,我们都希望程序可以一直按照期望的流程,无误的走下去。但是由于不可避免的内外部因素,可能导致出现异常的情况,轻则导致报错,重则数据错乱、服务不可用等情况。严重影响系统的稳定性,甚至…...
若依微服务版部署到IDEA
1.进入若依官网,找到我们要下的微服务版框架 2.点击进入gitee,获取源码,下载到本地 3.下载到本地后,用Idea打开,点击若依官网,找到在线文档,找到微服务版本的,当然你不看文档,直接按…...
Elasticsearch 入门安装
1.Elasticsearch 是什么 The Elastic Stack, 包括 Elasticsearch、 Kibana、 Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。 Elaticsearch,简称为…...
【80天学习完《深入理解计算机系统》】第十一天 3.5 过程(函数调用)
专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录) 文章字体风格: 红色文字表示&#…...
LinuxUbuntu安装VMware tools Segmentation fault (core dumped)怎么解决
LinuxUbuntu安装VMware tools Segmentation fault (core dumped)怎么解决 在安装VMware Tools时遇到"Segmentation fault (core dumped)"错误,通常是由于兼容性问题或系统配置不正确导致的。以下是一些可能的解决方法: 检查VMware Tools兼容性…...
002微信小程序云开发API数据库-迁移状态查询/更新索引
文章目录 微信小程序云开发API数据库-迁移状态查询案例代码微信小程序云开发API数据库-更新索引案例代码 微信小程序云开发API数据库-迁移状态查询 在微信小程序中,云开发API数据库是一种方便快捷的数据库解决方案。但是,有时候我们可能需要将云开发数据…...
十几款拿来就能用的炫酷表白代码
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 表白代码 1、坐我女朋友好吗,不同意就关机.vbs2、坐我女朋友好吗&…...
证券低延时环境设置并进行性能测试
BIOS设置BIOS参考信息 关闭 logical Process Virtualization Technology 在System Profiles Settings 中System Profile 选择Performance Workload Profile 选择HPC Profile OS中信息参考在/etc/default/grub文件中添加 intel_idle.max_cstate=0 processor.max_cstate=0 idle=p…...
百度工程师浅析解码策略
作者 | Jane 导读 生成式模型的解码方法主要有2类:确定性方法(如贪心搜索和波束搜索)和随机方法。确定性方法生成的文本通常会不够自然,可能存在重复或过于简单的表达。而随机方法在解码过程中引入了随机性,以便生成更…...
windows下实现查看软件请求ip地址的方法
一、关于wmic和nestat wmic是Windows Management Instrumentation的缩写,是一款非常常用的用于Windows系统管理的命令行实用程序。wmic可以通过命令行操作,获取系统信息、安装软件、启动服务、管理进程等操作。 netstat命令是一个监控TCP/IP网络的非常有…...
【JAVA】String 类
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 String 1. 字符串构造2. String对象的比…...
LoRA继任者ReLoRA登场,通过叠加多个低秩更新矩阵实现更高效大模型训练效果
论文链接: https://arxiv.org/abs/2307.05695 代码仓库: https://github.com/guitaricet/peft_pretraining 一段时间以来,大模型(LLMs)社区的研究人员开始关注于如何降低训练、微调和推理LLMs所需要的庞大算力…...
Elasticsearch 8.X reindex 源码剖析及提速指南
1、reindex 源码在线地址 为方便大家验证,这里给出 reindex github 源码地址。 https://github.com/elastic/elasticsearch/blob/001fcfb931454d760dbccff9f4d1b8d113f8708c/server/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java reindex 常见…...
前端组件库造轮子——Input组件开发教程
前端组件库造轮子——Input组件开发教程 前言 本系列旨在记录前端组件库开发经验,我们的组件库项目目前已在Github开源,下面是项目的部分组件。文章会详细介绍一些造组件库轮子的技巧并且最后会给出完整的演示demo。 文章旨在总结经验,开源…...
Day04-Vue基础-监听器-双向绑定-组件通信
Day04-Vue基础-监听器-双向绑定-组件通信 一 侦听器 语法一 <template><div>{{name}}<br><button @click="update1">修改1</button><...
Java小白基础自学阶段(持续更新...)
引言 Java作为一门广泛应用于企业级开发的编程语言,对初学者来说可能会感到有些复杂。然而,通过适当的学习方法和资源,即使是小白也可以轻松掌握Java的基础知识。本文将提供一些有用的建议和资源,帮助小白自学Java基础。 学习步骤…...
网站建设模板哪家好/网站为什么要做seo
摘要:近二十年来,纳米材料因其独特的性质和优异的性能受到广泛的关注.实验手段对于先进材料的合成及化学反应微观机理的探测是存在局限性的,但是随着计算机水平的不断发展,运用第一性原理密度泛函理论从原子及分子水平上理解材料的性质,设计新型功能型材料已经成为一…...
自己给公司做网站该怎么做/上海推广网络营销咨询热线
解决办法: 在应用程序类(App类)中的InitInstance函数体内添加以下语句: AfxInitRichEdit(); 对应1.0版本 如果有2.0版本需要添加如下 AfxInitRichEdit2(); 对应2.0 版本 说明: 添加RichEdit控件后,…...
深圳做网站公司 南山/网站推广软件有哪些
1. 将这3块磁盘升级为动态磁盘。(截图)1)创建三块硬盘。2)开始-运行,输入“diskmgmt.msc”3)右键磁盘,联机。4)右键磁盘初始化。5)选择GPT格式。2. 在磁盘1上创建一个简…...
做网站学完html/网络营销方案策划书
格雷编码 题目描述:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。 格雷编码序…...
保定网站建设与seo/搜索关键词排名提升
一、ReadyDR 是什么?ReadyDR 是基于快照的块级别灾备方案,ReadyNAS OS 6.6 版本支持该功能.• ReadyDR 里面的 DR 两个字母,分别代表 Disaster Recover• ReadyDR 当前只有使用 X86 CPU 的 ReadyNAS 支持• ReadyDR 并非一个高可用࿰…...
信誉比较好的商家可做网站/优秀的营销策划案例
来自FallDream的博客,未经允许,请勿转载,谢谢。 艾登拥有一个计算机网络,每一台计算机都至少有着Intel Xeon E50 v40 40路GTX10800Titan的恐怖配置,并由无线网络直接或间接连接,这可以用一个无向连通图来表…...