当前位置: 移动技术网 > IT编程>开发语言>c# > C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)

C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)

2019年07月18日  | 移动技术网IT编程  | 我要评论
前言 大家都知道,不少仪器工作站可xls文件和2007+的xl以将数据导出为excel文件,包括97-2003版本的sx文件。 采集excel文件相比采集pdf文件更容

前言

大家都知道,不少仪器工作站可xls文件和2007+的xl以将数据导出为excel文件,包括97-2003版本的sx文件。

采集excel文件相比采集pdf文件更容易、程序更健壮,毕竟excel中数据有明确的行、列的定义,利于数据解析。

excel早期的xls文件和后来的xlsx文件的格式不一样,xls是二进制特定格式文件,xlsx是zip压缩包,其中数据使用xml定义。虽然两种文件格式定义不同,但解析文件数据可以通过中间件,因此只要理解了excel文件的工作簿、sheet页、行、列、单元格等概念即可,无需了解其文件的详细定义方式。

常用的采集excel文件数据的方式有:

      1.通过ole db的方式,将excel文件作为数据库进行查询来获取数据;

      2.使用ms excel应用程序来读取excel文件数据;

      3.使用wps应用程序来读取;

      4.使用其他office软件来读取;

      5.使用ms open xml来读取;

      6.使用npoi组件读取;

      7.……

方式有很多,但各有优劣,比如ms excel应用程序有版权的问题,wps等应用程序即使免费也需要安装,另外通过dcom调用应用程序需要配置权限;

无需应用程序的方式,可以通过npoi、ms open xml等方式,使用xml读取excel的组件一般仅支持excel 2007+,毕竟该版本的excel文件是xml的;

但npoi比较逆天,可以读取xls和xlsx文件,并且操作方式一致。

以下代码为打开excel文件,并读取其sheet页、行、单元格值:

filestream filestream = new filestream(filename, filemode.open, fileaccess.read);
xssfworkbook = new xssfworkbook(filestream);
isheet sheetat = xssfworkbook.getsheetat(num);
irow row = sheetat.getrow(rownum);
icell cell = row.cells[index];

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对移动技术网的支持。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网