[C#][NPOI系列]搬移数据列和COPY SHEET数据

2024-01-27 12:48

本文主要是介绍[C#][NPOI系列]搬移数据列和COPY SHEET数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通常用NPOI将数据写成EXCEL并导出在前面一些案例中,并不会有太大问题,但是,最近又遇到需要将Excel中某一块

数据或是某一个Row之后的数据中间插入一些空白或是其他值,跟需要把写好数据的Sheet再复制一份出来,基本上这些

透过NPOI都是可以快速达成

搬移数据=插入数据?

这两个我认为其实是相同意思,主要就是在Excel中插入一些列去放入其他数据或是将数据区块分开,例如下图,原本是

连续的数据区块,插入两行空白去区隔数据,当然,除了插入空白数据列外,也是可以在这数据列中去填入一些信息

[] []

原程序代码如下:

DataTable dt = new DataTable();

Data.clsData oo = new Data.clsData();

dt = oo.Getdate1();

HSSFWorkbook hFF = new HSSFWorkbook();

ISheet Sheet = hFF.CreateSheet("Test1");

IRow row1 = Sheet.CreateRow(0);

for (int j = 0; j < dt.Columns.Count; j++)

{

row1.CreateCell(j).SetCellValue("A" + j.ToString());

}

 

for (int i = 0; i < dt.Rows.Count; i++)

{

IRow row = Sheet.CreateRow(i + 1);

for (int j = 0; j < dt.Columns.Count; j++)

{

row.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());

 

}

}

假设先把数据都填完,然后只要透过ShiftRows方法去搬移区块,把某一段数据区块搬移后,其实就等于插入了多少列了,

其使用方法参数如下

[]

主要就是告诉ShiftRow方法,你要搬移区块的起始Row的编号,跟结束Row的编号,这样就可以圈选出一个要被搬移的区块

范围。然后,再给定要ShiftRow数,举例来讲,我需要从第六列数据到最后一笔数据的这区块,全部往下Shift两个Row,其

意思就是插入两个空白Row

Sheet.ShiftRows(6, dt.Rows.Count + 1, 2);

这样就可以达到上面插入两个Row效果。若是,中间连续数据集插入其他信息也可以这样做

Sheet.ShiftRows(6, dt.Rows.Count + 1, 2);

row = Sheet.CreateRow(6);

row.CreateCell(0).SetCellValue("我是空白列");

这样就把信息放到这里面了

[]

Copy Sheet

透过NPOI也可以将原本Sheet数据复制出一个Sheet来。通常这样做法在于统计数据或是相关数据变换计算用,只需要将

原本数据变更部分信息看整个统计信息有无太大变异。若是还要重新长一次Sheet也太耗工,不如就将原本Sheet信息复制

一份后,再针对部分需要修正资料进行修正就可以

[]

1.首先,先取得你要CopySheet资料

HSSFWorkbook hFF = new HSSFWorkbook();

HSSFSheet CPS = hFF.GetSheetAt(0) as HSSFSheet;

2.透过CopyTo方法,将取到的Sheet信息进行Copy,在复制部分,可以选择要复制的方式,例如只要把值复制就好,还是连

每个CELL内公式都要复制或是格式是否要复制。

[]

CPS.CopyTo(hFF, "Copy Sheet", true, true);

一行简单程序代码就可以达到Sheet复制功能

这篇关于[C#][NPOI系列]搬移数据列和COPY SHEET数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/650294

相关文章

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

C#中DrawCurve的用法小结

《C#中DrawCurve的用法小结》本文主要介绍了C#中DrawCurve的用法小结,通常用于绘制一条平滑的曲线通过一系列给定的点,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 如何使用 DrawCurve 方法(不带弯曲程度)2. 如何使用 DrawCurve 方法(带弯曲程度)3.使用Dr

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA