c# - C#从excel工作表导入时如何处理列表中的空值
问题描述
我正在使用 C# 和 Excelpackage 将工作表从 excel 导入 sql server localdb。我当然在工作表中有空值,例如字符串和双打。在双打上,我通常没有问题。如果workSheet.Cells[i, 1].Value.ToString()上有空值,如何提前处理,然后在数据库上下文类中插入空值?
using (ExcelPackage package = new ExcelPackage(file))
{
ExcelWorksheet workSheet = package.Workbook.Worksheets["Table_Methode"];
int totalRows = workSheet.Dimension.Rows;
List<Methode> methodesList = new List<Methode>();
for (int i = 2; i <= totalRows; i++)
{
methodesList.Add(new Methode
{
NomMethode = workSheet.Cells[i, 1].Value.ToString() == null ? "":workSheet.Cells[i, 1].Value.ToString()
});
}
_context.Methode.AddRange(methodesList);
_context.SaveChanges();
return methodesList;
}
解决方案
我会在添加之前检查空字符串和空字符串:
using (ExcelPackage package = new ExcelPackage(file))
{
ExcelWorksheet workSheet = package.Workbook.Worksheets["Table_Methode"];
int totalRows = workSheet.Dimension.Rows;
List<Methode> methodesList = new List<Methode>();
for (int i = 2; i <= totalRows; i++)
{
if (workSheet.Cells[i, 1].Value != null && workSheet.Cells[i, 1].Value != String.Empty)
{
methodesList.Add(new Methode
{
NomMethode = workSheet.Cells[i, 1].Value.ToString();
});
}
}
_context.Methode.AddRange(methodesList);
_context.SaveChanges();
return methodesList;
}
推荐阅读
- php - 为什么 php artisan migrate 不适用于 Docker?
- java - RestEasy SpringBoot 验证和依赖注入
- c++ - 具有自定义删除器作为类成员的智能指针
- node.js - 您可以将 NodeJS REST API 部署到 Glassfish 吗?
- ruby-on-rails - 选择过滤器后 Rails filterrific 不更新视图
- c# - 获取通过plink创建的子进程的PID
- java - 无法在jsp页面中获取整数值
- python-3.x - 使用 Python cx_Oracle 运行更新查询只会使系统挂起并且不会生成异常
- git - “发布”分支意外合并为“主”
- java - java日期对象的默认Jsonb序列化格式是什么