/// <summary>

/// 上传excel文件 并将文件数据导入到数据库

/// </summary>

/// <param name="file"></param>

/// <returns></returns>

[HttpPost]

public JsonResult UploadFile(HttpPostedFileBase file)

{

var fileName = file.FileName;

fileName = fileName.Replace(" ", "_").Replace("\\", "_").Replace("/", "_");

fileName = DateTime.Now.Ticks.ToString() + "_" + fileName;

var defaultPath = AppSettings["UploadFiles"];

if (String.IsNullOrWhiteSpace(defaultPath))

defaultPath = @"D:\RegTech\UploadFiles";

var excelUploadPath = Path.Combine(defaultPath, "UserCustomBlackList");

if (!Directory.Exists(excelUploadPath))

Directory.CreateDirectory(excelUploadPath);

// 将上传文件保存到服务器

var saveFilePath = Path.Combine(excelUploadPath, fileName);

file.SaveAs(saveFilePath);

List<UserCustomBlackList> excelResult = ReadExcelByCustomBlack(saveFilePath);

}

/// <summary>

/// 将上传的Excel数据导入到数据库中

/// </summary>

/// <param name="fileName"></param>

/// <param name="type"></param>

/// <returns></returns>

protected List<UserCustomBlackList> ReadExcelByCustomBlack(String fileName)

{

List<UserCustomBlackList> rtn = new List<UserCustomBlackList>();

FileInfo existingFile = new FileInfo(fileName);

try

{

using (FileStream fs = System.IO.File.OpenRead(fileName))

{

// 根据文件创建Excel WorkBook

IWorkbook wk = WorkbookFactory.Create(fs);

string extension = fileName.Substring(fileName.LastIndexOf(".")).ToString().ToLower();

// 获取第一个Sheet页

ISheet sheet = wk.GetSheetAt(0);

int rowIndex = 1;

for (int i = 1; i <= sheet.LastRowNum; i++)

{

UserCustomBlackList data = new UserCustomBlackList();

IRow row = sheet.GetRow(i);

if (row != null)

{

data.DisplayIndex = rowIndex++;

data.BlackContent = row.GetCell(0) == null ? String.Empty : row.GetCell(0).ToString();

}

if (!string.IsNullOrWhiteSpace(data.BlackContent))

rtn.Add(data);

}

return rtn;

}

}

catch (Exception ex)

{

LogUtility.Exception(ex,source: "客户端-ReadExcelByCustomBlack");

return null;

}

}

最新文章

  1. C# 连接Oracle ,免安装客户端
  2. WPF的学习笔记(1) -- (积累自2016年5月1日 至 2016年6月1日)
  3. Visual Studio 2013 prerequisites
  4. apache2: Could not reliably determine the server&#39;s fully qualified domain name
  5. 使用AjaxFileUpload.js实现文件异步上�
  6. Java Final and Immutable
  7. centos 修改主机映射
  8. Java生产者消费者
  9. selenium中的xpath定位
  10. Python爬虫之12306-分析请求总概述
  11. 【小o地图Excel插件版】计算两点间驾车路径,获取途径道路、驾车距离、耗时等信息
  12. Netty:Channel 建立后消息发送失败
  13. 解决Ubuntu中vi命令的编辑模式下不能正常使用方向键和退格键的问题
  14. oracle 命令行
  15. Robotframework 3- 安装
  16. PHP中路径的相关配置
  17. 我的第一个Mybatis程序
  18. SQL Server 性能调优(方法论)【转】
  19. 更新Composer依赖报错处理Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRe
  20. iOS实录:GCD使用小结(一)

热门文章

  1. Rikka with Nickname (简单题)
  2. Eclipse连接MySQL数据库(傻瓜篇)
  3. int类型转换舍入问题
  4. JS中常见的兼容
  5. 更改mysql最大连接数
  6. Thread类和Runable接口使用
  7. 转载 jQuery实现放大镜特效
  8. ICU lirary DownLoad
  9. Mybatis基于接口注解配置SQL映射器(二)
  10. POJ 3187 Backward Digit Sums (dfs,杨辉三角形性质)