不少仪器工作站可以将数据导出为Excel文件,包括97-2003版本的xls文件和2007+的xlsx文件。

采集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];

 

C#仪器数据文件解析-Excel文件(xls、xlsx)的更多相关文章

  1. 解析Excel文件并把数据存入数据库

    前段时间做一个小项目,为了同时存储多条数据,其中有一个功能是解析Excel并把其中的数据存入对应数据库中.花了两天时间,不过一天多是因为用了"upload"关键字作为URL从而导致 ...

  2. vue下载和上传excle数据文件,解析excel文件数据并存在数据库中

    下载: VUE: window.open("xxxx/downloadOldTaskDataFile.do_", "_blank"); JAVA: /** * ...

  3. Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)

    JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03  xls格式的Excel. 本文是项目中用到的一个实例,先通过上传xls文件(包含日期),再通过jxl进行读取上传 ...

  4. Jxl创建Excel文件和解析Excel文件

    import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; im ...

  5. 【Java】使用Apache POI生成和解析Excel文件

    概述 Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作,分别有jxl和poi,2种方式. HSSF is the POI Project's pure ...

  6. Python解析excel文件并存入sqlite数据库

    最近由于工作上的需求 需要使用Python解析excel文件并存入sqlite 就此做个总结 功能:1.数据库设计 建立数据库2.Python解析excel文件3.Python读取文件名并解析4.将解 ...

  7. 自动化测试如何解析excel文件?

    前言 自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是 ...

  8. 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转

    效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载])    本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较   ...

  9. 数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm

    using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...

随机推荐

  1. 七,UDP

    那天朋友问我为什么有UDP Sever 和 UDP Client   ,,我说:每个人想的不一样,设计上不一样...... 既然是面向无连接的,那么模块发数据就指定IP和端口号,,,为了能和多个UDP ...

  2. EmEditor编辑器正则表达式的优点

    (1)^[ \t]*\n这个正则表达式代表所有的空行,指含有零个或零个以上空格或制表符.以换行符结尾.不含其它字符的行.(2)(^|(?<=中国)).*?(?=中国|$)用正则表达式匹配特定字符 ...

  3. 转: 【Java并发编程】之十四:图文讲述同步的另一个重要功能:内存可见性

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17288243 加锁(synchronized同步)的功能不仅仅局限于互斥行为,同时还存在另 ...

  4. 命令行利用KVM创建虚拟机

    一,实验环境 OS:CENTOS6.5 X86_64 二,KVM宿主环境配置 1.cat /proc/cpuinfo | egrep 'vmx|svm'  //查看是否支持虚拟技术 2.安装KVM相关 ...

  5. 201521123108《Java程序设计》第3周学习总结

    1. 本章学习总结 2. 书面作业 Q1. 代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  6. MarkDown换行

    现象:1,MarkDown编辑两行显示,但是实际显示为一行: 2,编辑状态中空一行,此时显示为也空了一行,界面显示不友好: 解决:在第一行中最后输入至少2个空格+回车即可显示正常:

  7. 在控制台显示“Hello World”

    //作者:江骆 //功能:在控制台显示"Hello World" //日期:2017.7.19 public class helloworld   //public 表示公共类,一 ...

  8. 创建maven项目pom.xml第一行报错

    之前也创建过几次maven项目,也是第一行报错,之前直接是右键项目强制更新maven好像就解决了,这次遇见这个问题使用这个方法好像不起作用了,给的一堆英文报错又看不懂,幸好在网上看见路人甲大神提示,根 ...

  9. POJ-3045 Cow Acrobats (C++ 贪心)

    Description Farmer John's N (1 <= N <= 50,000) cows (numbered 1..N) are planning to run away a ...

  10. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...