上次写了一个java POI读写excel的工具类,JAVA中读写excel有同样的方法,即是NPOI,NPOI的DLL下载地址NPOI下载地址,这两个应该是一个东西,用法相同,这个封装的方法其实是和JAVA的那个封装了同样的功能,但也稍微有点不同,这个封装了应该比java那个稍微好用一点,其他废话不说了,直接上代码:
1、读取Excel
<span style="font-size:14px;"> /// <summary>
/// 读取excel
/// </summary>
/// <typeparam name="T">实体类</typeparam>
/// <param name="path">文件路径</param>
/// <param name="stream">文件流</param>
/// <param name="skipTitls">是否跳过首行</param>
/// <returns>返回集合</returns>
public static List<T> ReadExcelFile<T>(string path, Stream stream, bool skipTitls = true)
{
List<T> listT = new List<T>();
//if (stream == null && string.IsNullOrEmpty(path))
//{
// return listT;
//}
if (!string.IsNullOrEmpty(path) && System.IO.File.Exists(path)) //判断文件存在
{
FileStream fStream = new FileStream(path, FileMode.Open, FileAccess.Read);
stream = fStream;
}
if (stream == null)
{
return listT;
}
Type ttype = typeof(T);
PropertyInfo[] pinfo = ttype.GetProperties();//获取实体属性数组
HSSFWorkbook wk = new HSSFWorkbook(stream);
for (int i = 0; i < wk.NumberOfSheets; i++)
{
ISheet sheet = wk.GetSheetAt(i); //读取sheet
int j = 0;
if (skipTitls) //跳过首行
{
j &#