NPOI dataTable分sheet页导出excel

c# npoi 写入现有的EXCEL指定SHEET 这边是我模仿写的一个小工具类 实现了将datatable 写入到EXCEL指定的SHEET 指定的行 中 , 背景是 由于一开始引用了using Microsoft.Office.Interop.Excel; 类库导致客户在没有装office环境的电脑上时候 所以改用了更通用的NPOI进行EXCEL的使用 /// <summary> /// ... 阅读详情

不多了,直接贴代码

    public static bool GridToExcels(List<DataTable> dts, string strExcelFileName, int indexType)
        {
            bool BSave = false;
            try
            {


                HSSFWorkbook workbook = new HSSFWorkbook();
                foreach (DataTable dt in dts ) {
                    ISheet sheet = workbook.CreateSheet(dt.TableName);
                    ICellStyle HeadercellStyle = workbook.CreateCellStyle();
                    HeadercellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
                    HeadercellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
                    HeadercellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
                    HeadercellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
                    HeadercellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
                    //字体
                    NPOI.SS.UserModel.IFont headerfont = workbook.CreateFont();
                    headerfont.Boldweight = (short)FontBoldWeight.Bold;
                    HeadercellStyle.SetFont(headerfont);


                    //用column name 作为列名
                    int icolIndex = 0;
                    IRow headerRow = sheet.CreateRow(0);
                    foreach (DataColumn item in dt.Columns)
                    {
                        ICell cell = headerRow.CreateCell(icolIndex);
                        cell.SetCellValue(item.ColumnName);
                        cell.CellStyle = HeadercellStyle;
                        icolIndex++;
                    }


                    ICellStyle cellStyle = workbook.CreateCellStyle();
                    //为避免日期格式被Excel自动替换,所以设定 format 为 『@』 表示一率当成text来看
                    cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("@");
                    cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
                    cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
                    cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
                    cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
                    NPOI.SS.UserModel.IFont cellfont = workbook.CreateFont();
                    cellfont.Boldweight = (short)FontBoldWeight.Normal;
                    cellStyle.SetFont(cellfont);
                    if (indexType == 1)
                    {
                        //建立内容行
                        int iRowIndex = 1;
                        int iCellIndex = 0;
                        foreach (DataRow Rowitem in dt.Rows)
                        {
                            IRow DataRow = sheet.CreateRow(iRowIndex);
                            foreach (DataColumn Colitem in dt.Columns)
                            {


                                ICell cell = DataRow.CreateCell(iCellIndex);
                                cell.SetCellValue(Rowitem[Colitem].ToString());
                                cell.CellStyle = cellStyle;
                                iCellIndex++;
                            }
                            iCellIndex = 0;
                            iRowIndex++;
                        }
                        //自适应列宽
                        for (int i = 0; i < icolIndex; i++)
                        {
                            sheet.AutoSizeColumn(i);
                        }
                    }
              
                }
                FileStream file = new FileStream(strExcelFileName, FileMode.OpenOrCreate);
                workbook.Write(file);
                file.Flush();
                file.Close();
                BSave = true;


            }
            catch (Exception ex)
            {
                
          
            }


            return BSave;
        }

NPOI读写Excel NPOI读写Excel 1、整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet;行:Row;单元格Cell。 2、NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 3、POI读取Excel有两种格式一个是HSSF,另一个是XSSF。 HSSF和XSSF的区别如下: HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XS 阅读详情

相关推荐

C#开源组件NPOI处理Excel导入DataTable数据至Sheet

作为C#处理Excel的强大的开源组件,NPOI具有Office Excel的绝大部分功能,与收费的Spire比虽有不足,但对于一般性的处理来说还是基本够用,这也是NPOI至今仍作为众多C#堆码人员的选择的原因。 收费软件能够提供更多的功能给用户,这也是它的卖点。Spire的DataTable数据导入,就是NPOI所不具备的,而导入DataTable数据,对于C#来说是经常遇到的,所以NPOI用起来虽然也能够想办法处理,却没有那么方便。 下面的代码,仿照Spire的DataTable数据导入,提供大家一

老瓷叙谈 535

NPOI导出EXCEL数据量大,分多个sheet显示数据

目录 1. 认识NPOI 2. 使用NPOI生成xls文件 2.1 创建基本内容 2.1.1 创建Workbook和Sheet 2.1.2 创建DocumentSummaryInformation和SummaryInformation 2.1.3 创建单元格 2.1.5 创建批注 2.1.6 创建页眉和页脚 2.2 单元格操作 2.2.1 设置格式 2.2.2 合并单

太阳雨 3249

c# NPOI 导出数据到Excel(简单版)

提示:NPOI 导出数据到Excel /// <summary> /// 导出数据到Excel /// </summary> /// <param name="dataTable">dataTable数据</param> /// <param name="name">导出Excel表名称</param> /// <returns&g.

weixin_53522517的博客 689

c#导出数据至excel模板中,可分页

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; using System.Reflection; using System.Data; using System.Diagnostics; using

skyQQ的专栏 3871

C# winform 导出datatable到excel的多个sheet

使用C#实现了将多个datatable中的内容导出到 一个excel文件的不同的sheet页,每个sheet页对应一个datatable。代码中的datatable是程序中添加的内容,从数据库中导出数据到excel的话只需要将数据表内容写入datatable即可。

C# NPOI导出多个Sheet页的Excel

C# 用NPOI导出多个sheet页的Excel,sheet页名称可以自定义

C# NPOI导出多个sheet页的Excel方法

try { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Excel文件|*.xlsx"; saveFileDialog.FilterIndex = 2; saveFileDialog.RestoreDirectory = true; ...

csj1314520的博客 2370

npoi导出excel分页功能

private void ToExcel(HttpContext context, string TempletFileName//模版文件, string ReportFileName//导出文件, DataTable dt2) { //模板文件 //string TempletFileName = context.Server.MapPath(TempletFileName); //导出文件 //string ReportFileName = context.Server.MapPath("out.xls"); FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read); HSSFWorkbook hssfworkbook = new HSSFWorkbook(file); //XSSFWorkbook hssfworkbook = new XSSFWorkbook(file); //HSSFSheet ws = (HSSFSheet)hssfworkbook.GetSheetAt(0);//GetSheet("Sheet1"); HSSFSheet ws2 = null; int rowsCount = dt2.Rows.Count; int columnCount = dt2.Columns.Count; int num = 60000; int row = 0; if (rowsCount > 0) { int sheetCount = rowsCount > num ? (int)Math.Ceiling((double)(rowsCount / num)) : 0; for (int i = 0; i rowsCount - (num * i) ? rowsCount : (i + 1) * num; NPOI.SS.UserModel.IRow row1 = null; for (int j = strRows; j < endRows; j++) { row++; int m = 0; if (i == 0) { m = 4; } row1 = ws2.CreateRow(row + m); row1.HeightInPoints = 25;//行高 for (int k = 0; k < columnCount; k++) { ICell cell = row1.CreateCell(k); cell.SetCellValue(dt2.Rows[j][k].ToString()); cell.CellStyle.Alignment = HorizontalAlignment.Center; } } row = 0; ws2.ForceFormulaRecalculation = true; using (FileStream fs = new FileStream(ReportFileName, FileMode.Append, FileAccess.Write)) { hssfworkbook.Write(fs); } } }

C#web 中Npoi实现多个DataTable的数据导出同一个Excel,多个Sheet

Npoi优势 在开发过程中,我们免不了要接触数据导入导出,但大家想必一开始想到的是IO流方法实现此功能 那么为什么要使用Npoi呢?跟大家讲点题外话。。。其实导出功能大家大可使用IO流方法,会比较简单 大家会使用Npoi或是Poi 大部分人都是使用他的导入功能, 因为他不需要在服务器上安装office以免版权问题,而且使用起来比Office PIA的API更加方便,更人性化。 其实优点...

qq_41725183的博客 3195

content-pipeline:一条可落地的内容生产流水线

content-pipeline 是一种将内容创作工程化的系统性方法,其核心在于用确定性流程替代碎片化人工操作。它基于结构化提示(prompt)、预置叙事框架与品牌参数固化三大原理,实现从素材输入到多平台发布的端到端自动化。技术价值体现在显著降低认知负荷、保障输出一致性、支持本地化资源绑定与闭环反馈校验。典型应用场景包括技术教程批量生成、跨平台(公众号/小红书/即刻)内容适配、AI写作质量可控迭代等。本文深入解析其作为‘内容制造业’基础设施的底层设计逻辑与实操路径,尤其聚焦Claude Code环境下的真实

weixin_31199559的博客 269

SOC设计必看!Tessent DRC检查中最容易踩的5个坑(附解决方案)

本文针对SOC设计中Tessent DRC检查的常见问题,详细分析了5个最易忽视的陷阱,包括时钟域交叉、扫描链虚连、多电压域规则等,并提供专业解决方案。特别针对芯片设计中的DFT验证难点,分享了经过验证的调试方法和Tessent工具使用技巧,帮助工程师提升DRC检查效率。

weixin_29280657的博客 496

C# NPOI大数据量导出多个sheet的Excel

NPOI早期版本导出Excel版本是2003 excel,一个sheet最多存储65536条记录,超过报错,后期版本可以导出2007 excel,但为了兼容2003,一般我们选择导出2003 excel。解决办法是将数据分多个sheet导出,以下为核心代码。 我这里用的是NPOI_1.2.4.0,大家可以去网上下载。 using NPOI.SS.UserModel; ...

taoerchun的专栏 4808

BGE-Reranker-v2-M3介绍

重排序模型介绍

吉米_王 5892

NPOI导出Excel的多个sheet

public static bool GridToExcels(List&lt;DataTable&gt; dts, string strExcelFileName, int indexType)         {             bool BSave = false;             try             {                 HSSFWorkbook ...

炫爱小七的博客 1944

AI Agent Harness Engineering 创业PMF验证工具:用户满意度+留存率+业务指标监测表

在AI Agent创业的浪潮中,我们看到了无数产品如雨后春笋般涌现,但最终能够真正找到PMF并存活下来的却寥寥无几。根据CB Insights的数据,创业公司失败的首要原因(占42%)是"没有市场需求"——换句话说,就是没有找到PMF。AI Agent产品由于其特殊性(交互范式的变革、技术复杂度高、用户期望管理困难等),PMF验证变得更加具有挑战性。传统的SaaS产品PMF验证框架虽然有参考价值,但无法完全适用于AI Agent这种新型产品形态。

AI智能探索者的博客 331

VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程

关于VSCode上搭建C/C++开发环境的内容,到这里就结束了,这里博主感叹一下,VSCode真的挺强大的,作为一个编辑器,可以通过和编译器链接成为开发环境,将环境配置好的话,在这上面写代码似乎也是个不错的选择。大家有任何疑问,欢迎在评论区中提出,本篇博客有任何问题和错误也欢迎来和博主讨论,真心希望能和大家一起进步。最后,如果本篇博客对你有帮助的话,能不能给博主一个三连啊!

2303_79329831的博客 8万+

NPOI导出多行表头、多个Sheet页

说明:提供多行表头、多个Sheet页的帮助类,支持每个表头合并单元格,当然单行表头、单个Sheet也可以用此方法。

qq_24428069的博客 820

Carla中如何渲染opendrive车道线和车道标识(全网独家,附代码)

carla是可以单独加载opendrive并渲染路面的,但是无法把车道线渲染出来,这是一个大坑,因为没有车道线就无法给感知输入。楼主已经实现,直接渲染车道线或者带PBR贴图的车道标识。实现起来非常简单,但必须对carla源码以及ue的开发足够了解。在carla源码中有一个很重要的类opendrivegenerator,它是关于opendrive渲染的全部方法,但是你是找不到它实例化的地方的,因为它被定义在蓝图关卡中。网上包括carla官方关于carla源码的分析少之又少,楼主将自己的经验写出来供大家参考。

u013998156的博客 1090

mvc npoi导出excel ajax,ASP.Net MVC利用NPOI导入导出Excel

因近期项目遇到所以记录一下:首先导出Excel:首先引用NPOI包http://pan.baidu.com/s/1i3Fosux(Action一定要用FileResult)/// /// 批量导出本校第一批派位学生/// /// public FileResult ExportStu2(){string schoolname = "";//创建Excel文件的对象NPOI.HSSF.UserMod...

weixin_35394437的博客 2812

基于STM32、HAL库的MCP4013T-103E/CH 数字电位器驱动程序设计

define MCP4013_I2C_ADDR (0x5F << 1) // HAL库使用7位地址左移1位,或直接使用0xBE/0xBF。#include "i2c.h" // 包含你的I2C初始化相关的头文件,例如由CubeMX生成的 i2c.h。大于127的值会被截断。// MCP4013的读操作:主机发起读取请求,从机返回当前滑片位置的一个字节。// 使用HAL_I2C_Master_Transmit直接发送数据。// 使用HAL_I2C_Master_Receive读取一个字节。

corlin6688的博客 126

华为OD新系统机试真题 - 获取大写字母瓷砖拼出独特图案数量

华为OD机试新系统真题【获取大写字母瓷砖拼出独特图案数量】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统四月二十九号机试真题【获取大写字母瓷砖拼出独特图案数量】

qq_45776114的博客 1218

WinForm数据导出性能优化:从原生Excel组件到NPOI的深度实践

前些日子做了一个简单的winform程序,需要导出的功能,刚开始省事直接使用微软的组件,但是导出之后发现效率极其低下,绝对像web那样使用npoi组件,因此简单的进行了整理,包括直接根据DataTable导出excel及DataGridview导出excel,版本是1.2.4,下面贴下主要代码两种方式,1、NPOI导出excel、 2、普通的导出excel下面贴下主要代码:NPOI导出/// <su

德仔 3325

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

根据NPOI 读取一个excel 文件的多个Sheet

大家都知道NPOI组件可以在你本地没有安装office的情况下来 读取,创建excel文件。但是大家一般都是只默认读取一个excel文件的第一个sheet。那么如果要读取一个excel 的所有sheet 要怎么做呢? 下面就来告诉大家如何操作NPOI 读取excel 的所有sheet。 首先我们先讲解操作excel 单独创建的一个类,我命名为EXECLHELP using NPOI.H...

weixin_30725315的博客 988

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

c# 根据NPOI 读取一个excel 文件的多个Sheet

大家都知道NPOI组件可以在你本地没有安装office的情况下来 读取,创建excel文件。但是大家一般都是只默认读取一个excel文件的c#教程第一个sheet。那么如果要读取一个excel 的所有sheet 要怎么做呢? 下面就来告诉大家如何操作NPOI 读取excel 的所有sheet。 首先我们先讲解操作excel 单独创建的一个类,我命名为 EXECLHELP using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.U

chinaherolts2008的博客 3945

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

C#使用NPOI实现Excel的导入导出功能

C#使用NPOI实现Excel的导入导出功能Excel导入新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 Excel导入 private void button_Excel_Click(object sender, Eve

qq_48591625的博客 1441

NPOI导出excel实例

1.Excel实体类,根据实际情况修改,我的需求中要求导出多个sheet页,含多级表头; /// &lt;summary&gt; /// Excel表头实体类 /// &lt;/summary&gt; public class ExcelClass { /// &lt;summary&gt; /// 内容 /// ...

qq_38413756的博客 779
下一篇: 根据图片URL批量压缩导出到客户端
Version_j
博客等级 码龄10年 10粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值