zoukankan      html  css  js  c++  java
  • C#仪器数据文件解析-Excel文件(xls、xlsx)

    不少仪器工作站可以将数据导出为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];
    

     

  • 相关阅读:
    redis发布订阅
    redis学习笔记(面试题)
    redis安全 (error) NOAUTH Authentication required
    HDU3001 Travelling —— 状压DP(三进制)
    POJ3616 Milking Time —— DP
    POJ3186 Treats for the Cows —— DP
    HDU1074 Doing Homework —— 状压DP
    POJ1661 Help Jimmy —— DP
    HDU1260 Tickets —— DP
    HDU1176 免费馅饼 —— DP
  • 原文地址:https://www.cnblogs.com/mahongbiao/p/7672920.html
Copyright © 2011-2022 走看看