C# 操作Excel文件之NPOI (二)

该博客将分3篇文章介绍Excel日常操作,如读取、写入、格式设置等。本篇记录使用NPOI创建Excel文件并写入数据,实现将dataGridView中的数据导出到Excel,还给出开发环境和实现代码,下一篇将介绍设置Excel样式操作。

此方式会通过3篇文章将关于Excel的一些日常操作给实现出来,分别为:读取、写入、格式设置等;让其可以满足我们的日常工作需求。

本篇要记录的是使用NPOI创建Excel文件并将数据写入。

实现功能:

使用NPOI的方式将dataGridView中的数据导出到Excel

开发环境:

开发工具: Visual Studio 2013

.NET Framework版本:4.5

实现代码:

首先需要导入以下命名空间:

using NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System.IO;
DataTable dt = dataGridView1.DataSource as DataTable;

   //指定excel所在路径
   string excelPath = "d:\\2.xlsx";

   //以文件流创建excel文件
   FileStream fs = new FileStream(excelPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
   //Offic2007以上
   IWorkbook workbook = new XSSFWorkbook();
   //Offic2007以下
   if (excelPath.ToLower().EndsWith(".xls"))
   {
       workbook = new HSSFWorkbook();
   }
   //创建一个sheet页
   ISheet sheet = workbook.CreateSheet("sheet1");
   
   //创建第一行数据并将表头写进去
   IRow rowHead = sheet.CreateRow(0);
   for (int j = 0; j < dt.Columns.Count; j++)
   {
       rowHead.CreateCell(j).SetCellValue(dt.Columns[j].ColumnName);

   }
  
   //将数据逐行写入
   for (int i = 0; i < dt.Rows.Count; i++)
   {
       IRow row = sheet.CreateRow(i + 1);
       for (int j = 0; j < dt.Columns.Count; j++)
       {
           row.CreateCell(j).SetCellValue(Convert.ToString(dt.Rows[i][j]));
       }
   }
   workbook.Write(fs);
   //资源释放
   workbook.Close();

至此,一个简单的导入Excel功能就完成了,下一篇介绍下关于设置Excel样式的一些操作。

由简入繁,拿来即用

更多精彩,请关注微信公众号:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值