1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C#读取Excel文件

C#读取Excel文件

时间:2021-01-11 04:50:56

相关推荐

C#读取Excel文件

# C#读取Excel数据

在visual studio 创建一个Form窗体文件,设计一个Button按钮和一个GridView控件(用来显示Excel中的数据)

本文引用了NPOI第三方程序包,可以在VS中通过NuGet搜索下载

private void Button1_Click(object sender, EventArgs e){//实例化DataTable来存放数据DataTable dt = new DataTable();string fileName = @"你的文件路径";string sheetName = "sheet1";//Excel的工作表名称bool isColumnName = true;//判断第一行是否为标题列IWorkbook workbook;//创建一个工作薄接口string fileExt = Path.GetExtension(fileName).ToLower();//获取文件的拓展名//创建一个文件流using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)){if (fileExt == ".xlsx"){workbook = new XSSFWorkbook(fs);}else{workbook = null;}//实例化sheetISheet sheet = null;if (sheetName != null && sheetName != "")//判断是否存在sheet{sheet = workbook.GetSheet(sheetName);if (sheet == null){sheet = workbook.GetSheetAt(0);//从第一个开始读取,0位索引}else{sheet = workbook.GetSheetAt(0);}}//获取表头IRow header = sheet.GetRow(sheet.FirstRowNum);int startRow = 0;//数据的第一行索引if (isColumnName)//表示第一行是列名{startRow = sheet.FirstRowNum + 1;//数据从第二行开始读//遍历表的第一行,即所有的列名for (int i = header.FirstCellNum; i < header.LastCellNum; i++){ICell cell = header.GetCell(i);if (cell != null){//获取列名的值string cellValue = cell.ToString();if (cellValue != null){DataColumn col = new DataColumn(cellValue);dt.Columns.Add(col);}else{DataColumn col = new DataColumn();dt.Columns.Add(col);}}}}//读取数据for (int i = startRow; i <= sheet.LastRowNum; i++){IRow row = sheet.GetRow(i);if (row == null){continue;}DataRow dr = dt.NewRow();for (int j = row.FirstCellNum; j < row.LastCellNum; j++){if (row.GetCell(j) != null){dr[j] = row.GetCell(j).ToString();}}dt.Rows.Add(dr);}}dataGridView1.DataSource = dt;}

然后启动程序,点击button按钮,即可读取Excel中的数据。

窗体数据

Excel数据

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。