博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
运用NPOI操作EXCEL
阅读量:5080 次
发布时间:2019-06-12

本文共 3970 字,大约阅读时间需要 13 分钟。

一、引入NPOI程序集

下载地址:

二、运用NPOI导出成excel文件

1 protected void btnOutExcel_Click(object sender, EventArgs e) 2         { 3             HSSFWorkbook workbook = new HSSFWorkbook();//创建一个工作薄 4             ISheet sheet1 = workbook.CreateSheet("学员信息页");//创建一个sheet页 5             IRow rowHeader = sheet1.CreateRow(0);//创建第一行 6             //设置表头内容 7             rowHeader.CreateCell(0, CellType.STRING).SetCellValue("ID");//创建第一行第一列的单元格,设定里面的值为ID 8             rowHeader.CreateCell(1, CellType.STRING).SetCellValue("姓名"); 9             rowHeader.CreateCell(2, CellType.STRING).SetCellValue("用户名");10             rowHeader.CreateCell(3, CellType.STRING).SetCellValue("手机号");11             rowHeader.CreateCell(4, CellType.STRING).SetCellValue("班级");12             rowHeader.CreateCell(5, CellType.STRING).SetCellValue("创建时间");13             //设置数据内容14             OpenDB();15             string strSql = "select UserId,RealName,UserName,PhoneNum,Phase,CreatedTime from UserInfor";16             using (cmd = new SqlCommand(strSql, con))17             {18                 using (read = cmd.ExecuteReader())19                 {20                     int i = 0;21                     while (read.Read())22                     {23                         i++;24                         IRow rowData = sheet1.CreateRow(i);25                         rowData.CreateCell(0, CellType.STRING).SetCellValue(read["UserId"].ToString());//创建第一行第一列的单元格,设定里面的值为ID26                         rowData.CreateCell(1, CellType.STRING).SetCellValue(read["RealName"].ToString());27                         rowData.CreateCell(2, CellType.STRING).SetCellValue(read["UserName"].ToString());28                         rowData.CreateCell(3, CellType.STRING).SetCellValue(read["PhoneNum"].ToString());29                         rowData.CreateCell(4, CellType.STRING).SetCellValue(read["Phase"].ToString());30 31                         ICellStyle styledate = workbook.CreateCellStyle();32                         IDataFormat format = workbook.CreateDataFormat();33                         styledate.DataFormat = format.GetFormat("yyyy\"年\"m\"月\"d\"日\"");34                         ICell cellInDate = rowData.CreateCell(5, CellType.NUMERIC);35                         cellInDate.CellStyle = styledate;36                         cellInDate.SetCellValue(read["CreatedTime"].ToString());37                     }38                     using (Stream stream = File.OpenWrite("e:/1.xls"))39                     {40                         workbook.Write(stream);41                     }42                 }43             }44         }

三、从excel文件里面导出数据

1 protected void btnFromExcel_Click(object sender, EventArgs e) 2         { 3             StringBuilder sb = new StringBuilder(); 4             sb.Append("
"); 5 sb.Append("
"); 6 using (Stream stream = File.OpenRead("e:/1.xls")) 7 { 8 HSSFWorkbook workbook = new HSSFWorkbook(stream); 9 int j = workbook.GetSheetAt(0).LastRowNum;10 for (int row = 1; row <= j; row++)11 {12 sb.Append("
");13 sb.Append(string.Format("
", workbook.GetSheetAt(0).GetRow(row).GetCell(0).StringCellValue, workbook.GetSheetAt(0).GetRow(row).GetCell(1).StringCellValue, workbook.GetSheetAt(0).GetRow(row).GetCell(2).StringCellValue, workbook.GetSheetAt(0).GetRow(row).GetCell(3).StringCellValue, workbook.GetSheetAt(0).GetRow(row).GetCell(4).StringCellValue, workbook.GetSheetAt(0).GetRow(row).GetCell(5).StringCellValue));14 sb.Append("
");15 }16 }17 sb.Append("
ID 姓名 用户名 手机号 班级 创建时间
{0} {1} {2} {3} {4} {5}
");18 Response.Write(sb.ToString());19 }

转载于:https://www.cnblogs.com/mengfei001/p/4243338.html

你可能感兴趣的文章
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>
bzoj 2456: mode【瞎搞】
查看>>
[Typescript] Specify Exact Values with TypeScript’s Literal Types
查看>>
[GraphQL] Reuse Query Fields with GraphQL Fragments
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
两种最常用的Sticky footer布局方式
查看>>