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;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM