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/,下载最新 ...
随机推荐
- 模糊查询出list
<resultMap id="shipList" type="com.sinochem.yunlian.yunliantraffic.domain.Ship&quo ...
- 2018-计算机系机试(第二批)-C-数字字符个数
C. 数字字符个数 单点时限: 1.0 sec 内存限制: 256 MB 输入一行信息,输出其中包含的数字字符个数. 例如:输入 a<4 >w,输出 1 . 输入格式 一行字符串 (可能含 ...
- shell 删除颜色代码
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
- linux 安装 ftp 实现文件共享
转载:http://blog.sina.com.cn/s/blog_165e646820102xe1q.html 参考:1.http://www.cnblogs.com/mrcln/p/6179673 ...
- 封装qq分享静态库到cocopod
封装qq分享静态库到cocopod 1,创建framework库,到腾讯开放平台(open.qq.com)申请项目appid 2,将iOS SDK中的TencentOpenAPI.framework ...
- iOS Masonry控件等比例布局
一.先解释相关API 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /** * distribute with fixed spacing * * ...
- Dart 中dynamic 的使用
void main(){ var a; a=10; b ="Dart"; dynamic b =20; b ="JavaScript" var list =ne ...
- es6 this指向
在非箭头函数中,谁调用的函数,this指向就是谁: var obj={ fn:function(){ console.log(this); } } obj.fn();//object 如果this出现 ...
- 64位ubuntu16.04系统安装tensorflow_cpu
ubuntu16.04安装tensorflow_cpu 一.安装anaconda: ①.下载anaconda包:Anaconda3-5.2.0-Linux-x86_64.sh 这是python3.6. ...
- Servlet中的编码问题
对于response.setContentType()和response.setCharacterEncoding()的理解: 经过一些实践,对着两个方法有了一些自己的理解,有可能今后的学习中会发现自 ...