增加数据格式

        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格式。的更多相关文章

  1. 使用NPOI将数据导出为word格式里的table

    开发环境:VS2013+MySQL5.5+EF6+NPOI2.0.6 格式:WinForm+CodeFirst PS:vs2013的CodeFirst很方便了啊 CodeFirst方式就不再赘述了. ...

  2. 利用PHPExcel将数据导出到xls格式的excel文件

    在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ERP的时候用到过一次导入和导出,但是那时候太忙没时间写博客,一年过去了我也忘的差不多了,所以趁着今天将此次的使 ...

  3. 跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式

    在开发者使用TeeChart进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: TeeChart最新版那下载地址 上图为TeeChart导出对话框的 ...

  4. Elasticsearch:如何把Elasticsearch中的数据导出为CSV格式的文件

    本教程向您展示如何将数据从Elasticsearch导出到CSV文件. 想象一下,您想要在Excel中打开一些Elasticsearch中的数据,并根据这些数据创建数据透视表. 这只是一个用例,其中将 ...

  5. 将数据 导出excel表格式

    我的考试完提交生成的数据 这是我的考试题类型 //导出调查评议的数据 public function diaocha(){ $xlsName = '表格形式 调查评议 信息'; $xlsTitle = ...

  6. SPOOL 命令使用实例【oracle导出纯文本格式文件】

    SPOOL 命令使用实例[oracle导出纯文本格式文件] SET echo off              --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句: SET ...

  7. MySQL--mysqldump(数据导出工具)

    mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移.备份内容包含创建表或装载表的 SQL 语句.mysqldump 目前是 MySQL 中最常用的备份工具. 有 3 种方式来调 ...

  8. .net解决数据导出excel时的格式问题

    在项目中一般都需要将报表数据导出到EXCEL中,但经常出现导出长串数据(如身份证)到EXCEL中后显示为科学计数法的格式,或者报表中显示为001的数据导出到Excel后成了1的格式. 下面简单介绍一下 ...

  9. Dev GridControl数据导出格式问题

    环境:DevExpress9.3,Vs2008 DevExpress的GridControl提供方便的数据导出到Excel功能,导出中用户可以根据GridControl的格式进行导出(ExportTo ...

随机推荐

  1. mfc中CString转化为string的方法

    LL(1)分析法实验的mfc做到最后因为CString转化为string的问题卡了一个多小时,也是惨,网上各种方法找过都不行.幸亏最后还是找到几行代码搞定了.特此mark一下. USES_CONVER ...

  2. iOS中POST异步请求

    POST异步请求(代理) 1.遵循<NSURLConnectionDataDelegate> @interface ViewController ()<NSURLConnection ...

  3. iOS中两个APP之间的跳转和通信

    app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...

  4. document.referrer 特性

    最近需要用到document.referrer,但是在测试的时候,总是获取为空,百思不得其解. 于是发动百度,看了大量的文章没有一个说到点子上是为什么,后来偶然看到document.referrer ...

  5. iOS字符串为空的判断

    //判断字符串 -(BOOL) isValidString:(id)input { if (!input) { return NO; } if ((NSNull *)input == [NSNull ...

  6. mybatis generate 自动生成 entity dao 和 xml 文件

    其中的一种方式 ,使用maven 插件 <build> <plugins> <plugin> <groupId>org.mybatis.generato ...

  7. 修改ubuntu DNS的步骤(图文)

    有时候连接上VPN服务器后,还是打不开某些网站,这时候,需要对DNS进行更改,一般是修改成为谷歌提供的免费DNS:8.8.8.8  8.8.4.4,在windows下更改比较简单(点击查看“连接上VP ...

  8. freeCodeCamp:Check for Palindromes

    如果给定的字符串是回文,返回true,反之,返回false. 如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文). 注意你需要去掉字符串多 ...

  9. Mac mysql修改密码

    在网上看了很多的办法,其实解决办法都对,只是没有说明白: 1,首先启动mysql服务 2,mysqladmin -uroot -p 'newpassword' 此时需要输入登陆密码(数据库的密码,刚安 ...

  10. Jade之注释

    注释 jade注释可以保留在编译后生成的html中,也可以不保留. jade: // 这个会保留下来 p Hello //- 这个不会保留 p World html: // 这个会保留下来 <p ...