/// <summary>
/// 数据导入
/// </summary>
/// <param name="files">数据文件</param>
/// <returns></returns>
public string Import(HttpFileCollection files)
{
string msg = "";
if (files.Count > 0)
{
// 获取文件转化为流
var file = files[0];
Stream fileStream = file.InputStream;
IWorkbook workbook;
if (file.FileName.EndsWith(".xls"))
{
workbook = new HSSFWorkbook(fileStream);
}
else
{
workbook = new XSSFWorkbook(fileStream);
}
// 数据导入
var m = Import(workbook);
if (!string.IsNullOrEmpty(m))
{
msg += $"{file.FileName}\n:" + m;
}
else
{
msg += $"{file.FileName}:导入成功";
}
//流关闭
fileStream.Close();
}
return msg;
}
public string Import(IWorkbook workbook)
{
string err = "";
ISheet sheet0 = workbook.GetSheetAt(0); //获取第一个表
if (sheet0.LastRowNum >= 101)
{
return "抱歉,一次最多只能导入100条";
}
for (int j = 1; j <= sheet0.LastRowNum; j++) //对工作表每一行
{
IRow row = sheet0.GetRow(j); //row读入第i行数据
if (row != null)
{
table data = new table()
{
//根据数据类型填入表中
string = row.GetCell(0).StringCellValue,
date = row.GetCell(1).DateCellValue,
int = row.GetCell(2).NumericCellValue
};
// 添加到数据库
_dbContext.table.Add(data);
}
}
// 保存到到数据库
_dbContext.SaveChanges();
return err;
}