C#数据导入到EXCEL的方法
作者:chenqiangdage 发布时间:2023-01-16 02:27:26
标签:c#,数据导入,excel
c#做公司的应用级开发时,导出数据这个是经常要做的,公司使用的是一个叫NPOI的组件。具体是什么我就不很清楚,反正这样用就是了。
具体的dll是一个叫:NPOI.HSSF.dll,引入这个dll,这个dll提供HSSFWorkbook类 HSSFSheet类HSSFRow类;
具体实现方式直接看代码吧:
public static Stream DataSetToExcel(DataSet _SourceDt,string _sheetName)
{
HSSFWorkbook workbook = new HSSFWorkbook();
MemoryStream MS = new MemoryStream();
string [] sheetNames= _sheetName.Split(',');
for(int i = 0; i <sheetNames.Length;i++)
{
HSSFSheet sheet = workbook.Cretesheet(sheetNames[i]);
HSSFRow headRow = sheet.CreateRow(0);
foreach(DataColumn column in _SourceDt.Table[i].cloumns)
headRow.createCell(column.Ordinal).SetCellValue(column.Column.Name);
int rowIndex =1;
foreach(DataRow row in _SourceDt.Tables[i].Rows)
{
HSSFRow dataRow = sheet.CreateRow(rowIndex);
foreach(DataColumn column in _SourceDt.Tables[i].Columns)
{
dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
}
rowIndex++;
}
}
workbook.write(MS);
MS.Flush();
MS.Position = 0;
workbook = null;
return MS;
}
主要是要构建一个数据来源的DataSet ;还是直接上代码吧:
DataTable dt = new DataTable();
DataSet DataTemp = new DataSet();
dt.Columns.Add("列名1",string);
dt.Columns.Add("列名2",string );
for(int i = 0;i<3;i++)
{
DataRow DR = dt.NewRow();
DR["列名1"] = "DATA1";
DR["列名2"] = "DATA1";
dt.Rows.Add(DR);
}
DataTemp.Tables.Add(dt);
DATA1和DATA2就是你要导出的数据了。
以上不是开发的源代码,只是方法。仅供参考;
来源:https://blog.csdn.net/chenqiangdage/article/details/19576391
0
投稿
猜你喜欢
- 相关文章:Java使用POI导出Excel(一):单sheetJava使用POI导出Excel(二):多个sheet相信在大部分的web项目
- 条码的应用已深入生活和工作的方方面面。在处理条码时,常需要和各种文档格式相结合。当需要在文档中插入、编辑或者删除条码时,可借助于一些专业的类
- Mybatis typeAlias配置1.定义别名<typeAliases> <ty
- Android 中解决Viewpage调用notifyDataSetChanged()时界面无刷新的问题问题描述相信很多做过Viewpage
- 一、多表联合分页查询1.多表联合查询结果集建议使用VO类,当然也可以使用resultMappackage com.cjhx.tzld.ent
- 观察者模式:对象间的一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象(被观察)。 以便一个对象的状态发生变化时,所有
- //测试StringBuilder的运行效率 publi
- 本文实例为大家分享了Android登录邮箱自动补全功能的实现方法,供大家参考,具体内容如下效果:实现原理:1、继承重写简单控件AutoCom
- config.json 文件内容如下{"Data": {"DefaultConnection": {
- Java身份证验证方法实例详解身份证号码验证 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右
- 属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变。本文就以实例形式分析了C#中属性的应用。具体入戏:
- 本文导读中秋节是中国民间的传统节日,中秋节源自天象崇拜由上古时代秋夕祭月演变而来。中秋节自古便有祭月、赏月、吃月饼等民俗,流传至今,经久不息
- 先上效果图: 工具类在解析的过程中,我们会和byte做各种运算,所以我定义了一个byte工具类ByteUtils:using Sy
- spring validation多层对象校验1、第一层对象定义import java.io.Serializable; import ja
- Collection遍历方式Collection集合遍历的方式有三种:迭代器foreach/增强for循环lambda表达式迭代器遍历迭代器
- 本文实例讲述了Java基于分治算法实现的棋盘覆盖问题。分享给大家供大家参考,具体如下:在一个2^k * 2^k个方格组成的棋盘中,有一个方格
- 引言在平时的工作中多多少少都会接触到注册中心,当你的应用从单机到拆分成多个服务,每个服务又有多个实例的情况时,那么对服务IP地址管理的要求就
- java 获取字节码文件的几种方法总结在本文中,以Person类为例,将分别演示获取该类字节码文件的三种方式,其具体思想及代码如下所示:pu
- 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。 在下面的描述中,将以&
- 简介FTP 简介FTP 即 文件传输协议(英语:File Transfer Protocol 的缩写)是一个用于计算机网络上在客户端和服务器