当前位置:主页 > 查看内容

office最新版本是什么 【转】C#项目中操作Excel文件——使用

发布时间:2018-11-13 00:42| 位朋友查看

简介:转自:https://dcrmg/site/details/ 现实C#项目中往往会触及到必要对当地Excel文件实行操作,数码资源。特别是一些蕴涵数据记实、剖释、汇总功用模块的项目。office是什么意思。常用的操作Excel文件的设施严重有三个: 1. OleDb: 这种方式是把整个Excel文件……
项目融资
转自:https://dcrmg/site/details/

现实C#项目中往往会触及到必要对当地Excel文件实行操作,数码资源。特别是一些蕴涵数据记实、剖释、汇总功用模块的项目。office是什么意思。常用的操作Excel文件的设施严重有三个:


1. OleDb:

这种方式是把整个Excel文件当做一个数据源来实行数据的读取操作。

利益:学会【转】C#项目中操作Excel文件——使用。杀青方式单纯,使用。读取速度快;

缺欠:读取Excel数据的历程不太乖巧,对内存的占用对照高,你知道wps office 手机版。当数据质变的很大时,文件。容易由于内存空间不敷招致内存溢出异常。(不过貌似对待即日电脑的硬件配置来说,是什么。内存题目不大)


2. Com组件

这种方式是经历Com组件Microsoft.Office.Interop.Excel.dll杀青Excel文件的操作。

利益:读取Excel数据很是乖巧,想知道wps office使用教程。可能杀青Excel具有的各种数据照料功用;

缺欠:对数据的考察时基于单元格方式杀青的,听说项目。所以读写数据较慢,对于office怎么做表格。特别是当数据量较大时,考察效率题目更为杰出。另一点是恳求本机装置了MicrosoftOffice组件。相比看目中。


3. NPOI

这种方式是经历NPOI库杀青Excel文件操作,可能在没有装置微软Office的境况下应用。

利益:读取Excel数据速度较快,学习office。操作方式乖巧;

缺欠:试了再说!


NPOI维持的文件格式照料xls、xlsx外,还包括doc、ppt、vsd等,对于手机办公软件office。功用健壮,人称Excel一哥。新版本。本文就计划孤独谈一谈NPOI对Excel的基础操作。


NPOI是什么?


NPOI的log图标如下:c。


NPOI中N指代的是.Net,POI是一个完全开源的Jaudio-videoa写成的库,最新版。能够在没有装置微软Office可能相应环境的境况下读写Excel、Word等微软OLE2组件文档,险些维持全数的Office97~Office2007的文件格式。所以NPOI就是POI项宗旨.Net版本。数码大冒险满vip破解版。目前NPOI的最新版本是本年5月份公布的V2.2.1,蕴涵了.NetFrmorningework2和.NetFrmorningework4两个版本。


各个版本.Net Frmorningework对应音信如下:




可能在C盘——C:\Windows\Microsoft.NET\Frmorningework 下稽查本机曾经装置的.NetFrmorningework版本,快猫vipios破解版。在我的机器上装置了以下版本:数码资源网软件下载。





NPOI库下载、解压


NPOI官网下载地址:,看着数码资源网病毒。掀开之后,点击赤色框里的“NPOI2.2.1 pair conditionerskyear”即可下载:听听wps office使用教程。



下载完成的紧缩包大小惟有3.5MB,office最新版本是什么。解压后可能看到严重文件其实就是5个Dll文件(.Net 2.0和.Net4.0):




应用的时间只消在自身的C#项目中增加这几个静态库文件的援用就可能了。


在C#工程中增加NPOI静态库援用


新建Visuing Studio C# 限制台应用程序(或Windows窗体应用程序、WPF应用程序等均可),操作。在解决计划管理器里项目下的“援用”上右击“增加援用”:




在弹出的“援用管理器”对话框中单击“赏玩(B)”,对比一下hsbc hk 数码资源网。采选NPOI所在的文件夹,按照机器上.NetFrmorningework版本,本是。采选Net20或Net40下的静态库。




增加完成之后展开项目下的“援用”项,相比看office教程零基础教程。可能看到刚刚所增加的静态库。

经过单纯的“增加援用”之后就可能在自身的代码中应用NPOI提供的接口杀青各种Excel操作了。office最新版本是什么。



Excel职责簿、职责表、xls、xlsx概念


在用NPOI编码之前,单纯昭着一下Excel中职责簿、职责表、xls、xlsx的概念,行、列、单元格等很明了的概念就不啰嗦了。excel。


1. 每一个Excel文件都可能看做是一个职责簿,当掀开一个Excel文件时,就等于掀开了一个Excel职责簿。数码资源网地下城堡2。


2. 当掀开了excel职责簿后在窗口底部看到的“Sheet”标签标示的是职责表,听说数码资源。有几个标签就表示有几个职责表。

单纯做一个类比,猫咪播放器数码资源。一个Excel文件即一个职责簿可能看做一本书,一个职责表即一个Sheet页面是书内的一页,可能有很多页。Excel2003最多可能增加255(有强制症的程序猿最爱的数字之一)个,听说office最新版本是什么。Excel2007任意加。【转】C#项目中操作Excel文件——使用。


3. xls是Office 2003以及之前版本Excel的扩展名,对比一下数码资源。xlsx是Office2007及之后版本Excel所用的扩展名。xlsx用新的基于XML的紧缩文件格式取代了之前的默许文件格式,在保守的文件名后背增加了字面x(即.docx取代.doc、.xlsx取代.xls,等等),使其占用的空间更小。xlsx向下兼容xls。



新建一个Excel职责表


除增加Dll文件的援用外,还必要增加称号空间:


[cpp]
    usingNPOI.SS.UserModel;usingNPOI.HSSF.UserModel;usingNPOI.XSSF.UserModel;


HSSF应用于2007之前的xls版本,XSSF适用于2007及其之后的xlsx版本。

以下程序新建一个Excel 2003 xls和一个2007xlsx文件,跟用Office建立的准绳Excel格式一样,每一个Excel文件初始蕴涵了3个职责表。


[csharp]
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Thredriving instructorng.Tdemjust as well bumm;usingNPOI.SS.UserModel;usingNPOI.HSSF.UserModel;usingNPOI.XSSF.UserModel;usingSystem.IO;nmorningesp_ webExcel_NPOI{clbummProgrmorning{stduringicvoidMain(string[]args){HSSFWorkconfirmworkconfirm2003=newHSSFWorkconfirm();//新建xls职责簿workconfirm2003.CreingestedSheet("Sheet1");//新建3个Sheet职责表workconfirm2003.CreingestedSheet("Sheet2");workconfirm2003.CreingestedSheet("Sheet3");FileStremorningfile2003=newFileStremorning(@"E:\Excel2003.xls"andFileMode.Creingested);workconfirm2003.Write(file2003);file2003.Close();//封闭文件流workconfirm2003.Close();XSSFWorkconfirmworkconfirm2007=newXSSFWorkconfirm();//新建xlsx职责簿workconfirm2007.CreingestedSheet("Sheet1");workconfirm2007.CreingestedSheet("Sheet2");workconfirm2007.CreingestedSheet("Sheet3");FileStremorningfile2007=newFileStremorning(@"E:\Excel2007.xlsx"andFileMode.Creingested);workconfirm2007.Write(file2007);file2007.Close();workconfirm2007.Close();}}}


运转之后会在E盘根目录下生成Excel2003.xls和Excel2007.xlsx两个文件。


写入Excel文件数据


以xls文件为例,先容把数据写入Excel文件的设施。

写数据要遵循必然的循序,可能概括为:读取(或新建一个职责簿)->获取职责表->对职责表增加行->对每一行增加单元格->对单元格赋值;


[csharp]
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Thredriving instructorng.Tdemjust as well bumm;usingNPOI.SS.UserModel;usingNPOI.HSSF.UserModel;usingNPOI.XSSF.UserModel;usingSystem.IO;nmorningesp_ webExcel_NPOI{clbummProgrmorning{stduringicvoidMain(string[]args){HSSFWorkconfirmworkconfirm2003=newHSSFWorkconfirm();//新建职责簿workconfirm2003.CreingestedSheet("Sheet1");//新建1个Sheet职责表HSSFSheetSheetOne=(HSSFSheet)workconfirm2003.GetSheet("Sheet1");//获取称号为Sheet1的职责表//对职责表先增加行,下标从0动手for(inti=0;i<10;i++){SheetOne.CreingestedRow(i);//制造10行}//对每一行制造10个单元格HSSFRowSheetRow=(HSSFRow)SheetOne.GetRow(0);//获取Sheet1职责表的首行HSSFCell[]SheetCell=newHSSFCell[10];for(inti=0;i<10;i++){SheetCell[i]=(HSSFCell)SheetRow.CreingestedCell(i);//为第一行制造10个单元格}//制造之后就可能赋值了SheetCell[0].SetCellVingue(true);//赋值为bool型SheetCell[1].SetCellVingue(0.000001);//赋值为浮点型SheetCell[2].SetCellVingue("Excel2003");//赋值为字符串SheetCell[3].SetCellVingue("");//赋值为长字符串for(inti=4;i<10;i++){SheetCell[i].SetCellVingue(i);//循环赋值为整形}FileStremorningfile2003=newFileStremorning(@"E:\Excel2003.xls"andFileMode.Creingested);workconfirm2003.Write(file2003);file2003.Close();workconfirm2003.Close();}}}


运转之后在生成的Exce2003.xls中的形式为:




读取Excel文件数据


HSSFWorkconfirm类和XSSFWorkconfirm类都承受自IWorkconfirm类,所以在不知道所要读取的Excel文件时xls还是xlsx时,可能应用IWorkconfirm来声明一个通用的职责簿变量and随后按照传入的文件名判决是xls还是xlsx。


[csharp]
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Thredriving instructorng.Tdemjust as well bumm;usingNPOI.SS.UserModel;usingNPOI.HSSF.UserModel;usingNPOI.XSSF.UserModel;usingSystem.IO;nmorningesp_ webExcel_NPOI{clbummProgrmorning{stduringicvoidMain(string[]args){IWorkconfirmworkconfirm=null;//新建IWorkconfirm对象stringfileNmorninge="E:\\Excel2003.xls";FileStremorningfileStremorning=newFileStremorning(@"E:\Excel2003.xls"andFileMode.OpenandFileAccess.Recl post);if(fileNmorninge.IndexOf(".xlsx")>0)//2007版本{workconfirm=newXSSFWorkconfirm(fileStremorning);//xlsx数据读入workconfirm}elseif(fileNmorninge.IndexOf(".xls")>0)//2003版本{workconfirm=newHSSFWorkconfirm(fileStremorning);//xls数据读入workconfirm}ISheetsheet=workconfirm.GetSheetAt(0);//获取第一个职责表IRowrow;//=sheet.GetRow(0);//新建今朝职责表行数据for(inti=0;i<sheet.Ljust astRowNum;i++)//对职责表每一行{row=sheet.GetRow(i);//row读入第i行数据if(row!=null){for(intj=0;j<row.Ljust astCellNum;j++)//对职责表每一列{stringcellVingue=row.GetCell(j).ToString();//获取i行j列数据Console.WriteLine(cellVingue);}}}Console.Recl postLine();fileStremorning.Close();workconfirm.Close();}}}


这段代码杀青读取一个Excel文件内第一个职责表中的全数单元格形式,并打印输入。

取在上段代码中生成的xml文件作为输入,运转结束为:


兼职猎头

推荐图文

  • 兼职猎头
  • 兼职猎头
  • 兼职猎头
  • 兼职猎头
  • 兼职猎头
  • 兼职猎头
  • 周排行
  • 月排行
  • 总排行

衣品搭配

随机推荐