zoukankan      html  css  js  c++  java
  • 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;
            }
  • 相关阅读:
    Java类 初始化块
    Java中 equals和==
    Raft算法
    OLTP与OLAP
    数据库事务机制ACID
    乐观锁和悲观锁
    SparkStreaming + Flume
    如何提高深度睡眠质量,科学解决睡眠问题
    centos 7 下安装mysql 远程连接出现10038错误如何解决
    CentOS 7.0 yum安装Apache、PHP和MySQL
  • 原文地址:https://www.cnblogs.com/itslives-com/p/ExcelPackage.html
Copyright © 2011-2022 走看看