DataTable
是一种用于存储表格数据的 .NET 类型,通常用于 ASP.NET、Windows Forms 和其他 .NET 应用程序中。Excel 文件中的数据可以通过多种方式导入到 DataTable
中,例如使用 OpenXML
、OleDb
或 EPPlus
等库。
DataTable
可以动态添加列和行,非常适合处理不规则的数据集。DataGridView
)绑定,简化数据展示。DataTable
进行进一步处理和分析。DataGridView
。在将数据从 Excel 获取到 DataTable
时,可能会遇到空行的问题。空行不仅占用空间,还可能影响数据处理和分析。
Excel 文件中的空行可能是由于数据录入时的疏忽或格式问题导致的。
以下是使用 EPPlus
库从 Excel 文件导入数据到 DataTable
并跳过空行的示例代码:
using OfficeOpenXml;
using System;
using System.Data;
using System.IO;
public class ExcelHelper
{
public static DataTable GetDataTableFromExcel(string filePath)
{
DataTable dataTable = new DataTable();
using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
using (var package = new ExcelPackage(stream))
{
var worksheet = package.Workbook.Worksheets[0];
int rowCount = worksheet.Dimension.End.Row;
int colCount = worksheet.Dimension.End.Column;
// 添加列
for (int col = 1; col <= colCount; col++)
{
dataTable.Columns.Add(worksheet.Cells[1, col].Value.ToString());
}
// 添加行并跳过空行
for (int row = 2; row <= rowCount; row++)
{
bool isEmptyRow = true;
for (int col = 1; col <= colCount; col++)
{
if (worksheet.Cells[row, col].Value != null)
{
isEmptyRow = false;
break;
}
}
if (!isEmptyRow)
{
DataRow dataRow = dataTable.NewRow();
for (int col = 1; col <= colCount; col++)
{
dataRow[col - 1] = worksheet.Cells[row, col].Value;
}
dataTable.Rows.Add(dataRow);
}
}
}
}
return dataTable;
}
}
通过上述代码,可以有效地从 Excel 文件中导入数据到 DataTable
并跳过空行。EPPlus
库提供了强大的 Excel 处理功能,简化了数据导入的过程。
领取专属 10元无门槛券
手把手带您无忧上云