c#如何在linux下读取excel表格数据

c#如何在linux下读取excel表格数据

  • 1、前言
  • 2、安装ExcelDataReader
  • 3、安装ExcelDataReader.DataSet
  • 4、读取Excel表格数据
  • 5、总结

1、前言

项目中,有时候需要在linux下读取excel表格的数据,但是linux下并没有微软的office组件,那如何读取呢?
安排!

2、安装ExcelDataReader

管理NuGet程序包中安装ExcelDataReader
如下图所示:
c#如何在linux下读取excel表格数据_第1张图片
c#如何在linux下读取excel表格数据_第2张图片

3、安装ExcelDataReader.DataSet

管理NuGet程序包中安装ExcelDataReader.DataSet
如下图所示:
c#如何在linux下读取excel表格数据_第3张图片
c#如何在linux下读取excel表格数据_第4张图片

4、读取Excel表格数据

以下函数,即实现了在linux下读取excel表格的数据

public System.Data.DataTable ReadExcelToDataTable(string fileNmaePath)
        {
            FileStream stream = null;
            IExcelDataReader excelReader = null;
            DataSet dataSet = null;
            try
            {
                //stream = File.Open(fileNmaePath, FileMode.Open, FileAccess.Read);
                stream = new FileStream(fileNmaePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            }
            catch
            {
                return null;
            }
            string extension = Path.GetExtension(fileNmaePath);

            if (extension.ToUpper() == ".XLS")
            {
                excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
            }
            else if (extension.ToUpper() == ".XLSX")
            {
                excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
            }
            else
            {
                return null;
            }
            
            dataSet = excelReader.AsDataSet(new ExcelDataSetConfiguration()
            {
                ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
                {
                    UseHeaderRow = true
                }
            });
            excelReader.Close();
            System.Data.DataTable dt = dataSet.Tables[0];
            return dt;
        }

5、总结

在linux下读取excel表格其实非常简单,就以上的几个步骤。

你可能感兴趣的:(c#,linux,excel)