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

使用NPOI自定义导出excel文件

说明

1、自定义列名,将从数据库查询到的数据赋值到对应的单元格上。
2、excel文件默认导出到桌面。
3、支持进度条显示。

界面

在这里插入图片描述

功能实现

 public void TaskTest(){Task task = new Task(ExportExcel);task.Start(); }
/// <summary>/// 查询数据/// </summary>/// <returns></returns>public DataTable GetResource(){using (MySqlConnection conn=new MySqlConnection(mysqlConn)){conn.Open();string sql = string.Format(@"select device_level,device_id,device_name,bay_id,bay_name,main_device_id,main_device_name from MasterDevices LIMIT 0,100");DataTable dt = MySqlHelper.ExecuteDataset(conn, sql).Tables[0];return dt;}}
 /// <summary>/// 导出excel/// </summary>public void ExportExcel(){//1:代码创建一个Excel表格(这里称为工作簿)//创建Excel文件的对象 工作簿(调用NPOI文件)HSSFWorkbook excelBook = new HSSFWorkbook();ICellStyle style = excelBook.CreateCellStyle();//创建Excel工作表ISheet sheet = excelBook.CreateSheet("测试表");//创建行对象,填充表头IRow row = sheet.CreateRow(0);//获取数据源DataTable dt = GetResource();//设置进度条progressBar.Maximum = dt.Rows.Count;foreach (DataColumn column in dt.Columns){row.CreateCell(0).SetCellValue("级别");row.CreateCell(1).SetCellValue("设备点位编号");row.CreateCell(2).SetCellValue("设备点位名称");row.CreateCell(3).SetCellValue("间隔编号");row.CreateCell(4).SetCellValue("间隔名称");row.CreateCell(5).SetCellValue("主设备编号");row.CreateCell(6).SetCellValue("主设备名称");}//填充内容for (int i = 0; i < dt.Rows.Count; i++){//设置进度条的值progressBar.Value = i+1;row = sheet.CreateRow(i + 1);for (int j = 1; j <= dt.Columns.Count; j++){row.CreateCell(j - 1).SetCellValue(dt.Rows[i][j-1].ToString());sheet.AutoSizeColumn(j);}}//写入文件string DesktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);FileStream xlsfile = new FileStream(DesktopPath + @"\测试Excel" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls", FileMode.Create);excelBook.Write(xlsfile);xlsfile.Close();MessageBox.Show("Excel文件已导出到桌面", "提示");}

具体效果

在这里插入图片描述
在这里插入图片描述

相关文章:

使用NPOI自定义导出excel文件

说明 1、自定义列名&#xff0c;将从数据库查询到的数据赋值到对应的单元格上。 2、excel文件默认导出到桌面。 3、支持进度条显示。 界面 功能实现 public void TaskTest(){Task task new Task(ExportExcel);task.Start(); }/// <summary>/// 查询数据/// </summa…...

基于vue2 的 vueDraggable 示例,包括组件区、组件放置区、组件参数设置区 在同一个文件中实现

为了在Vue 2中实现一个包含组件区、组件放置区以及组件参数设置区的界面&#xff0c;我们可以使用vue-draggable库来处理拖拽功能&#xff0c;并结合其他UI组件库如Element UI来构建界面。下面是一个基本的示例&#xff0c;展示如何实现这样的布局。 第一步&#xff1a;安装必…...

使用rknn进行facenet部署

文章目录 开源仓库pth转onnxnetron可视化onnx转rknnC++实现开源仓库 https://github.com/bubbliiiing/facenet-pytorch pth转onnx 修改facenet网络的forward函数代码 修改前 def forward(self, x, mode = "predict"):if mode ==...

#渗透测试#批量漏洞挖掘#29网课交单平台 SQL注入

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 1. 漏洞原理 2. 漏洞定位 3. 攻击验证示…...

百问网imx6ullpro调试记录(linux+qt)

调试记录 文章目录 调试记录进展1.开发板相关1.1百问网乌班图密码 1.2 换设备开发环境搭建串口调试网络互通nfs文件系统挂载 1.3网络问题1.4系统启动1.5进程操作 2.QT2.1tslib1.获取源码2.安装依赖文件3.编译 2.2qt移植1.获取qt源码2.配置编译器3.编译 2.3拷贝到开发板1.拷贝2.…...

【python】3_容器

目录 一、列表 list 1.1基本语法 1.2 常用操作方法 1.3 列表的遍历 二、元组 tuple 特点&#xff1a; 三、字符串 常用操作方法&#xff1a; 四、序列 操作方法&#xff1a;切片 五、元素 特点&#xff1a; 基本语法&#xff1a; 集合常用功能&#xff1a; 六、字…...

数据结构与算法:动态规划dp:背包问题:理论基础(状态压缩/滚动数组)和相关力扣题(416. 分割等和子集、1049.最后一块石头的重量Ⅱ、494.目标和)

背包问题 01背包理论基础 对于01背包问题&#xff0c;物品下标为0到i&#xff0c;对应的重量为weight[0]到weight[i]&#xff0c;价值为value[0]到value[i]&#xff0c;每个物品只可以取或不取&#xff0c;背包最大容量为j的场景。 常见的状态转移方程如下&#xff1a; dp[i…...

数字游牧时代:IT人力外包的范式革命与文明重构

当英国工业革命时期的企业主们将生产环节外包给家庭作坊时&#xff0c;他们不会想到这种生产组织方式会演变为21世纪最复杂的商业形态。IT人力外包行业在经历三十年爆炸式增长后&#xff0c;正在经历一场静默的范式革命。这场革命不仅重构着全球IT产业链的拓扑结构&#xff0c;…...

Qt - 地图相关 —— 3、Qt调用高德在线地图功能示例(附源码)

效果 作者其他相关文章链接:           Qt - 地图相关 —— 1、加载百度在线地图(附源码)           Qt - 地图相关 —— 2、Qt调用百度在线地图功能示例全集,包含线路规划、地铁线路查询等(附源码)           Qt - 地图相关 —— 3、Qt调用…...

cloudberry测试

一、引言 在当今大数据和 AI 飞速发展的时代&#xff0c;数据如同企业的核心资产&#xff0c;其价值不言而喻。数据库作为数据存储、管理和处理的关键工具&#xff0c;更是成为了各个领域的技术基石。无论是金融行业的交易记录处理&#xff0c;还是医疗领域的患者信息管理&…...

RocketMQ、RabbitMQ、Kafka 的底层实现、功能异同、应用场景及技术选型分析

1️⃣ 引言 在现代分布式系统架构中&#xff0c;&#x1f4e9;消息队列&#xff08;MQ&#xff09;是不可或缺的组件。它在系统&#x1f517;解耦、&#x1f4c9;流量削峰、⏳异步处理等方面发挥着重要作用。目前&#xff0c;主流的消息队列系统包括 &#x1f680;RocketMQ、&…...

UWB功耗大数据插桩调研

一、摘要 UWB功耗点 插桩点 日志关键字 电流 蓝牙持锁 BatteryStats的锁统计 vendor_bluetooth_lock 30~40mA 测距 UwbSessionManager.startRanging UwbSessionManager.stoptRanging 或接入fadiKey Uwb状态广播 "com.fadiui.dkservice.action.uwb.state.change&q…...

郭羽冲IOI2024参赛总结

非常荣幸能代表中国参加第 36 36 36 届国际信息学奥林匹克竞赛&#xff08; I O I 2024 IOI2024 IOI2024&#xff09;。感谢 C C F CCF CCF 为我们提供竞赛的平台&#xff0c;感谢随行的老师们一路上为我们提供的帮助与支持。 在每场比赛的前一个晚上&#xff0c;领队、副领…...

03:Spring之Web

一&#xff1a;Spring整合web环境 1&#xff1a;web的三大组件 Servlet&#xff1a;核心组件&#xff0c;负责处理请求和生成响应。 Filter&#xff1a;用于请求和响应的预处理和后处理&#xff0c;增强功能。 Listener&#xff1a;用于监听 Web 应用中的事件&#xff0c;实…...

lx-music落雪音乐-开源免费听歌软件[提供最新音源使用, 支持全网平台, 支持无损音乐下载]

lx-music_落雪音乐 链接&#xff1a;https://pan.xunlei.com/s/VOIpEt1xqf0un-vEQilidhjIA1?pwdgcux#...

129,【2】buuctf [BJDCTF2020]EzPHP

进入靶场 查看源代码 看到红框就知道对了 她下面那句话是编码后的&#xff0c;解码 1nD3x.php <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;通常用于调试和展示代码结构 highlight_file(__FILE__); // 设置错误报告级别为 0&#xff0c;即不显示任何 PHP 错误信息…...

Python 面向对象(类,对象,方法,属性,魔术方法)

前言&#xff1a;在讲面向对象之前&#xff0c;我们先将面向过程和面向对象进行一个简单的分析比较&#xff0c;这样我们可以更好的理解与区分&#xff0c;然后我们在详细的讲解面向对象的优势。 面向过程&#xff08;Procedure-Oriented Programming&#xff0c;POP&#xff0…...

C语言之扫雷

C语言之扫雷 game.hgame.ctest.c 参考 https://blog.csdn.net/m0_62391199/article/details/124694375 game.h #pragma once #include <stdio.h> #include <time.h> #include <stdlib.h>#define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2#de…...

半导体制造工艺讲解

目录 一、半导体制造工艺的概述 二、单晶硅片的制造 1.单晶硅的制造 2.晶棒的切割、研磨 3.晶棒的切片、倒角和打磨 4.晶圆的检测和清洗 三、晶圆制造 1.氧化与涂胶 2.光刻与显影 3.刻蚀与脱胶 4.掺杂与退火 5.薄膜沉积、金属化和晶圆减薄 6.MOSFET在晶圆表面的形…...

Ollama+DeepSeek R1+AnythingLLM训练自己的AI智能助手

1.下载Ollama安装 1.1.安装Ollama Ollama官网&#xff1a;Ollama 下载Ollama,点击“Download”按钮。 根据电脑操作系统&#xff0c;下载合适的版本即可。 下载完成后点击安装&#xff0c;完成后安装窗口会自动关闭&#xff0c;你的系统托盘图标会出现一个Ollama图标。 1.2.…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...

Django RBAC项目后端实战 - 03 DRF权限控制实现

项目背景 在上一篇文章中&#xff0c;我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统&#xff0c;为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...