剑轩

NPOI操作excel 2007/2010版本

电脑版发表于:2018/11/19 16:06

    

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls 

XSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx


先使用Nuget下载NPOI的包



操作Excel2003以前(包括2003)引入

using NPOI.HSSF.UserModel;    

  


操作Excel2007/2010引入

using NPOI.XSSF.UserModel;


NPOI读取Excel2007/2010

public void Npoi()
{
            string url = Server.MapPath("~/excel/Book1.xlsx");
            FileStream filesteam = new FileStream(url, FileMode.Open);
            XSSFWorkbook workbook = new XSSFWorkbook(filesteam);

            XSSFSheet sheet = workbook.GetSheet("Sheet1") as XSSFSheet;

            //遍历excel
            for (int i = 0; i < sheet.LastRowNum; i++)
            {
                XSSFRow row = sheet.GetRow(i) as XSSFRow;
                string number = row.GetCell(0).StringCellValue;
                string usenrame = row.GetCell(1).StringCellValue;

                Response.Write(number + " | ");
                Response.Write(usenrame);
                Response.Write("<br/>");
            }
}



这里说得还有点问题,使用NPOI.HSSF.UserModel还是NPOI.XSSF.UserModel核心还是看后缀,如何后缀是xls就使用NPOI.HSSF.UserModel如果后缀是xlsx就使用NPOI.XSSF.UserModel,因为有些电脑里边excel是安装的很高的版本,但是excel并不是一定是当前电脑这个版本创建出来的。
比如电脑里边装的是excel2016,但是放的确实97-2003的所以还是以excel本身为准


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢