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


猜你喜欢
- 1. 添加maven依赖包<dependency> <groupId>org.apache.calcit
- Android的控件有很多种,其中就有一个Spinner的控件,这个控件其实就是一个下拉显示列表。Spinner是位于 andr
- 1. 概述将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。2. 解决的问题当希望忽
- 本文实例为大家分享了java读取excel文件的具体代码,供大家参考,具体内容如下方式一:借用package com.ij34.util;/
- 本文实例讲述了C#实现String类型和json之间的相互转换功能。分享给大家供大家参考,具体如下:////Donet2.0 需要添加引用/
- 本文实例为大家分享了android实现倒计时动态圈的具体代码,供大家参考,具体内容如下效果是这样,没动图:布局:<LinearLayo
- 概述在本文章中,我们对如何在 Java 中对 Array 和 List 进行转换进行一些说明和示例。这些示例通过使用 Core Java 和
- 各位小伙伴们大家早上好,不知道你的《第三行代码》已经读到哪里了?有些朋友的阅读速度真是令人印象深刻,我记得在《第三行代码》刚刚发售一周不到的
- 先给出网页地址:https://wall.alphacoders.com/featured.php?lang=Chinese主要步骤:利用J
- 自从使用 HttpClient 和 Jsoup 配合编写了几个简单的入门爬虫之后,发现对于绝对路径的需求是很频繁的,因为大部分的网页都写相对
- 摘要:本文介绍Linq查询基本操作(查询关键字)- from 子句- where 子句- select子句- group 子句- into
- 学习编程语言最重要的就是实践。很多小伙伴在学习完编程语言后,一直停留在基础阶段,只懂一大堆理论知识,而不懂得实践。那么,今天我们一起来动手做
- instanceof关键字的使用1. 语法格式x instanceof A:检验x是否为类A的对象,返回值为boolean类型,如果是,返回
- 以前一直使用Hibernate,基本上没用过Mybatis,工作中需要做映射关系,简单的了解下Mybatis的映射。两者相差不多都支持一对一
- 1.object:匿名内部类在Android最常用的匿名内部类之一就是点击事件,用Java语言写的话就是下面这样:public interf
- 本文实例讲述了Android AutoCompleteTextView控件基本用法。分享给大家供大家参考,具体如下:当输入部分内容之后会有相
- Android 3.0引入了CursorLoader实现异步加载数据,为了避免同步查询数据库时阻塞UI线程的问题。在API 11之前可以通过
- 1.定义每一个函数都占用一段内存单元,它们有一个起始地址,指向函数入口地址的指针称为函数指针。2.语法指向函数的指针变量的一般定义形式为:数
- 获取方法的相关信息的两种形式反射是一种允许用户获得类信息的C#功能,Type对象映射它代表的底层对象;在.Net 中, 一旦获得了Type对
- Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI.解释: 当应用程序启动时,Android首先会开启一个主线程