using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DataSendApi.Program.BLL { /// /// Excel操作类 /// public class HandleExcel { /// /// 读取ExcelFile /// /// 文件地址 public List> ReadFromExcelFile(string filePath) { IWorkbook wk = null; List> returnLst = new List>(); string extension = Path.GetExtension(filePath); FileStream fs = File.OpenRead(filePath); if (extension.Equals(".xls")) { //把xls文件中的数据写入wk中 wk = new HSSFWorkbook(fs); } else { //把xlsx文件中的数据写入wk中 wk = new XSSFWorkbook(fs); } fs.Close(); //读取当前表数据 ISheet sheet = wk.GetSheetAt(0); IRow row = sheet.GetRow(0); //读取当前行数据 for (int i = 0; i <= sheet.LastRowNum; i++) { row = sheet.GetRow(i); //读取当前行数据 if (row != null) { List _temp = new List(); //LastCellNum 是当前行的总列数 for (int j = 0; j < row.LastCellNum; j++) { string value = string.Empty; if (row.GetCell(j) != null) //读取该行的第j列数据 value = row.GetCell(j).ToString(); _temp.Add(value); } returnLst.Add(_temp); } } return returnLst; } } }