using System; using System.Data; using System.Data.Odbc; using System.Data.OleDb; using System.IO; using System.Reflection; using System.Text; using System.Web; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; /* Importante Baixar as dll's NPOI.dll e Ionic.Zip.dll */ namespace Jbkr.Utils { ///<summary> /// Classe para importar dados de uma planilha do excel. /// </summary> public class ImportExcel { /// <summary> /// Função de importação de planilha excel. /// </summary> /// <param name="arquivo">Caminho absoluto da planilha</param> /// <returns>Um objeto DataTable contendo as informações da planilha Excel</returns> public DataTable Importar(string arquivo) { FileStream file = new FileStream(arquivo, FileMode.Open, FileAccess.Read); HSSFWorkbook hssfworkbook = new HSSFWorkbook(file); ISheet sheet = hssfworkbook.GetSheetAt(0); System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); DataTable dt = new DataTable(); while (rows.MoveNext()) { IRow row = (HSSFRow)rows.Current; DataRow dr = dt.NewRow(); if (row.RowNum == 0) { for (int j = 0; j < row.LastCellNum; j++) { dt.Columns.Add(Convert.ToChar(((int)'A') + j).ToString()); } continue; } for (int i = 0; i < row.LastCellNum; i++) { ICell cell = row.GetCell(i); if (cell == null) { dr[i] = null; } else { dr[i] = cell.ToString(); } } dt.Rows.Add(dr); } return dt; } } }