将数据导出到Excel2007格式。
增加数据格式
public static void TableToExcel2(DataTable table, string filename, string sheetname)
{ XSSFWorkbook workbook = new XSSFWorkbook();
IFont font = workbook.CreateFont();
font.FontName = "微软雅黑";
font.FontHeightInPoints = 9; IFont fonthader = workbook.CreateFont();
fonthader.FontName = "微软雅黑";
fonthader.FontHeightInPoints = 9;
fonthader.Boldweight = (short)FontBoldWeight.Bold; ICellStyle style1 = workbook.CreateCellStyle();
style1.SetFont(font); ICellStyle stylehead = workbook.CreateCellStyle();
stylehead.SetFont(fonthader); var sheet = workbook.CreateSheet(sheetname); var headerRow = sheet.CreateRow(0); //head
foreach (DataColumn column in table.Columns)
{ var cellhead = headerRow.CreateCell(column.Ordinal);//
cellhead.CellStyle = stylehead;
cellhead.SetCellValue(column.Caption); } //设置大类限制
ArrayList cat1 = new ArrayList();
DataSet ds = DBHelper.Instance.ExeDataSet(" select catname from purchase_categories where iscat=1 and parentid=0 ");
foreach (DataRow dr in ds.Tables[0].Rows)
{
cat1.Add(dr["catname"]);
} IDataValidationHelper dvHelper = sheet.GetDataValidationHelper();
NPOI.SS.Util.CellRangeAddressList regCat1 = new NPOI.SS.Util.CellRangeAddressList(1, 8000, 0, 0);
IDataValidationConstraint constraint = dvHelper.CreateFormulaListConstraint("CHOICES");
constraint.ExplicitListValues = (string[])cat1.ToArray(typeof(string));
IDataValidation validation = dvHelper.CreateValidation(constraint, regCat1);
sheet.AddValidationData(validation); //小类
regCat1 = new NPOI.SS.Util.CellRangeAddressList(1, 8000, 1, 1);
cat1 = new ArrayList();
ds = DBHelper.Instance.ExeDataSet(" select catname from purchase_categories where iscat=1 and parentid!=0 ");
foreach (DataRow dr in ds.Tables[0].Rows)
{
cat1.Add(dr["catname"]);
} constraint = dvHelper.CreateFormulaListConstraint("CHOICES");
constraint.ExplicitListValues = (string[])cat1.ToArray(typeof(string));
validation = dvHelper.CreateValidation(constraint, regCat1);
sheet.AddValidationData(validation); ////单位
regCat1 = new NPOI.SS.Util.CellRangeAddressList(1, 8000, 6, 6);
cat1 = new ArrayList();
DataView dv = Purchase.BLL.PurchaseHelper.GetParam("unit");
foreach (DataRowView dvr in dv)
{
cat1.Add(dvr["paramname"]);
}
constraint = dvHelper.CreateFormulaListConstraint("CHOICES");
constraint.ExplicitListValues = (string[])cat1.ToArray(typeof(string));
validation = dvHelper.CreateValidation(constraint, regCat1);
sheet.AddValidationData(validation); ////货币单位
regCat1 = new NPOI.SS.Util.CellRangeAddressList(1, 65535, 8, 8);
cat1 = new ArrayList();
dv = Purchase.BLL.PurchaseHelper.GetParam("currency");
foreach (DataRowView dvr in dv)
{
cat1.Add(dvr["paramname"]);
}
constraint = dvHelper.CreateFormulaListConstraint("CHOICES");
constraint.ExplicitListValues = (string[])cat1.ToArray(typeof(string));
validation = dvHelper.CreateValidation(constraint, regCat1);
sheet.AddValidationData(validation); //////货币单位
regCat1 = new NPOI.SS.Util.CellRangeAddressList(1, 65535, 11, 11);
cat1 = new ArrayList();
dv = Purchase.BLL.PurchaseHelper.GetParam("shipmethod");
foreach (DataRowView dvr in dv)
{
cat1.Add(dvr["paramname"]);
}
constraint = dvHelper.CreateFormulaListConstraint("CHOICES");
constraint.ExplicitListValues = (string[])cat1.ToArray(typeof(string));
validation = dvHelper.CreateValidation(constraint, regCat1);
sheet.AddValidationData(validation); //body
var rowIndex = 1;
foreach (DataRow row in table.Rows)
{
var dataRow = sheet.CreateRow(rowIndex);
dataRow.HeightInPoints = 20;
foreach (DataColumn column in table.Columns)
{ ICell cell = dataRow.CreateCell(column.Ordinal);
cell.SetCellValue(row[column].ToString()); cell.CellStyle = style1;
}
rowIndex++;
} FileStream sw = File.Create(HttpContext.Current.Server.MapPath(filename));
workbook.Write(sw);
sw.Close(); }
将数据导出到Excel2007格式。的更多相关文章
- 使用NPOI将数据导出为word格式里的table
开发环境:VS2013+MySQL5.5+EF6+NPOI2.0.6 格式:WinForm+CodeFirst PS:vs2013的CodeFirst很方便了啊 CodeFirst方式就不再赘述了. ...
- 利用PHPExcel将数据导出到xls格式的excel文件
在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ERP的时候用到过一次导入和导出,但是那时候太忙没时间写博客,一年过去了我也忘的差不多了,所以趁着今天将此次的使 ...
- 跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式
在开发者使用TeeChart进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: TeeChart最新版那下载地址 上图为TeeChart导出对话框的 ...
- Elasticsearch:如何把Elasticsearch中的数据导出为CSV格式的文件
本教程向您展示如何将数据从Elasticsearch导出到CSV文件. 想象一下,您想要在Excel中打开一些Elasticsearch中的数据,并根据这些数据创建数据透视表. 这只是一个用例,其中将 ...
- 将数据 导出excel表格式
我的考试完提交生成的数据 这是我的考试题类型 //导出调查评议的数据 public function diaocha(){ $xlsName = '表格形式 调查评议 信息'; $xlsTitle = ...
- SPOOL 命令使用实例【oracle导出纯文本格式文件】
SPOOL 命令使用实例[oracle导出纯文本格式文件] SET echo off --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句: SET ...
- MySQL--mysqldump(数据导出工具)
mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移.备份内容包含创建表或装载表的 SQL 语句.mysqldump 目前是 MySQL 中最常用的备份工具. 有 3 种方式来调 ...
- .net解决数据导出excel时的格式问题
在项目中一般都需要将报表数据导出到EXCEL中,但经常出现导出长串数据(如身份证)到EXCEL中后显示为科学计数法的格式,或者报表中显示为001的数据导出到Excel后成了1的格式. 下面简单介绍一下 ...
- Dev GridControl数据导出格式问题
环境:DevExpress9.3,Vs2008 DevExpress的GridControl提供方便的数据导出到Excel功能,导出中用户可以根据GridControl的格式进行导出(ExportTo ...
随机推荐
- Cannot fetch index base URL https://pypi.python.org/simple/
这个就是相源的问题,正常安装你的根目录下会有这个pip.log文件,如下 root@liu:~# ll .pip/ total 16 drwxr-xr-x 2 root root 4096 Sep 1 ...
- iOS(OC)中的冒泡排序
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"12",@"84", @"35& ...
- PoEdu - C++阶段班- Lesson02_C to C++
1 原生bool类型 c++里面的bool类型才是真正原生的true和faul,比如常见的大写的"BOOL",它就不是原生的. 原生的与非原生的bool,它们的区别: 详细说下原 ...
- cocos2d-x 之 CCArray 源码分析(2)
cocos2d-x 自己实现了一个数组CCArray ,下面我们来分析一下CCArray的源码 CCArray继承CCObject,所以,CCArray也具有引用计数功能和内存自动管理功能. 数组的源 ...
- select 练习2
group by :select 分组字段,聚合函数 from 表名 where 条件 group by 分组字段 having 过滤条件 select cno,avg(degree) from s ...
- js-特效部分学习-offsetParent、scrollHeight 、动画函数的封装
1. offsetParent 获取的最近的定位的父元素 offsetLeft/offsetTop 是相对于offsetParent的距离 offsetHeight/offsetWidth 获 ...
- input 标签实现带提示文字的输入框
方法一:html5配合css3实现带提示文字的输入框(摆脱js): webkit特有的一个css,可以控制里面的文字样式,配合css3的动画效果和伪类,我们就可以很容易做出一个带动画的输入框,在系统登 ...
- log-malloc2 0.2.4 发布
log-malloc2 0.2.4 发布了,该版本修复了日志格式输出的 bug. og-malloc2 是一个 malloc 日志预加载库,用于检测内存泄漏问题.
- 《Linux内核设计与实现》读书笔记(十六)- 页高速缓存和页回写
好久没有更新了... 主要内容: 缓存简介 页高速缓存 页回写 1. 缓存简介 在编程中,缓存是很常见也很有效的一种提高程序性能的机制. linux内核也不例外,为了提高I/O性能,也引入了缓存机制, ...
- 导入HDFS的数据到Hive
1. 通过Hive view CREATE EXTERNAL TABLE if not exists finance.json_serde_optd_table ( retCode string, r ...