.NET Core NPOI导出复杂Excel

一、引入NPOI NuGet:

NPOI GitHub源码地址:

GitHub - tonyqus/npoi: a .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop.

版本说明:

  NPOI 2.4.1 (注意不同版本可能使用的姿势有点小差别)

程序包管理器控制台输入一下命令安装:

1

Install-Package NPOI -Version 2.4.1

通过NuGet管理解决方案安装:

选择=>工具=>NuGet包管理器=>程序包管理器控制台:

 搜索:NPOI进行安装:

  二、CellStyle单元格常用样式概述:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

HSSFCellStyle cellStyle = (HSSFCellStyle)workbook.CreateCellStyle(); //创建列头单元格实例样式

cellStyle.Alignment = hAlignment; //水平布局方式(HorizontalAlignment hAlignment)

cellStyle.VerticalAlignment = vAlignment; //垂直布局方式(VerticalAlignment vAlignment)

cellStyle.WrapText =false;//是否自动换行

//TODO:十分注意,要设置单元格背景色必须是FillForegroundColor和FillPattern两个属性同时设置,否则是不会显示背景颜色

//如下设置黄色背景色

cellStyle.FillForegroundColor = cellBackgroundColor;//单元格背景颜色(short cellBackgroundColor = HSSFColor.Yellow.Index)

cellStyle.FillPattern = fillPattern;//填充图案样式(FineDots 细点,SolidForeground立体前景,isAddFillPattern=true时存在(FillPattern fillPattern = FillPattern.SolidForeground)

//设置单元格边框样式

//常用的边框样式 None(没有),Thin(细边框,瘦的),Medium(中等),Dashed(虚线),Dotted(星罗棋布的),Thick(厚的),Double(双倍),Hair(头发)[上右下左顺序设置]

cellStyle.BorderBottom = BorderStyle.Thin;

cellStyle.BorderRight = BorderStyle.Thin;

cellStyle.BorderTop = BorderStyle.Thin;

cellStyle.BorderLeft = BorderStyle.Thin;

//设置单元格边框颜色[上右下左顺序设置]

cellStyle.TopBorderColor = HSSFColor.DarkGreen.Index;//DarkGreen(黑绿色)

cellStyle.RightBorderColor = HSSFColor.DarkGreen.Index;

cellStyle.BottomBorderColor = HSSFColor.DarkGreen.Index;

cellStyle.LeftBorderColor = HSSFColor.DarkGreen.Index;

三、Font字体常用属性概述:

1

2

3

4

5

6

7

8

9

10

11

12

13

var cellStyleFont = (HSSFFont)workbook.CreateFont();//创建字体对象实例

//假如字体大小只需要是粗体的话直接使用下面该属性即可

cellStyleFont.IsBold = true;

//或者通过下面属性,设置字体weight来设置字体是否加粗

cellStyleFont.Boldweight = boldWeight; //字体加粗(字体加粗 (None = 0,Normal = 400,Bold = 700)

cellStyleFont.FontHeightInPoints = fontHeightInPoints; //字体大小(short fontHeightInPoints)

cellStyleFont.FontName = fontName;//字体(仿宋,楷体,宋体 )

cellStyleFont.Color = fontColor;//设置字体颜色(short fontColor = HSSFColor.Black.Index)

cellStyleFont.IsItalic =true;//是否将文字变为斜体(true是,false否)

cellStyleFont.Underline = underlineStyle;//字体下划线(下划线样式(无下划线[None],单下划线[Single],双下划线[Double],会计用单下划线[SingleAccounting],会计用双下划线[DoubleAccounting]))

cellStyleFont.TypeOffset = typeOffset;//字体上标下标(字体上标下标(普通默认值[None],上标[Sub],下标[Super]),即字体在单元格内的上下偏移量)

cellStyleFont.IsStrikeout =true;//是否显示删除线(true显示,false不显示)

四、NPOI HSSFColor 颜色索引对照表:

说明:通过对相关属性的介绍,我们可以清楚的知道无论是字体颜色,表格边框颜色,还是单元格背景颜色我们都需要用到HSSFColor对象中的颜色属性索引(该索引的字符类型为short类型)。

HSSFColor颜色索引对照表如下表所示:

表格来源:https://www.cnblogs.com/Brainpan/p/5804167.html  (潘小博1992)

颜色Class名称(注意由于NPOI的版本原因,我们在使用对应Class名称时首字母可能需要小写)short
 Black8
 Brown60
 Olive_Green59
 Dark_Green58
 Dark_Teal56
 Dark_Blue18
 Indigo62
 Grey_80_PERCENT63
 Dark_Red16
 Orange53
 DARK_YELLOW19
 Green17
 Teal21
 Blue12
 Blue_Grey54
 Grey_50_PERCENT23
 Red10
 LIGHT_ORANGE52
 LIME50
 SEA_GREEN57
 AQUA49
 LIGHT_BLUE48
 VIOLET20
 GREY_40_PERCENT55
 Pink14
 Gold51
 Yellow13
 BRIGHT_GREEN11
 TURQUOISE15
 SKY_BLUE40
 Plum61
 GREY_25_PERCENT22
 Rose45
 Tan47
 LIGHT_YELLOW43
 LIGHT_GREEN42
 LIGHT_TURQUOISE41
 PALE_BLUE44
 LAVENDER46
 White9
 CORNFLOWER_BLUE24
 LEMON_CHIFFON26
 MAROON25
 ORCHID28
 CORAL29
 ROYAL_BLUE30
 LIGHT_CORNFLOWER_BLUE31
 AUTOMATIC64

 五、关于NPOI对Excel中的行列常用操作方法概述:

创建Excel工作表,给工作表赋一个名称(Excel底部名称):

1

var sheet = workbook.CreateSheet("人才培训课程表");

 创建Excel中指定的行:

1

2

3

4

5

6

7

8

9

10

11

12

13

/// <summary>

/// TODO:先创建行,然后在创建对应的列

/// 创建Excel中指定的行

/// </summary>

/// <param name="sheet">Excel工作表对象</param>

/// <param name="rowNum">创建第几行(从0开始)</param>

/// <param name="rowHeight">行高</param>

public HSSFRow CreateRow(ISheet sheet, int rowNum, float rowHeight)

{

    HSSFRow row = (HSSFRow)sheet.CreateRow(rowNum); //创建行

    row.HeightInPoints = rowHeight; //设置列头行高

    return row;

}

创建行内指定的单元格:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

/// <summary>

/// 创建行内指定的单元格

/// </summary>

/// <param name="row">需要创建单元格的行</param>

/// <param name="cellStyle">单元格样式</param>

/// <param name="cellNum">创建第几个单元格(从0开始)</param>

/// <param name="cellValue">给单元格赋值</param>

/// <returns></returns>

public HSSFCell CreateCells(HSSFRow row, HSSFCellStyle cellStyle, int cellNum, string cellValue)

{

    HSSFCell cell = (HSSFCell)row.CreateCell(cellNum); //创建单元格

    cell.CellStyle = cellStyle; //将样式绑定到单元格

    if (!string.IsNullOrWhiteSpace(cellValue))

    {

        //单元格赋值

        cell.SetCellValue(cellValue);

    }

    return cell;

}

指定合并的行列:  

1

2

3

4

5

6

7

8

9

10

11

//TODO:关于Excel行列单元格合并问题(注意:合并单元格后,只需对第一个位置赋值即可)

/**

  第一个参数:从第几行开始合并

  第二个参数:到第几行结束合并

  第三个参数:从第几列开始合并

  第四个参数:到第几列结束合并

**/

CellRangeAddress region = new CellRangeAddress(0, 0, 0, 5);

sheet.AddMergedRegion(region);

cell.SetCellValue("人才培训课程表");//TODO:顶部标题

设置单元格的列宽:

1

sheet.SetColumnWidth(单元格索引,1000);//设置对应列宽(单元格索引从0开始,后面接宽度)  

六、NPOI生成Excel文档完整代码:

NPOI之Excel数据导出帮助类(创建Excel表格行列,设置行高,设置字体样式,单元格边框样式,单元格背景颜色和样式,单元格内容对齐方式等常用属性和样式封装):

/*** Author:追逐时光* Description:Npoi之Excel数据导出帮助类(创建Excel表格行列,设置行高,设置字体样式,单元格边框样式,单元格背景颜色和样式,单元格内容对齐方式等常用属性和样式封装)* Description:2020年3月29日*/
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.HSSF.Util;namespace YY_Utility
{public class NpoiExcelExportHelper{private static NpoiExcelExportHelper _exportHelper;public static NpoiExcelExportHelper _{get => _exportHelper ?? (_exportHelper = new NpoiExcelExportHelper());set => _exportHelper = value;}/// <summary>/// TODO:先创建行,然后在创建对应的列/// 创建Excel中指定的行/// </summary>/// <param name="sheet">Excel工作表对象</param>/// <param name="rowNum">创建第几行(从0开始)</param>/// <param name="rowHeight">行高</param>public HSSFRow CreateRow(ISheet sheet, int rowNum, float rowHeight){HSSFRow row = (HSSFRow)sheet.CreateRow(rowNum); //创建行row.HeightInPoints = rowHeight; //设置列头行高return row;}/// <summary>/// 创建行内指定的单元格/// </summary>/// <param name="row">需要创建单元格的行</param>/// <param name="cellStyle">单元格样式</param>/// <param name="cellNum">创建第几个单元格(从0开始)</param>/// <param name="cellValue">给单元格赋值</param>/// <returns></returns>public HSSFCell CreateCells(HSSFRow row, HSSFCellStyle cellStyle, int cellNum, string cellValue){HSSFCell cell = (HSSFCell)row.CreateCell(cellNum); //创建单元格cell.CellStyle = cellStyle; //将样式绑定到单元格if (!string.IsNullOrWhiteSpace(cellValue)){//单元格赋值cell.SetCellValue(cellValue);}return cell;}/// <summary>/// 行内单元格常用样式设置/// </summary>/// <param name="workbook">Excel文件对象</param>/// <param name="hAlignment">水平布局方式</param>/// <param name="vAlignment">垂直布局方式</param>/// <param name="fontHeightInPoints">字体大小</param>/// <param name="isAddBorder">是否需要边框</param>/// <param name="boldWeight">字体加粗 (None = 0,Normal = 400,Bold = 700</param>/// <param name="fontName">字体(仿宋,楷体,宋体,微软雅黑...与Excel主题字体相对应)</param>/// <param name="isAddBorderColor">是否增加边框颜色</param>/// <param name="isItalic">是否将文字变为斜体</param>/// <param name="isLineFeed">是否自动换行</param>/// <param name="isAddCellBackground">是否增加单元格背景颜色</param>/// <param name="fillPattern">填充图案样式(FineDots 细点,SolidForeground立体前景,isAddFillPattern=true时存在)</param>/// <param name="cellBackgroundColor">单元格背景颜色(当isAddCellBackground=true时存在)</param>/// <param name="fontColor">字体颜色</param>/// <param name="underlineStyle">下划线样式(无下划线[None],单下划线[Single],双下划线[Double],会计用单下划线[SingleAccounting],会计用双下划线[DoubleAccounting])</param>/// <param name="typeOffset">字体上标下标(普通默认值[None],上标[Sub],下标[Super]),即字体在单元格内的上下偏移量</param>/// <param name="isStrikeout">是否显示删除线</param>/// <returns></returns>public HSSFCellStyle CreateStyle(HSSFWorkbook workbook, HorizontalAlignment hAlignment, VerticalAlignment vAlignment, short fontHeightInPoints, bool isAddBorder, short boldWeight, string fontName = "宋体", bool isAddBorderColor = true, bool isItalic = false, bool isLineFeed = false, bool isAddCellBackground = false, FillPattern fillPattern = FillPattern.NoFill, short cellBackgroundColor = HSSFColor.Yellow.Index, short fontColor = HSSFColor.Black.Index, FontUnderlineType underlineStyle =FontUnderlineType.None, FontSuperScript typeOffset = FontSuperScript.None, bool isStrikeout = false){HSSFCellStyle cellStyle = (HSSFCellStyle)workbook.CreateCellStyle(); //创建列头单元格实例样式cellStyle.Alignment = hAlignment; //水平居中cellStyle.VerticalAlignment = vAlignment; //垂直居中cellStyle.WrapText = isLineFeed;//自动换行//背景颜色,边框颜色,字体颜色都是使用 HSSFColor属性中的对应调色板索引,关于 HSSFColor 颜色索引对照表,详情参考:https://www.cnblogs.com/Brainpan/p/5804167.html//TODO:引用了NPOI后可通过ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillPattern 为单元格背景色的填充样式//TODO:十分注意,要设置单元格背景色必须是FillForegroundColor和FillPattern两个属性同时设置,否则是不会显示背景颜色if (isAddCellBackground){cellStyle.FillForegroundColor = cellBackgroundColor;//单元格背景颜色cellStyle.FillPattern = fillPattern;//填充图案样式(FineDots 细点,SolidForeground立体前景)}//是否增加边框if (isAddBorder){//常用的边框样式 None(没有),Thin(细边框,瘦的),Medium(中等),Dashed(虚线),Dotted(星罗棋布的),Thick(厚的),Double(双倍),Hair(头发)[上右下左顺序设置]cellStyle.BorderBottom = BorderStyle.Thin;cellStyle.BorderRight = BorderStyle.Thin;cellStyle.BorderTop = BorderStyle.Thin;cellStyle.BorderLeft = BorderStyle.Thin;}//是否设置边框颜色if (isAddBorderColor){//边框颜色[上右下左顺序设置]cellStyle.TopBorderColor = HSSFColor.DarkGreen.Index;//DarkGreen(黑绿色)cellStyle.RightBorderColor = HSSFColor.DarkGreen.Index;cellStyle.BottomBorderColor = HSSFColor.DarkGreen.Index;cellStyle.LeftBorderColor = HSSFColor.DarkGreen.Index;}/*** 设置相关字体样式*/var cellStyleFont = (HSSFFont)workbook.CreateFont(); //创建字体//假如字体大小只需要是粗体的话直接使用下面该属性即可//cellStyleFont.IsBold = true;cellStyleFont.Boldweight = boldWeight; //字体加粗cellStyleFont.FontHeightInPoints = fontHeightInPoints; //字体大小cellStyleFont.FontName = fontName;//字体(仿宋,楷体,宋体 )cellStyleFont.Color = fontColor;//设置字体颜色cellStyleFont.IsItalic = isItalic;//是否将文字变为斜体cellStyleFont.Underline = underlineStyle;//字体下划线cellStyleFont.TypeOffset = typeOffset;//字体上标下标cellStyleFont.IsStrikeout = isStrikeout;//是否有删除线cellStyle.SetFont(cellStyleFont); //将字体绑定到样式return cellStyle;}}
}

生成并保存指定的Excel文档内容:

using System;
using System.IO;
using Microsoft.AspNetCore.Hosting;
using NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using YY_Utility;namespace YY_Services
{/// <summary>/// Excel文档生成并保存操作类/// </summary>public class NpoiExcelOperationService{private static IHostingEnvironment _environment;public NpoiExcelOperationService(IHostingEnvironment iEnvironment){_environment = iEnvironment;}/// <summary>/// Excel数据导出简单示例/// </summary>/// <param name="resultMsg">导出结果</param>/// <param name="excelFilePath">保存excel文件路径</param>/// <returns></returns>public bool ExcelDataExport(out string resultMsg, out string excelFilePath){var result = true;excelFilePath = "";resultMsg = "successfully";//Excel导出名称string excelName = "人才培训课程表";try{//首先创建Excel文件对象var workbook = new HSSFWorkbook();//创建工作表,也就是Excel中的sheet,给工作表赋一个名称(Excel底部名称)var sheet = workbook.CreateSheet("人才培训课程表");//sheet.DefaultColumnWidth = 20;//默认列宽sheet.ForceFormulaRecalculation = true;//TODO:是否开始Excel导出后公式仍然有效(非必须)#region table 表格内容设置#region 标题样式//设置顶部大标题样式var cellStyleFont = NpoiExcelExportHelper._.CreateStyle(workbook, HorizontalAlignment.Center, VerticalAlignment.Center, 20, true, 700, "楷体", true, false, false, true, FillPattern.SolidForeground, HSSFColor.Coral.Index, HSSFColor.White.Index,FontUnderlineType.None, FontSuperScript.None, false);//第一行表单var row = NpoiExcelExportHelper._.CreateRow(sheet, 0, 28);var cell = row.CreateCell(0);//合并单元格 例: 第1行到第2行 第3列到第4列围成的矩形区域//TODO:关于Excel行列单元格合并问题/**第一个参数:从第几行开始合并第二个参数:到第几行结束合并第三个参数:从第几列开始合并第四个参数:到第几列结束合并**/CellRangeAddress region = new CellRangeAddress(0, 0, 0, 5);sheet.AddMergedRegion(region);cell.SetCellValue("人才培训课程表");//合并单元格后,只需对第一个位置赋值即可(TODO:顶部标题)cell.CellStyle = cellStyleFont;//二级标题列样式设置var headTopStyle = NpoiExcelExportHelper._.CreateStyle(workbook, HorizontalAlignment.Center, VerticalAlignment.Center, 15, true, 700, "楷体", true, false, false, true, FillPattern.SolidForeground, HSSFColor.Grey25Percent.Index, HSSFColor.Black.Index,FontUnderlineType.None, FontSuperScript.None, false);//表头名称var headerName = new[] { "课程类型", "序号", "日期", "课程名称", "内容概要", "讲师简介" };row = NpoiExcelExportHelper._.CreateRow(sheet, 1, 24);//第二行for (var i = 0; i < headerName.Length; i++){cell = NpoiExcelExportHelper._.CreateCells(row, headTopStyle, i, headerName[i]);//设置单元格宽度if (headerName[i] == "讲师简介" || headerName[i] == "内容概要"){sheet.SetColumnWidth(i, 10000);}else{sheet.SetColumnWidth(i, 5000);}}#endregion#region 单元格内容信息//单元格边框样式var cellStyle = NpoiExcelExportHelper._.CreateStyle(workbook, HorizontalAlignment.Center, VerticalAlignment.Center, 10, true, 400);//左侧列单元格合并 begin//TODO:关于Excel行列单元格合并问题(合并单元格后,只需对第一个位置赋值即可)/**第一个参数:从第几行开始合并第二个参数:到第几行结束合并第三个参数:从第几列开始合并第四个参数:到第几列结束合并**/CellRangeAddress leftOne = new CellRangeAddress(2, 7, 0, 0);sheet.AddMergedRegion(leftOne);CellRangeAddress leftTwo = new CellRangeAddress(8, 11, 0, 0);sheet.AddMergedRegion(leftTwo);//左侧列单元格合并 endvar currentDate = DateTime.Now;string[] curriculumList = new[] { "艺术学", "设计学", "材料学", "美学", "心理学", "中国近代史", "管理人员的情绪修炼", "高效时间管理", "有效的目标管理", "沟通与协调" };int number = 1;for (var i = 0; i < 10; i++){row = NpoiExcelExportHelper._.CreateRow(sheet, i + 2, 20); //sheet.CreateRow(i+2);//在上面表头的基础上创建行switch (number){case 1:cell = NpoiExcelExportHelper._.CreateCells(row, cellStyle, 0, "公共类课程");break;case 7:cell = NpoiExcelExportHelper._.CreateCells(row, cellStyle, 0, "管理类课程");break;}//创建单元格列公众类课程cell = NpoiExcelExportHelper._.CreateCells(row, cellStyle, 1, number.ToString());cell = NpoiExcelExportHelper._.CreateCells(row, cellStyle, 2, currentDate.AddDays(number).ToString("yyyy-MM-dd"));cell = NpoiExcelExportHelper._.CreateCells(row, cellStyle, 3, curriculumList[i]);cell = NpoiExcelExportHelper._.CreateCells(row, cellStyle, 4, "提升,充实,拓展自己综合实力");cell = NpoiExcelExportHelper._.CreateCells(row, cellStyle, 5, "追逐时光_" + number + "号金牌讲师!");number++;}#endregion#endregionstring folder = DateTime.Now.ToString("yyyyMMdd");//保存文件到静态资源文件夹中(wwwroot),使用绝对路径var uploadPath = _environment.WebRootPath + "/UploadFile/" + folder + "/";//excel保存文件名string excelFileName = excelName + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";//创建目录文件夹if (!Directory.Exists(uploadPath)){Directory.CreateDirectory(uploadPath);}//Excel的路径及名称string excelPath = uploadPath + excelFileName;//使用FileStream文件流来写入数据(传入参数为:文件所在路径,对文件的操作方式,对文件内数据的操作)var fileStream = new FileStream(excelPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);//向Excel文件对象写入文件流,生成Excel文件workbook.Write(fileStream);//关闭文件流fileStream.Close();//释放流所占用的资源fileStream.Dispose();//excel文件保存的相对路径,提供前端下载var relativePositioning = "/UploadFile/" + folder + "/" + excelFileName;excelFilePath = relativePositioning;}catch (Exception e){result = false;resultMsg = e.Message;}return result;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/315895.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s的二进制部署(二)网络

节点部署完成之后,节点的状态都是Notready&#xff0c;所以要部署k8s网络&#xff1a; k8s的网络类型&#xff1a; k8s中的通信模式&#xff1a; pod内部之间容器与容器之间的通信。 在同一个pod中的容器共享资源和网络&#xff0c;使用同一个网络命名空间&#xff0c;可以直…

【并发设计模式】聊聊Thread-Per-Message与Worker-Thread模式

在并发编程中&#xff0c;核心就是同步、互斥、分工。 同步是多个线程之间按照一定的顺序进行执行&#xff0c;比如A执行完&#xff0c;B在执行。而互斥是多个线程之间对于共享资源的互斥。两个侧重点不一样&#xff0c;同步关注的是执行顺序&#xff0c;互斥关注的是资源的排…

【vue3】-

创建vue3工程 在终端输入以下命令&#xff0c;根据自己的需求做出相应的选择&#xff1a; 生成的项目文件作用&#xff1a; extensions.json&#xff1a;插件 favicon.ico&#xff1a;页签图标 env.d.ts&#xff1a;ts不认识.css .html .txt .js……文件&#xff0c;这个文件…

微信支付产品种类

前言 微信支付产品共有6种形式&#xff0c;详情可参考 支付产品 支付产品 1. 付款码支付 用户展示微信钱包内的 “付款码”给商家&#xff0c;商家扫描后直接完成支付&#xff0c;适用于线下面对面收银场景。 2. JSAPI 支付 JSAPI 支付是指商户通过调用微信支付提供的接…

Jenkins基础教程

目录 第一章、快速了解Jenkins1.1&#xff09;Jenkins中一些概念介绍1.2&#xff09;Jenkins和maven用途上的区别1.3&#xff09;为什么使用Jenkins1.4&#xff09;学习过程中的疑问 第二章、安装Jenkins2.1&#xff09;安装之前的准备2.2&#xff09;Windows中Jenkins下载安装…

arm64 UAO/PAN 特性对用户空间边界读写的影响(copy_from/to_user)

文章目录 1 UAO/PAN 特性由来2 硬件PAN的支持3 UAO 的支持 1 UAO/PAN 特性由来 linux 内核空间与用户空间通过 copy_from/to_user 进行数据拷贝交换&#xff0c;而不是通过简单的 memcpy/strcpy 进行拷贝复制&#xff0c;原因是安全问题&#xff08;这里不详细展开&#xff09…

小白入门java基础-注解

一&#xff1a;介绍 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。 Java 可运行于多个平台&#xff0c;如 Windows, Mac OS 及其他多种 UNIX 版本的系统。Java语言编写的程序&#xff0c;在一次编译后&#xff0c;可以在多个系统平台上运行。 主…

开关电源输入输出电压测试方法:如何用开关电源智能测试系统测试输入输出电压?

一、用万用表测量输入输出电压 1. 连接万用表到电路中 2. 将万用表调到直流电压挡&#xff0c;连接红表笔到开关电源正极&#xff0c;连接黑表笔到开关电源负极。 3. 打开电源&#xff0c;读取万用表显示的电压值。 二、用示波器测量输入输出电压 1. 连接示波器到电路中 2. 将示…

「Qt Widget中文示例指南」如何实现一个日历?(一)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文中的CalendarWi…

idea插件提示补全代码AI助手阿里通义灵码安装

idea插件提示补全代码AI助手阿里通义灵码安装 tab快捷键可以补全代码 1、 2、 3、 4、 5、

lenovo联想小新Pro-13 2020 Intel IML版笔记本电脑(82DN)原装出厂Win10系统镜像

链接&#xff1a;https://pan.baidu.com/s/1bJpfXudYEC7MJ7qfjDYPdg?pwdjipj 提取码&#xff1a;jipj 原装出厂Windows10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&a…

七功能遥控编解码芯片

一、基本概述 TT6/TR6 是一对为遥控玩具车设计的 CMOS LSI 芯片。TT6 为发射编码芯片&#xff0c;TR6 为接收解码芯片。TT6/TR6 提供七个功能按键控制前进、后退、左转、右转、加速、独立功能 F1,独立功能 F2 的动作。除此以外&#xff0c;还有这五种常规小车功能&#xff08;…