分享

Mvc导入

 小仙女本仙人 2021-04-23
[HttpPost]
public void Import()
{
//获取文件

HttpPostedFileBase fileBase = Request.Files["file"];

if(fileBase==null)
{
  Response.Write("");
}
//转数据流
Stream stream = fileBase.InputStream;
IWorkbook workbook = null;

if (Path.GetExtension(fileBase.FileName).ToLower().Equals(".xls"))
{
  workbook = new HSSFWorkbook(stream);
}
//获取sheet
ISheet sheet = workbook.GetSheetAt(0);
//获取头
IRow row = sheet.GetRow(0);
//定义datatable
DataTable dt = new DataTable();
foreach (ICell item in row.Cells)
{
//循环添加表头
  dt.Columns.Add(item.StringCellValue);
}
for (int i = 0; i <= sheet.LastRowNum; i++)
{
  DataRow dr = dt.NewRow();
  for (int j = 0; j < sheet.GetRow(i).Cells.Count; j++)
{

CellType cellType = sheet.GetRow(i).Cells[j].CellType;
int index = sheet.GetRow(i).Cells[j].ColumnIndex;
switch (cellType)
{
  case CellType.Numeric:dr[index]=sheet.GetRow(i).Cells[j].NumericCellValue;
  break;
  case CellType.String:
  dr[index] = sheet.GetRow(i).Cells[j].StringCellValue;
  break;
  case CellType.Boolean:
  dr[index] = sheet.GetRow(i).Cells[j].BooleanCellValue;
  break;
  }
}
  dt.Rows.Add(dr);
}


//sql拼接
try
{
dt.Columns.RemoveAt(0);
foreach (DataRow item in dt.Rows)
{
  string sql = $"inserrt into mess values(";
  foreach (object it in item.ItemArray)
  {
  sql += $"'{it}',";
  }
  sql = sql.TrimEnd(',');
  sql += ")";
  DB.ExecuteNonQuery(sql);
  }
}
catch (Exception)
{

throw;
}
}

//前台

<form action="/Default/Import" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" name="name" class="btn btn-success btn-sm" value="导入">
</form>

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多