NPOI 导出Excel部分
if (this.testDataSet1.TestTable.Rows.Count <= )
{
MessageBox.Show("没有找到相关的数据!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
DialogResult isOK = new DialogResult();
IWorkbook workbook = null;
ISheet sheet = null; //导出文件对话框
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = "Excel 2003兼容格式|*.xls|Excel 2007文件格式|*.xlsx"; //设置文件过滤器
saveFile.FileName = dateTimePicker2.Value.ToString("yyyy-MM-dd") + "至" + dateTimePicker3.Value.ToString("yyyy-MM-dd") + "统计表";
isOK = saveFile.ShowDialog();
if (isOK != DialogResult.OK || String.IsNullOrEmpty(saveFile.FileName))
{
return;
}
else
{
try
{
int rowIndex = ; //行号
workbook = CreateIWorkBook(@saveFile.FileName.ToString()); //创建Excel
FileStream fs = new FileStream(saveFile.FileName, FileMode.OpenOrCreate); //创建文件流打开或创建
sheet = workbook.CreateSheet("Sheet1"); //创建sheet
IRow row = null;
ICell cell = null;
//从数据集中读数据
int rowCount = testDataSet1.TestTable.Rows.Count; //rowCount 行数
int colCount = ;//colCount 列数
//创建表头
string[] header = { "单号", "名称", "日期", "金额", "实付金额", "销款金额", "付款方式", "银行", "单据类型", "单据号码", "备注" }; //列名
string[] col = { "DanHao", "MingCheng", "RiQi", "JinE", "ShiFu", "XiaoKuan", "FangShi", "YinHang", "LeiXing", "DanJuHao", "BeiZhu" }; //数据集列
row = sheet.CreateRow(rowIndex);
cell = row.CreateCell();
cell.SetCellValue("Excel文件名");
row = sheet.CreateRow(++rowIndex); //rowIndex = 1;
//输出列名
for (int colIndex = ; colIndex < colCount; ++colIndex)
{
cell = row.CreateCell(colIndex);
cell.SetCellValue(header[colIndex]);
}
//int rowIndex = 2;
foreach (DataRow dr in testDataSet1.TestTable.Rows)
// for (; rowIndex < rowCount+2;++rowIndex )
{
row = sheet.CreateRow(++rowIndex);
for (int colIndex = ; colIndex < ; ++colIndex)
{
cell = row.CreateCell(colIndex);
//cell.SetCellValue(testDataSet1.TestTable[rowIndex-2][col[colIndex]].ToString());
if (dr[col[colIndex]].GetType().Equals(typeof(System.DateTime))) //日期格式
{
cell.SetCellValue(Convert.ToDateTime(dr[col[colIndex]]).ToString("yyyy-MM-dd"));
}
else if (dr[col[colIndex]].GetType().Equals(typeof(System.Double))) //Double
{
cell.SetCellValue(Convert.ToDouble(dr[col[colIndex]]));
}
else if (dr[col[colIndex]].GetType().Equals(typeof(System.Int32))) //Int
{
cell.SetCellValue(Convert.ToInt32(dr[col[colIndex]]));
}
else
{
cell.SetCellValue(dr[col[colIndex]].ToString().Trim());
}
}
//++rowIndex;
}
workbook.Write(fs); //写入文件流
fs.Close(); //关闭文件流
MessageBox.Show("文件 '" + saveFile.FileName + "' 保存成功!");
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
NPOI 导出Excel部分的更多相关文章
- NPOI导出Excel (C#)  踩坑 之--The maximum column width for an individual cell is 255 charaters
		
/******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 ...
 - Asp.Net 使用Npoi导出Excel
		
引言 使用Npoi导出Excel 服务器可以不装任何office组件,昨天在做一个导出时用到Npoi导出Excel,而且所导Excel也符合规范,打开时不会有任何文件损坏之类的提示.但是在做导入时还是 ...
 - NPOI导出EXCEL 打印设置分页及打印标题
		
在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方法,但一直都没有起到作用.经过研究是要设置 sheet1.FitToPage = false; 而 ...
 - .NET NPOI导出Excel详解
		
NPOI,顾名思义,就是POI的.NET版本.那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office的文件. 支持的文件格式包括xls, ...
 - NPOI导出Excel(含有超过65335的处理情况)
		
NPOI导出Excel的网上有很多,正好自己遇到就学习并总结了一下: 首先说明几点: 1.Excel2003及一下:后缀xls,单个sheet最大行数为65335 Excel2007 单个sheet ...
 - [转]NPOI导出EXCEL 打印设置分页及打印标题
		
本文转自:http://www.cnblogs.com/Gyoung/p/4483475.html 在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方 ...
 - 分享使用NPOI导出Excel树状结构的数据,如部门用户菜单权限
		
大家都知道使用NPOI导出Excel格式数据 很简单,网上一搜,到处都有示例代码. 因为工作的关系,经常会有处理各种数据库数据的场景,其中处理Excel 数据导出,以备客户人员确认数据,场景很常见. ...
 - 用NPOI导出Excel
		
用NPOI导出Excel public void ProcessRequest(HttpContext context) { context.Response.ContentType = " ...
 - NPOI导出Excel示例
		
摘要:使用开源程序NPOI导出Excel示例.NPOI首页地址:http://npoi.codeplex.com/,NPOI示例博客:http://tonyqus.sinaapp.com/. 示例编写 ...
 - NPOI导出excel(带图片)
		
近期项目中用到Excel导出功能,之前都是用普通的office组件导出的方法,今天尝试用下NPOI,故作此文以备日后查阅. 1.NPOI官网http://npoi.codeplex.com/,下载最新 ...
 
随机推荐
- ios jenkins从0快速配置
			
1,安装:brew install jenkins2,命令行里:jenkins 回车,第一次会生成密码和保存密码的路径如:/Users/uname/.jenkins/secrets/initialAd ...
 - pycharm介绍
			
PyCharm是一种Python IDE(集成开发软件),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具. 1.1 PyCharm主界面 PyCharm包含4个主要区分,分别为 ...
 - Image Widget 的几种加入形式
			
image .asset : 加载资源图片,会使打包时包体过大 image.network :网络资源图片,经常换的或者动态的图片 image file : 本地图片,比如相册 重用属性: fit ...
 - penn treebank的说明,包括很多语法知识
			
penn数据库说明 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.8216&rep=rep1&type=pdf
 - WEB测试专题之测试分类
			
虽然说是一个功能测试就概括了,但是其实这里面还别有洞天,大概区分为下面几个小类别:WEB测试专题之web测试分类一(1)链接测试链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不 ...
 - 约瑟夫斯问题-java版数组解法和链表解法
			
10个人围成一圈,从1到10编号,从1开始数,数到3或3的倍数的位置,则该位置的人出局,求最后剩下哪一个号? 数组解法: 数组存放数组:a[10]存在1到10编号人 数组遍历到尾部又从头遍历:遍历数组 ...
 - java的初学感想
			
了解了JAVA的来源后,翻阅了一点关于java特性的书籍,众所周知,安全性和可移植性是java得以成功的前提,对此我想发表一点看法. 1.安全性:任何东西的安全性都是相对的,虽然java编译生成的字节 ...
 - [C]排序并插入
			
/* 编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出. */ #include&l ...
 - maven 灵活构建
			
灵活构建 项目的构建根据不同的情况可能需要有一定的差异,比如编译级别.依赖.打包的属性文件等在不同的运行环境中可能需要有不同的值.为了实现灵活构建,Maven内置了三个特性: 属性:在POM中通过${ ...
 - 使用 opendistro for elasticsearch 做为graylog的后端存储
			
graylog 是一个很不错的日志分析.收集.报警平台,包好了丰富的插件,同时内部的架构设计很不错 input 组件很多,使用stream.pipeline可以方便的进行数据处理,可以同时3.0 对于 ...