Winform中使用NPOI实现Excel导入并赋值给DataTable 您所在的位置:网站首页 datatables教程 Winform中使用NPOI实现Excel导入并赋值给DataTable

Winform中使用NPOI实现Excel导入并赋值给DataTable

2023-03-15 22:05| 来源: 网络整理| 查看: 265

private void button2_Click(object sender, EventArgs e) { ISheet sheet = null; DataTable data = new DataTable(); IWorkbook workbook = null; int startRow = 0; try {

//获取文件名,不带路径 string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1); //以文件流的形式打开文件 fs = new FileStream(localFilePath, FileMode.Open, FileAccess.Read); // 2007版本 if (fileNameExt.IndexOf(".xlsx") > 0) workbook = new XSSFWorkbook(fs); // 2003版本 else if (fileNameExt.IndexOf(".xls") > 0) workbook = new HSSFWorkbook(fs);

if (fileNameExt != null) { sheet = workbook.GetSheet("sheet1"); //如果没有找到指定的sheetName对应的sheet,则尝试获取第一个sheet if (sheet == null) { sheet = workbook.GetSheetAt(0); } } else { sheet = workbook.GetSheetAt(0); } if (sheet != null) { IRow firstRow = sheet.GetRow(0); //第一行最后一个cell的编号 即第一行总的列数 int cellCount = firstRow.LastCellNum; for (int i = firstRow.FirstCellNum; i < cellCount; ++i) { ICell cell = firstRow.GetCell(i); if (cell != null) { string cellValue = cell.StringCellValue; if (!string.IsNullOrEmpty(cellValue)) { //设置DataTable的第一行的显示内容即标题行 DataColumn column = new DataColumn(cellValue); data.Columns.Add(column); } } }

//excel表格中的第一行作为dataTable的标题 //所以从第二行开始 startRow = sheet.FirstRowNum+1; //获取最后一行的标号 int rowCount = sheet.LastRowNum; for (int i = startRow; i



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有