• ExcelPackage 读取、导出excel


            private static string GetString(object obj)
            {
                try
                {
                    return obj.ToString();
                }
                catch (Exception ex)
                {
                    return "";
                }
            }
    
            /// <summary>
            ///将指定的Excel的文件转换成DataTable (Excel的第一个sheet)
            /// </summary>
            /// <param name="fullFielPath">文件的绝对路径</param>
            /// <returns></returns>
            public DataTable WorksheetToTable(string filePath)
            {
                try
                {
                    FileInfo existingFile = new FileInfo(filePath);
    
                    ExcelPackage package = new ExcelPackage(existingFile);
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1];//选定 指定页
    
                    return WorksheetToTable(worksheet);
                }
                catch (Exception)
                {
                    throw;
                }
            }
    
            /// <summary>
            /// 将worksheet转成datatable
            /// </summary>
            /// <param name="worksheet">待处理的worksheet</param>
            /// <returns>返回处理后的datatable</returns>
            public static DataTable WorksheetToTable(ExcelWorksheet worksheet)
            {
                //获取worksheet的行数
                int rows = worksheet.Dimension.End.Row;
                //获取worksheet的列数
                int cols = worksheet.Dimension.End.Column;
    
                DataTable dt = new DataTable(worksheet.Name);
                DataRow dr = null;
                for (int i = 1; i <= rows; i++)
                {
                    if (i > 1)
                        dr = dt.Rows.Add();
    
                    for (int j = 1; j <= cols; j++)
                    {
                        //默认将第一行设置为datatable的标题
                        if (i == 1)
                            dt.Columns.Add(GetString(worksheet.Cells[i, j].Value));
                        //剩下的写入datatable
                        else
                            dr[j - 1] = GetString(worksheet.Cells[i, j].Value);
                    }
                }
                return dt;
            }
  • 相关阅读:
    (01)Docker简介
    Gym-101242B:Branch Assignment(最短路,四边形不等式优化DP)
    2019牛客暑期多校训练营(第三场)G: Removing Stones(启发式分治)
    POJ
    高维前缀和
    HDU
    BZOJ
    HDU
    POJ
    Gym-100648B: Hie with the Pie(状态DP)
  • 原文地址:https://www.cnblogs.com/itslives-com/p/ExcelPackage.html
Copyright © 2020-2023  润新知