C# Excel使用NPOI
Posted ike_li
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Excel使用NPOI相关的知识,希望对你有一定的参考价值。
程序处理excel使用using Microsoft.Office.Interop.Excel方式,运行程序需要电脑安装excel,而且excel版本还需要一样,使用起来不方便。使用NPOI不用电脑安装office.
下载地址:http://npoi.codeplex.com/
下载NPOI 2.2.1 binary package.zip,解压缩里面有Net20和Net40。我使用的Net40,把里面所有的dll添加引用。
读excel
using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System.IO; private void ReadPatternExcel(string filePath,int sheetIndex) { IWorkbook workBook = null; ISheet sheet; try { FileInfo fileInfo = new FileInfo(filePath); if(fileInfo.Exists) { FileStream fs = fileInfo.OpenRead(); switch (fileInfo.Extension) { //xls是03,用HSSFWorkbook打开,.xlsx是07或者10用XSSFWorkbook打开 case ".xls": workBook = new HSSFWorkbook(fs); break; case ".xlsx": workBook = new XSSFWorkbook(fs); break; default: break; } fs.Close();//关闭文件流 } if(workBook!=null) { sheet = workBook.GetSheetAt(sheetIndex); IRow headerRow = sheet.GetRow(0); int colCount = headerRow.LastCellNum;//列数 //遍历 for(int i=sheet.FirstRowNum;i<=sheet.LastRowNum;i++) { Console.Write("row "+i.ToString()+" "); NPOI.SS.UserModel.IRow row = sheet.GetRow(i);//得到一行 for(int j=row.FirstCellNum;j<row.LastCellNum;j++) { string data = row.GetCell(j).ToString(); Console.Write(data); } Console.WriteLine(); } } } catch(Exception e) { MessageBox.Show(e.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { workBook = null; sheet = null; } }
以上是关于C# Excel使用NPOI的主要内容,如果未能解决你的问题,请参考以下文章
求C# winform 使用NPOI 通过excel模板制作excel导出。