/// <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;

}

}

NOPI Excel 数据导入到数据库的更多相关文章

  1. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...

  2. 利用TOAD实现把EXCEL数据导入oracle数据库

    利用TOAD实现把EXCEL数据导入oracle数据库 工具:   Toad11.7z(百度搜索,直接下载) 1.将Excel文件中某些字段导入到Oracle数据库的对应表 连接想要导入的数据库 ,然 ...

  3. c#将Excel数据导入到数据库的实现代码

    这篇文章主要介绍了c#将Excel数据导入到数据库的实现代码,有需要的朋友可以参考一下 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 代码如下: using Syste ...

  4. java实现EXCEL数据导入到数据库中的格式问题的解决

    之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...

  5. 把Excel数据导入到数据库

    引入命名空间 using System.IO; using System.Data; using System.Data.OleDb; 引入命名空间 首先要把Excel上传到服务器 //上传Excel ...

  6. c#将Excel数据导入到数据库的实现代码(OleDb)

    sing System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web ...

  7. c#将Excel数据导入到数据库的实现代码(转载)

    假如Excel中的数据如下:     数据库建表如下:     其中Id为自增字段:      代码如下: using System; using System.Collections.Generic ...

  8. C# Excel数据导入到数据库

    http://www.jb51.net/article/44743.htm 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 复制代码 代码如下: using System ...

  9. 批量Excel数据导入Oracle数据库

    由于一直基于Oracle数据库上做开发,因此常常会需要把大量的Excel数据导入到Oracle数据库中,其实如果从事SqlServer数据库的开发,那么思路也是一样的,本文主要介绍如何导入Excel数 ...

随机推荐

  1. 使用腾讯地图请求来源未被授权, 此次请求来源域名/ip:servicewechat.com

    原文:微信小程序使用腾讯地图请求来源未被授权, 此次请求来源域名:servicewechat.com 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明 ...

  2. C#程序的编译过程

    C#程序的编译过程,如下图 总结:编译器将C#代码编译成DLL/EXE,DLL/EXE包含metadata(清单数据,对代码的描述)和IL(中间语言),IL(中间语言)经过CLR/JIT第二次编译才是 ...

  3. pytorch中onehot编码转为普通label标签

    label转onehot的很多,但是onehot转label的有点难找,所以就只能自己实现以下,用的topk函数,不知道有没有更好的实现 one_hot = torch.tensor([[0,0,1] ...

  4. JavaScript 事件——“模拟事件”的注意要点

    DOM中的事件模拟 三个步骤: 首先通过document.createEvent()方法创建event对象,接收一个参数,即表示要创建的事件类型的字符串: UIEvents(DOM3中的UIEvent ...

  5. Vue小白篇 - ES6的语法

    为什么要学 ES6 的语法呢? 因为 Vue 语法有很多都是 ES6(ECMAScript 6),这里推荐 [阮一峰 ECMAScript 6 入门]: http://es6.ruanyifeng.c ...

  6. memcache、mongodb、redis的对比区别

    >>Memcached Memcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key.value的字节大小以及服务器硬件性能,日常环境 ...

  7. Linux下的上传和下载yum install -y lrzsz

    先使用命令 yum install -y lrzsz rz 上传    或者直接拖动 sz 要下的文件 回车

  8. Linux常用功能脚本

    设置定时任务 crontab -e 1 0 * * * /bin/find /mnt/tomcat/logs/ -mtime +3 -type f -name "*.log" -e ...

  9. oracle11g rename user导致物化视图失效的处理

    在上一篇文章中,已经点到了数据库改名时,引起该schema下物化视图会失效的问题.从表面上看,该物化视图是删也删不掉,那当然就无法重建了.以下是实验过程: Oracle Database 11g En ...

  10. 转帖 移动前端开发之viewport的深入理解

    在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或 ...