用NPOI从DataBase到Excel

NPOI的C# Helper代码

 1         public static void WriteExcel(DataTable dt, string filePath)
 2         {
 3             if (!string.IsNullOrEmpty(filePath) && dt.Rows.Count > 0)
 4             {
 5                 HSSFWorkbook wk = new HSSFWorkbook();
 6                 ISheet sheet = wk.CreateSheet(dt.TableName);
 7
 8                 //列头
 9                 IRow headerRow = sheet.CreateRow(0);
10                 for (int i = 0; i < dt.Columns.Count; i++)
11                 {
12                     headerRow.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
13                 }
14
15                 //填充内容
16                 for (int i = 0; i < dt.Rows.Count; i++) //注意条件dt.Rows.Count
17                 {
18                     IRow row = sheet.CreateRow(i+1);
19                     for (int j = 0; j < dt.Columns.Count; j++)//注意条件dt.Columns.Count
20                     {
21                         row.CreateCell(j).SetCellValue(Convert.ToString(dt.Rows[i][j])); //注意这里写法
22                     }
23                 }
24                 //写入到客户端
25                 using (MemoryStream ms = new MemoryStream())
26                 {
27                     wk.Write(ms);
28                     using (FileStream file = new FileStream(filePath, FileMode.Create, FileAccess.Write))
29                     {
30                         byte[] data = ms.ToArray();
31                         file.Write(data,0,data.Length);
32                         file.Flush();
33                     }
34                     wk = null;
35                 }
36
37             }
38         }

时间: 2024-10-11 07:19:03

用NPOI从DataBase到Excel的相关文章

用NPOI从DataBase到Excel &#39;2

NPOI的C# Helper代码2 1 public static MemoryStream ExportXls(DataTable dt) 2 { 3 HSSFWorkbook wk = new HSSFWorkbook(); 4 ISheet sheet = null; 5 6 string sheetName = "Sheet1"; 7 if (!string.IsNullOrEmpty(dt.TableName)) 8 { 9 sheetName = dt.TableName;

NPOI导出数据到Excel

NPOI导出数据到Excel 前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作. 方法 先去官网:http://npoi.codeplex.com/下载需要

npoi实现数据导出Excel

npoi .NET第三方的Office功能组件. 链接地址 http://npoi.codeplex.com/ 引用命名空间 using NPOI.HSSF.UserModel; using NPOI.HPSF; using NPOI.POIFS.FileSystem; using NPOI.SS.UserModel; 功能代码 /// <summary> /// 操作EXCEL导出数据报表的类 /// </summary> public class DataToExcel { /

NPOI使用ShiftRows向excel插入行,并复制原有样式

使用excel模板导出数据时,模板可填充的数据行有限,可通过ShiftRows插入行,如图,在第七行后插入新行,要求新行包含原有样式 插入后 首先添加npoi类库引用 /// <summary> /// NPOI使用ShiftRows向excel插入行,并复制原有样式 /// </summary> /// <param name="file">模板文件,包含物理路径</param> /// <param name="dir

WeihanLi.Npoi 根据模板导出Excel

WeihanLi.Npoi 根据模板导出Excel Intro 原来的导出方式比较适用于比较简单的导出,每一条数据在一行,数据列虽然自定义程度比较高,如果要一条数据对应多行就做不到了,于是就想支持根据模板导出,在 1.8.0 版本中引入了根据模板导出的功能 使用示例 示例模板 模板规划的可以有三种数据: Global:一个是导出的时候可以指定一些参数,作为 Global 参数,默认参数格式使用: $(Global:PropName) 的格式 Header:配置的对应属性的显示名称,默认是属性名称

在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 3.POI读取Excel有两种格式一个是HSSF,另一个是XSSF. HSSF和XSSF的区别如下: HSSF

使用NPOI导入导出标准Excel

尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 直接导出html,修改后缀名为.xls,这个方法有点像骗人的把戏,而且不能再导入 使用Jet OLEDB引擎来进行导入导出,完全使用sql语句来进行操作,缺点能控制的东西非常有限,比如格式就难以控制 使用Office COM组件进行导入导出,对环境依赖性太强(如"检索 COM 类工厂-"错

使用NPOI将DataTable生成Excel

听闻npoi 2.0版本支持excel2007格式了,表示期待其表现.不过目前还是使用1.2.5稳重点. 生活中有太多的列表都需要一个导出功能,当然这里的生活指的的程序员的生活.DataTable是从数据库读取数据后常用的数据结构,又当然这里的DataTable是指.Net开发下的.今天刚好做了个导出excel的功能,于是乎就在完成功能后把该方法抽离出来做成一个类,以备后用.整个类如下: using System; using System.Collections.Generic; using

NPOI之C#下载Excel

Java中这个类库叫POI,C#中叫NPOI,很多从Java一直到.Net平台的类库为了区别大部分都是在前面加个N,比如Hibernate和NHibernate. npoi下载地址 一.使用NPOI下载大致分以下步骤: 1.创建workbook 2.创建sheet 3.创建row和cell 4.填充数据 5.设置cell的样式和字体 二.HSSFWorkbook和XSSFWorkbook 两者用法基本一样 HSSFWorkbook 创建的是Excel2003 HSSFSheet.HSSFCell