npoi导出excel乱码(npoi导出excel的格式)

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

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

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

rw.haO22.com

实现功能:

使用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();

rw.haO22.com

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

rw.haO22.com