1.首先须要有一个NPOI

2.接下来上代码

 private void button1_Click(object sender, EventArgs e)
{
//1.通过Ado.net读取数据
string sql = "SELECT * FROM ASRS_F1";
using (SqlDataReader reader = SqlHelper.ExecuteReader(sql, CommandType.Text))
{
//如果读到数据
if (reader.HasRows)
{
IWorkbook wk = new HSSFWorkbook();
ISheet sheet = wk.CreateSheet("ASRS_F1"); #region 创建第一行,设置列名
//--------------------------------------------------
//创建第一行,第一行表示列名
IRow rowHead = sheet.CreateRow();
//循环查询出的每一列
for (int col = ; col < reader.FieldCount; col++)
{
rowHead.CreateCell(col).SetCellValue(reader.GetName(col));
}
//--------------------------------------------------
#endregion int rindex = ;
//下面是创建数据行
while (reader.Read())
{
//ID, Position, AName, ACode, AState, ABatch, ADateTime, BName, BCode, BState, BBatch, BDateTime, IsMoving, IsType
IRow currentRow = sheet.CreateRow(rindex);
rindex++;
int Id = reader.GetInt32();
string Position = reader.GetString();
string AName = reader.GetString();
string ACode = reader.GetString();
string AState = reader.GetString();
string ABatch =reader.IsDBNull()?null: reader.GetString();
DateTime? lockDate = reader.IsDBNull() ? null : (DateTime?)reader.GetDateTime();
string BName = reader.GetString();
string BCode = reader.GetString();
string BState = reader.GetString();
string BBatch = reader.IsDBNull()?null:reader.GetString();
DateTime? lockDates = reader.IsDBNull() ? null : (DateTime?)reader.GetDateTime();
string IsMoving = reader.GetString();
string IsType = reader.GetString(); currentRow.CreateCell().SetCellValue(Id);
currentRow.CreateCell().SetCellValue(Position);
currentRow.CreateCell().SetCellValue(AName);
currentRow.CreateCell().SetCellValue(ACode);
currentRow.CreateCell().SetCellValue(AState);
currentRow.CreateCell().SetCellValue(ABatch);
if (lockDate == null)
{
//如果是null值,那么就像excel写入一个单元格,这个单元格的类型就是Blank
currentRow.CreateCell().SetCellType(CellType.BLANK);
}
else
{ //创建一个单元格
ICell cellLockDate = currentRow.CreateCell(); //创建一个单元格样式
ICellStyle cellStyle = wk.CreateCellStyle();
cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("m/d/yy h:mm");
//设置当前单元格应用cellStyle样式
cellLockDate.CellStyle = cellStyle; cellLockDate.SetCellValue((DateTime)lockDate);
}
currentRow.CreateCell().SetCellValue(BName);
currentRow.CreateCell().SetCellValue(BCode);
currentRow.CreateCell().SetCellValue(BState);
currentRow.CreateCell().SetCellValue(BBatch); if (lockDates == null)
{
//如果是null值,那么就像excel写入一个单元格,这个单元格的类型就是Blank
currentRow.CreateCell().SetCellType(CellType.BLANK);
}
else
{ //创建一个单元格
ICell cellLockDate = currentRow.CreateCell(); //创建一个单元格样式
ICellStyle cellStyle = wk.CreateCellStyle();
cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("m/d/yy h:mm");
//设置当前单元格应用cellStyle样式
cellLockDate.CellStyle = cellStyle; cellLockDate.SetCellValue((DateTime)lockDates);
}
currentRow.CreateCell().SetCellValue(IsMoving);
currentRow.CreateCell().SetCellValue(IsType);
} //写入
using (FileStream fsWrite = File.OpenWrite("半成品库存表.xls"))
{
wk.Write(fsWrite);
}
label1.Text = "写入成功!" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
else
{
label1.Text = "没有查询到任何数据";
}
} }

如何数据库表数据导出到excel中的更多相关文章

  1. 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!

    一.需求 我们会遇到开发任务: 经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...

  2. Python小练习_数据库表数据导出到excel

    需求:只要传入一个表名,就能把所有的数据导入出来,字段名是excel的表头 1.要动态获取到标的字段 cur.descrption能获取到表的字段 fileds = [filed[0] for fil ...

  3. 如何将存储在MongoDB数据库中的数据导出到Excel中?

    将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...

  4. 将Datagridview中的数据导出至Excel中

        首先添加一个模块ImportToExcel,并添加引用         然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...

  5. Pl/sql 如何将oracle的表数据导出成excel文件?

    oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...

  6. 将datagrid中数据导出到excel中 -------<<工作日志2014-6-6>>

    前台datagrid数据绑定 #region 导出到excel中    /// <summary>    /// 2014-6-6    /// </summary>    / ...

  7. Magic xpa 3.x很容易将数据导出到Excel中

    Magic xpa 3.x很方便的将表中数据导出到Excel文件中,还可以自动将表中数据生成各种图表. 通过使用自带的打印数据内部事即可实现. 1.首先将打印数据任务属性设置为“是”. 2.可使用主程 ...

  8. 数据导出到Excel中

    自己修改后的一个数据导出到Excel的方法,粘出来与大家共享. 只需要将             System.Web.HttpContext.Current.Response.Charset =   ...

  9. Python 把数据库的数据导出到excel表

    import io,xlwt def export_excel(request): """导出数据到excel表""" list_obj = ...

随机推荐

  1. Prometheus 系统监控方案 一

    最近一直在折腾时序类型的数据库,经过一段时间项目应用,觉得十分不错.而Prometheus又是刚刚推出不久的开源方案,中文资料较少,所以打算写一系列应用的实践过程分享一下. Prometheus 是什 ...

  2. 1 selenium3.0.1无法打开火狐浏览器

    [问题描述] 1.配置selenium3.0和java后,尝试打开火狐浏览器,提示缺少geckodriver驱动. [解决方案] 1.在http://www.seleniumhq.org/downlo ...

  3. zookeeper(单机/集群)安装与配置

    一.安装与单机配置 1.下载: wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.4.6.tar.gz 如果网站下载不了 ...

  4. ASP.NET跨平台最佳实践

    前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语言本身来看,C#确实比Java ...

  5. 分布式服务注册和发现consul 简要介绍

    Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul的方案更"一站式",内置了服务注册与发现框 架 ...

  6. Egret3D研究报告(二)从Unity3D导出场景到Egret3D

    Egret3D暂时没有场编的计划,但是我们知道unity3D是一个很好的场编. 有一些游戏即使不是使用Unity3D开发,也使用Unity3D做场编.这里就不点名了,而且并不在少数. 我们就这么干. ...

  7. ASP.NET Web API 控制器执行过程(一)

    ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...

  8. MongoDB CRUD 操作手册

    基本操作 增加 在MongoDB中通过db.collection.insert()来增加新的数据. db.users.insert({username:"Jack",age:30} ...

  9. 我为NET狂群福利:逆天常用的一些谷歌浏览器插件

    逆天书库:http://www.cnblogs.com/dunitian/p/5734677.html 常用工具:http://www.cnblogs.com/dunitian/p/5640147.h ...

  10. 实现MVC自定义过滤器,自定义Area过滤器,自定义Controller,Action甚至是ViewData过滤器

    MVC开发中几种以AOP方式实现的Filters是非常好用的,默认情况下,我们通过App_Start中的FilterConfig来实现的过滤器注册是全局的,也就是整个应用程序都会使用的,针对单独的Fi ...