zoukankan      html  css  js  c++  java
  • 使用ExcelPackage,OfficeOpenXml做EXCEL导入时一个方法的坑,对应类的字段只能定义为string类型

    private static List ReadExcelPackage(T t, ExcelPackage package, ExcelWorksheet worksheet, int StartRow = 1) where T : new()
    {
    var rowCount = worksheet.Dimension?.Rows;
    var colCount = worksheet.Dimension?.Columns;

            if (!rowCount.HasValue || !colCount.HasValue)
            {
                return null;
            }
    
            var properties = t.GetType().GetProperties();
            var lists = new List<T>();
    
            for (int row = StartRow; row <= rowCount.Value; row++)
            {
                var model = new T();
                for (int col = 0; col < properties.Length; col++)
                {
                    var value = worksheet.Cells[row, col + 1].Value;
                    properties[col].SetValue(model, value?.ToString());
                }
                lists.Add(model);
            }
    
            return lists;
        }
    

    为了图省事,T类型的类字段只能定义为string类型的,
    如果定义为int类型时等,会出现异常转换错误,使用时要注意。
    ,properties[col].SetValue(model, value?.ToString());

  • 相关阅读:
    clip属性,截取你想要显示的图片
    select背景灰色
    [转]ShowModal() = mrOk
    【转】Delphi-Unit文件结构
    析构方法
    [转]Delphi 7连接MySql /MariaDB
    MySQL/Mariadb遇见的问题
    更换数据库
    FlameRobin
    FireBird初使用
  • 原文地址:https://www.cnblogs.com/hmfl/p/15471123.html
Copyright © 2011-2022 走看看