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/,下载最新 ...
随机推荐
- [工作日志] 2019-04-16 入参是list
入参 {"vehicleList":[{"vehicleNo":"赣K81057","plateColor":" ...
- php 浏览记录功能
/** * 历史浏览记录 * $data array 浏览记录里作品的必要信息 */ private function _history($data){ if(!$data || !is_array( ...
- PC端的软件端口和adb 5037端口冲突解决方案
引用https://www.aliyun.com/jiaocheng/32552.html 阿里云 > 教程中心 > android教程 > PC端的软件端口和adb 50 ...
- java求最大值以及定义方法调用
class ArrayDome { public static void main(String[] args) { int[] arr = {-12,-51,-12,-11}; int max = ...
- C#取出重复的方式以及用字典存储以键存储集合的方法
最近在做项目的时候,发现有些需求需要特别的方式来实现.下面看代码 private List<string> firstType = new List<string>(); pr ...
- AGC002 F - Leftmost Ball
貌似哪里讲过这题..总之当时掉线了(理解能力又差水平又低选手的日常).. 看看题目,应该是DP. 尝试了几次换状态,毫无思路.那我们就来继续挖掘性质吧...为了更直观,我们令第i个出现的球颜色就是i( ...
- 学习笔记DL004:标量、向量、矩阵、张量,矩阵、向量相乘,单位矩阵、逆矩阵
线性代数,面向连续数学,非离散数学.<The Matrix Cookbook>,Petersen and Pedersen,2006.Shilov(1977). 标量.向量.矩阵.张量. ...
- Demystify Git
Git虽然很时髦,但是不好学,不好用. 关键是不好理解. 本文用最通俗易懂又直观的方式,帮助大家理解git, git的内部组织, 基本概念,还有常用 的工作流程. 本文来自墙外. 习某某说:" ...
- POJ1037 A decorative fence
题意 Language:Default A decorative fence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 84 ...
- java_oop_接口
接口 难的是在系统设计里怎么样使用接口,主要在语法,不在系统架构与设计 概念 声明 语法 只有抽象方法的抽象类?可以用接口来表示,用接口来代替这样的抽象类,是因为 ...