Excel操作之 导出生成多个sheet页面
首先需要下载一个NPOI.dll
下载地址:http://download.csdn.net/detail/president810/9503038 using System;
using System.Collections.Generic;
using System.IO;
//引用NPOI
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
namespace Sola.ExportTakeClass
{
public class ExportToExcelUtil
{
private string _excelPath = "";
private IWorkbook workbook;
private ISheet sheet;
private int row = ;
private IList<string> sheetList = new List<string>(); public ExportToExcelUtil(string excelPath,IList<string> sheetList)
{
_excelPath = excelPath;
this.sheetList = sheetList;
ExcelFormat();
}
/// <summary>
/// 遍历sheet 并添加到excel
/// </summary>
private void ExcelFormat()
{
try
{
workbook = new HSSFWorkbook();
foreach (var sheetname in sheetList)
{
workbook.CreateSheet(sheetname);
} }
catch
{
GC.Collect();
GC.Collect();
}
}
/// <summary>
/// 将头部列表添加至 指定的sheet页
/// </summary>
/// <param name="titleList"></param>
/// <param name="sheetName"></param>
public void SetHead(IList<string> titleList,string sheetName)
{
row = ;
sheet = workbook.GetSheet(sheetName);
IRow headerRow = sheet.CreateRow(row); int col = ;
foreach (string t in titleList)
{
headerRow.CreateCell(col).SetCellValue(t);
col++;
}
}
/// <summary>
/// 将数据写入指定的 sheet页
/// </summary>
/// <param name="valueList"></param>
/// <param name="sheetName"></param>
public void WriteExcel(IList<string> valueList, string sheetName)
{
int col = ;
sheet = workbook.GetSheet(sheetName);
row++;
IRow itemRow = sheet.CreateRow(row);
foreach (string v in valueList)
{
itemRow.CreateCell(col).SetCellValue(v);
col++;
}
} public void Close()
{
try
{
FileStream file = new FileStream(_excelPath, FileMode.Create);
workbook.Write(file);
file.Close();
workbook.Clear();
}
finally
{
GC.Collect();
GC.Collect();
}
}
}
}
Excel操作之 导出生成多个sheet页面的更多相关文章
- python excel操作 练习:#生成一个excel文件,生成3个sheet,每个sheet的a1写一下sheet的名称。每个sheet有个底色
练习:#生成一个excel文件,生成3个sheet,每个sheet的a1写一下sheet的名称.每个sheet有个底色 #coding=utf-8 from openpyxl import Workb ...
- excel poi 文件导出,支持多sheet、多列自动合并。
参考博客: http://www.oschina.net/code/snippet_565430_15074 增加了多sheet,多列的自动合并. 修改了部分过时方法和导出逻辑. 优化了标题,导出信息 ...
- Excel报表开发(本节主要讲述导出到Excel操作)
一.Excel导入到GridView以及数据库操作比较简单,这儿不做过多讲解,需要注意的有二点: 1.设置IMEX=1将强制混合数据转换为文本. 2.解决Excel驱动程序默认读取8行:将" ...
- Excel工作常用(一)-生成序列与删除空行
整理一些工作中,本人经常用到的一些Excel操作 1.自动生成序列 [注]选择 第一格 和 第二格 之后,在右下角出现十字的时候,在往下拉 2.删除空行 方式一,先找出所有空行,在删 [缺点]数据多的 ...
- 根据模板导出Excel报表并生成多个Sheet页
因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为 根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...
- 根据模板导出Excel报表并复制模板生成多个Sheet页
因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为 根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...
- Npoi导入导出Excel操作
之前公司的一个物流商系统需要实现对订单的批量导入和导出,翻阅了一些资料,最后考虑使用NPOI实现这个需求. 在winform上面实现excel操作:http://www.cnblogs.com/Cal ...
- 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件
今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
随机推荐
- WCF 双工模式
WCF之消息模式分为:1.请求/答复模式2.单向模式3.双工模式 其中,请求/答复模式,在博文: WCF 入门教程一(动手新建第一个WCF程序并部署) WCF 入门教程二 中进行了详细介绍,此处将主要 ...
- win8系统开发者预览版安装中文软件报错怎么办
相信大家看到这边博客时,应该也是遇到类似的问题,这个可能是win8的一个bug.最直接的解决方法是,将目前语言环境由中文改为英文,再安装运行软件应该就不会有问题了. 但是,我们下次在安装应用程序时依然 ...
- SQL server 2012序列号 注册码 z
MICROSOFT SQL SERVER 2012 企业核心版激活码序列号: FH666-Y346V-7XFQ3-V69JM-RHW28 MICROSOFT SQL SERVER 2012 商业智能版 ...
- [King.yue]EXT.Grid行双击事件
.Listeners(l => {l.CellDblClick.Handler = string.Format(@"alert('xx');"); })
- 【转】Getting xrdp to work on CentOS 6.4
vi /etc/selinux/config SELINUX=disabled reboot Step 1: #rpm -Uvh http://pkgs.repoforge.org/rpmforge- ...
- c++/c字符串操作汇集
1. 字符串替换 void string_replace(std::string &strBig, const std::string &strsrc, const std::stri ...
- bzoj 1030 [JSOI2007]文本生成器(AC自动机+DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1030 [题意] 给n个小串,随机构造一个长为m的大串,一个串合法当且仅当包含一个或多个 ...
- mysql日志清理
mysql bin-log 日志清理 发现mysql数据库目录中bin-log中日志文件非常大 [root@localhost var]# du -sh mysql-bin* | sort 1020K ...
- 集群搭建:主机宽带拨号上网,虚拟机使用桥接模式,该如何ping通外网
首先介绍一下看这篇文章需要的基础.需要了解虚拟机的 虚拟机的三种网络模式,有Linux基础知识,这些都是前提.首先介绍一下我的环境:主机:win7虚拟机:VMware Workstation 10虚拟 ...
- NAS、DAS和SAN三种存储究竟是什么?
首先,NAS(Network Attached Storage,网络附加存储)全面改进了以前低效的DAS存储方式,它是采用独立于PC服务器,单独为网络数据存储而开发的一种文件服务器. NAS服务器中集 ...