C# 将dataset数据导出到excel中
//添加引用 NPOI.dll
//添加 using NPOI.HSSF.UserModel;
/// <summary>
/// 导出数据到Excel
/// </summary>
/// <param name="returnMsg"></param>
/// <returns></returns>
public bool ExportOrderToExcel(ref string returnMsg)
{
try
{
DataSet dt = "SQL语句返回dataset数据集";
int rowIndexS = 0; //表格总行
if(dt!=null && dt.Tables.Count > 0 && dt.Tables[0].Rows.Count > 0)
{
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet1 = (HSSFSheet)workbook.CreateSheet("工作簿名称");
HSSFRow headerRow1 = (HSSFRow)sheet1.CreateRow(0);
HeadControl(headerRow1); //行名称
foreach (DataRow dr in dt.Tables[0].Rows)
{
rowIndexS++;
HSSFRow dataRow = (HSSFRow)sheet1.CreateRow(rowIndexS);
OrderFill(dataRow, dr); //填充数据
}
//保存
string path = "/FileRoot/temp/";//文件保存路径
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls"; //文件名已时间命名
path += fileName;
System.IO.FileStream file = new System.IO.FileStream(HttpContext.Current.Server.MapPath(path), System.IO.FileMode.Create);
workbook.Write(file);
//关闭文件,释放对象
file.Close();
workbook = null;
returnMsg =path;//返回文件路径
return true;
}
else
{
returnMsg = "没有查到要导出的数据!";
return false;
}
}
catch (Exception)
{
returnMsg = "导出数据失败!";
return false;
}
}
/// <summary>
/// 填充报表数据
/// </summary>
/// <param name="dataRow"></param>
/// <param name="dr"></param>
public void OrderFill(HSSFRow dataRow, DataRow dr)
{
dataRow.CreateCell(0).SetCellValue(dr["字段名"].ToString());
dataRow.CreateCell(1).SetCellValue(dr["字段名"].ToString());
dataRow.CreateCell(2).SetCellValue(dr["字段名"].ToString());
dataRow.CreateCell(3).SetCellValue(dr["字段名"].ToString());
dataRow.CreateCell(4).SetCellValue(dr["字段名"].ToString());
dataRow.CreateCell(5).SetCellValue(dr["字段名"].ToString());
}
/// <summary>
/// 导出已支付订单的表头
/// </summary>
/// <param name="headerRow"></param>
public void HeadControl(HSSFRow headerRow)
{
headerRow.CreateCell(0).SetCellValue("列名");
headerRow.CreateCell(1).SetCellValue("列名");
headerRow.CreateCell(2).SetCellValue("列名");
headerRow.CreateCell(3).SetCellValue("列名");
headerRow.CreateCell(4).SetCellValue("列名");
headerRow.CreateCell(5).SetCellValue("列名");
}
附件:NOPI.DLL下载链接 http://files.cnblogs.com/a-mumu/NPOI.zip
C# 将dataset数据导出到excel中的更多相关文章
- asp.net DataSet数据导出到Excel中
方法: [STAThread]///这是必须的 public override void VerifyRenderingInServerForm(System.Web.UI.Control co ...
- 将Datagridview中的数据导出至Excel中
首先添加一个模块ImportToExcel,并添加引用 然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...
- 如何将存储在MongoDB数据库中的数据导出到Excel中?
将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...
- 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!
一.需求 我们会遇到开发任务: 经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...
- 将datagrid中数据导出到excel中 -------<<工作日志2014-6-6>>
前台datagrid数据绑定 #region 导出到excel中 /// <summary> /// 2014-6-6 /// </summary> / ...
- Magic xpa 3.x很容易将数据导出到Excel中
Magic xpa 3.x很方便的将表中数据导出到Excel文件中,还可以自动将表中数据生成各种图表. 通过使用自带的打印数据内部事即可实现. 1.首先将打印数据任务属性设置为“是”. 2.可使用主程 ...
- 数据导出到Excel中
自己修改后的一个数据导出到Excel的方法,粘出来与大家共享. 只需要将 System.Web.HttpContext.Current.Response.Charset = ...
- dataset数据导出到Excel
1.将数据写入HTTP输出流/这样子导出以后的数据全在一行中 public void CreateExcel(DataSet ds, string FileName) { HttpResponse r ...
- DataSet数据导出为Excel文档(每个DataTable为一个Sheet)
Web项目中,很多时候须要实现将查询的数据集导出为Excel文档的功能,很多时候不希望在工程中添加对Office组件相关的DLL的引用,甚至有时候受到Office不同版本的影响,导致在不同的服务器上部 ...
随机推荐
- [计算机网络]图解HTTP阅读笔记
总述 书的定位:一本十分浅显的HTTP书籍,主要介绍了HTTP与HTTPS.适合入门了解,很多地方都是蜻蜓点水,但稍微深入的地方能让人了解重点在哪,后面应该有针对性地阅读深入书籍. 主要内容:介绍了T ...
- WPF相关UI库
免费控件库: 1.Extended WPF Toolkit 官方拓展控件 http://wpftoolkit.codeplex.com/ 2.avalondock 可停靠布局(wpf toolkit包 ...
- js图形打印
1. 打印等边三角形 document.writeln("打印三角形</br>"); for(var i=0;i<5;i++){ for(var j=5;j> ...
- JVM--垃圾回收GC篇
Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收. Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap).从垃圾回收的角度,由于 ...
- 一篇文章说清楚TDengine的FQDN
TDengine2.0以后需要使用FQDN来进行访问.小朋友,你是否有很多小问号:什么是FQDN,为什么要配置FQDN,如何配置FQDN.我们今天来简单讲一下.心急的小伙伴,可以直接跳转到配置章节. ...
- zabbix邮件报警设置(加密)
邮件设置如下 端口号选择465
- spring framework源码之AnnotationConfigApplicationContext
AnnotationConfigApplicationContext 内部使用了AnnotatedBeanDefinitionReader:ClassPathBeanDefinitionScanner ...
- Final终态类和Finally
- Prometheus-Alertmanager告警对接到企业微信
之前写过将Prometheus的监控告警信息通过Alertmanager推送到钉钉群. 最近转移了阵地,需要将Prometheus监控告警信息推送到企业微信群,经过两天的摸索,以及查了网上的一些资料, ...
- Python练习题 023:比后面的人大2岁
[Python练习题 023] 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后 问 ...