C# Classe para importação de arquivo Excel

[csharp]
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;
}
}
}
[/csharp]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.