运用NPOI操作EXCEL
一、引入NPOI程序集
下载地址:http://pan.baidu.com/s/1qWI3Vgo
二、运用NPOI导出成excel文件
protected void btnOutExcel_Click(object sender, EventArgs e)
{
HSSFWorkbook workbook = new HSSFWorkbook();//创建一个工作薄
ISheet sheet1 = workbook.CreateSheet("学员信息页");//创建一个sheet页
IRow rowHeader = sheet1.CreateRow();//创建第一行
//设置表头内容
rowHeader.CreateCell(, CellType.STRING).SetCellValue("ID");//创建第一行第一列的单元格,设定里面的值为ID
rowHeader.CreateCell(, CellType.STRING).SetCellValue("姓名");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("用户名");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("手机号");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("班级");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("创建时间");
//设置数据内容
OpenDB();
string strSql = "select UserId,RealName,UserName,PhoneNum,Phase,CreatedTime from UserInfor";
using (cmd = new SqlCommand(strSql, con))
{
using (read = cmd.ExecuteReader())
{
int i = ;
while (read.Read())
{
i++;
IRow rowData = sheet1.CreateRow(i);
rowData.CreateCell(, CellType.STRING).SetCellValue(read["UserId"].ToString());//创建第一行第一列的单元格,设定里面的值为ID
rowData.CreateCell(, CellType.STRING).SetCellValue(read["RealName"].ToString());
rowData.CreateCell(, CellType.STRING).SetCellValue(read["UserName"].ToString());
rowData.CreateCell(, CellType.STRING).SetCellValue(read["PhoneNum"].ToString());
rowData.CreateCell(, CellType.STRING).SetCellValue(read["Phase"].ToString()); ICellStyle styledate = workbook.CreateCellStyle();
IDataFormat format = workbook.CreateDataFormat();
styledate.DataFormat = format.GetFormat("yyyy\"年\"m\"月\"d\"日\"");
ICell cellInDate = rowData.CreateCell(, CellType.NUMERIC);
cellInDate.CellStyle = styledate;
cellInDate.SetCellValue(read["CreatedTime"].ToString());
}
using (Stream stream = File.OpenWrite("e:/1.xls"))
{
workbook.Write(stream);
}
}
}
}
三、从excel文件里面导出数据
protected void btnFromExcel_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append("<table>");
sb.Append("<tr><th>ID</th><th>姓名</th><th>用户名</th><th>手机号</th><th>班级</th><th>创建时间</th></tr>");
using (Stream stream = File.OpenRead("e:/1.xls"))
{
HSSFWorkbook workbook = new HSSFWorkbook(stream);
int j = workbook.GetSheetAt().LastRowNum;
for (int row = ; row <= j; row++)
{
sb.Append("<tr>");
sb.Append(string.Format("<td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td>", workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue));
sb.Append("</tr>");
}
}
sb.Append("<table>");
Response.Write(sb.ToString());
}
运用NPOI操作EXCEL的更多相关文章
- NPOI操作Excel辅助类
/// <summary> /// NPOI操作excel辅助类 /// </summary> public static class NPOIHelper { #region ...
- NPOI操作excel之写入数据到excel表
在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; u ...
- C#开发中使用Npoi操作excel实例代码
C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...
- 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数
2.4.1 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数 NPOI教程:http://www.cnb ...
- C# 如何使用NPOI操作Excel以及读取合并单元格等
C#操作Excel方法有很多,以前用的需要电脑安装office才能用,但因为版权问题公司不允许安装office.所以改用NPOI进行Excel操作,基本上一些简单的Excel操作都没有问题,读写合并单 ...
- 用NPOI操作EXCEL-锁定列CreateFreezePane()
public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkboo ...
- .NET 通过 NPOI 操作 Excel
目录 .NET 通过 NPOI 操作 Excel 第一步:通过 NuGet 获取 NPOI 包并引入程序集 第二步:引入 NPOI 帮助类 第三步:在程序中调用相应的方法对数据进行导出导入操作 将 D ...
- 2.6.2 用NPOI操作EXCEL--设置密码才可以修改单元格内容
2.6.2 用NPOI操作EXCEL--设置密码 有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的.在Excel中,可以通过“审阅->保护工作表”来完 ...
- 使用NPOI操作Excel文件及其日期处理
工作中经常遇到需要读取或导出Excel文件的情况,而NPOI是目前最宜用.效率最高的操作的Office(不只是Excel哟)文件的组件,使用方便,不详细说明了. Excel工作表约定:整个Excel表 ...
- C#通过NPOI操作Excel
参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-post.html http://www.yuanjiaocheng.net/w ...
随机推荐
- UVa 1629 Cake slicing (记忆化搜索)
题意:一个矩形蛋糕上有好多个樱桃,现在要做的就是切割最少的距离,切出矩形形状的小蛋糕,让每个蛋糕上都有一个樱桃,问最少切割距离是多少. 析:很容易知道是记忆化搜索,我们用dp[u][d][l][r]来 ...
- Java中重写与重载的辨析
摘要:在我们学习Java过程中,重写与重载使我们在面向对象里要学习的重要知识点之一,那我们看看它们有那些区别: 一.重写 1.概念:简单的说就是子类将从父类继承而来的方法重新实现一次. 2.特点: ① ...
- 【转】一个安全测试的CheckList
转自:http://hi.baidu.com/dontcry/item/90c2bc466558c217886d1075 不登录系统,直接输入登录后的页面的URL是否可以访问: 不登录系统,直接输入下 ...
- HttpClient 设置代理方式
HttpClient httpClient = new HttpClient(); //设置代理服务器的ip地址和端口 httpClient.getHostConfiguration().setPro ...
- GLSL 基础量定义
GLSL语法跟C语言非常相似: 1.数据类型: GLSL包含下面几种简单的数据类型 float bool :false or ture int 向量: vec {2,3,4} 长度为2, ...
- On Memory Leaks in Java and in Android.
from:http://chaosinmotion.com/blog/?p=696 Just because it's a garbage collected language doesn't mea ...
- ios开发——面试篇C语言精华
面试篇C语言精华 1.面向过程:分析解决问题所需要的步骤,然后用函数把这些步骤一步一步实 现. 面向对象:直接描述客观世界的对象及其相互关系.现实世界中任何实体都 可以看作是对象,对象之间通过消 ...
- Metadata Lock原理5
[MySQL] 之一2015-09-05 15:46:51 分类: MySQL 一 简介 和MySQL打交道比较多的朋友,肯定遇到过 "Waiting for table metadata ...
- Fedora安装
转载:http://www.51ou.com/browse/fedora/33174.html 安装fedora后的20个系统设置 安装VirtualBox增强工具 1.编辑sudoers文件,先备份 ...
- Qt设置horizontal line 和vertical line 的颜色
Qt的horizontal line 和vertical line 是由QFame实现的 QFrame *line = new QFrame(this); line->setGeometry(Q ...