因近期项目遇到所以记录一下:

首先导出Excel:

首先引用NPOI包

http://pan.baidu.com/s/1i3Fosux

(Action一定要用FileResult)

///

/// 批量导出本校第一批派位学生

///

///

public FileResult ExportStu2()

{

string schoolname = "";

//创建Excel文件的对象

NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();

//添加一个sheet

NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");

//获取list数据

List listRainInfo = m_BLL.GetSchoolListAATQ(schoolname);

//给sheet1添加第一行的头部标题

NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow();

row1.CreateCell().SetCellValue("电脑号");

row1.CreateCell().SetCellValue("姓名");

//将数据逐步写入sheet1各个行

for (int i = ; i < listRainInfo.Count; i++)

{

NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + );

rowtemp.CreateCell().SetCellValue(listRainInfo[i].ST_CODE.ToString());

rowtemp.CreateCell().SetCellValue(listRainInfo[i].ST_NAME.ToString());

}

// 写入到客户端

System.IO.MemoryStream ms = new System.IO.MemoryStream();

book.Write(ms);

ms.Seek(, SeekOrigin.Begin);

return File(ms, "application/vnd.ms-excel", "第一批电脑派位生名册.xls");

}

前台直接写就可实现:

、 @Html.ActionLink("点击导出名册", "ExportStu2")

下面说一下导入:

首先说一些前台吧,mvc上传注意必须加 new { enctype = "multipart/form-data" }:

、@using(@Html.BeginForm("ImportStu", "ProSchool", FormMethod.Post, new { enctype = "multipart/form-data" }))

{

选择上传文件:(工作表名为“Sheet1”,“电脑号”在A1单元格。)

}

后台实现:只传路径得出DataTable:

///

/// Excel导入

///

///

///

public DataTable ImportExcelFile(string filePath)

{

HSSFWorkbook hssfworkbook;

#region//初始化信息

try

{

using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))

{

hssfworkbook = new HSSFWorkbook(file);

}

}

catch (Exception e)

{

throw e;

}

#endregion

using (NPOI.SS.UserModel.ISheet sheet = hssfworkbook.GetSheetAt())

{

DataTable table = new DataTable();

IRow headerRow = sheet.GetRow();//第一行为标题行

int cellCount = headerRow.LastCellNum;//LastCellNum = PhysicalNumberOfCells

int rowCount = sheet.LastRowNum;//LastRowNum = PhysicalNumberOfRows - 1

//handling header.

for (int i = headerRow.FirstCellNum; i < cellCount; i++)

{

DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);

table.Columns.Add(column);

}

for (int i = (sheet.FirstRowNum + ); i <= rowCount; i++)

{

IRow row = sheet.GetRow(i);

DataRow dataRow = table.NewRow();

if (row != null)

{

for (int j = row.FirstCellNum; j < cellCount; j++)

{

if (row.GetCell(j) != null)

dataRow[j] = GetCellValue(row.GetCell(j));

}

}

table.Rows.Add(dataRow);

}

return table;

}

}

补充一个类

///

/// 根据Excel列类型获取列的值

///

/// Excel列

///

private static string GetCellValue(ICell cell)

{

if (cell == null)

return string.Empty;

switch (cell.CellType)

{

case CellType.BLANK:

return string.Empty;

case CellType.BOOLEAN:

return cell.BooleanCellValue.ToString();

case CellType.ERROR:

return cell.ErrorCellValue.ToString();

case CellType.NUMERIC:

case CellType.Unknown:

default:

return cell.ToString();//This is a trick to get the correct value of the cell. NumericCellValue will return a numeric value no matter the cell value is a date or a number

case CellType.STRING:

return cell.StringCellValue;

case CellType.FORMULA:

try

{

HSSFFormulaEvaluator e = new HSSFFormulaEvaluator(cell.Sheet.Workbook);

e.EvaluateInCell(cell);

return cell.ToString();

}

catch

{

return cell.NumericCellValue.ToString();

}

}

}

得到DataTable后,就想怎么操作就怎么操作了

&period;net mvc利用NPOI导入导出excel

1.导出Excel :首先引用NPOI包(Action一定要用FileResult) /// /// 批量导出需要导出的列表 /// ...

net mvc 利用NPOI导入导出excel

1.导出Excel : 首先引用NPOI包(Action一定要用FileResult) /// /// 批量导出需要导出的列表 /// ...

&period;net利用NPOI导入导出Excel

NPOI在.net中的操作Excel 1.读取 using (FileStream stream = new FileStream(@"c:\客户资料.xls", FileMode ...

asp&period;net mvc 使用NPOI插件导出excel

/// /// 交易账单 导出交易列表 /// /// public ...

NPOI导入导出Excel

.net mvc利用NPOI导入导出excel 注意:如何导出的提交方式ajax导出是失效的! 解决方案是:js处理l两个表单的提交  代码:  第一步. 在页面里面加入2个隐藏的iframe, 如下 ...

ASP&period;Net MVC中数据库数据导出Excel,供HTTP下载(转)

转自http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于web ...

ASP&period;Net MVC中数据库数据导出Excel,供HTTP下载

本文来自:http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于 ...

Java利用POI导入导出Excel中的数据

首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

随机推荐

jQuery中的Ajax - Codeigniter版本

发送(view中): $.ajax({ type : 'post', url : 'add', data : { 'nickname':nickname, 'mobile':mobile, 'sex' ...

如果把表单数据的校验交给了javascript那么后台还有没有必要对数据做校验呢

现在很多同事,包括我,我表单的数据验证交给了javascript来做,那么新的问题来了,如果交给了javascript那么后台还有没有必要对数据做校验呢

Codeforces Round &num;274 &lpar;Div&period; 2&rpar;

A http://codeforces.com/contest/479/problem/A 枚举情况 #include #include ...

uboot顶层config&period;mk分析

uboot顶层目录中的config.mk定义了确定了当前执行makefile所对应的源文件目录.目标文件目录,编译的程序编译.连接的选项,以及目标文件生成的规则等等.它被包含在顶层的makefile以 ...

Redux:从action到saga

前端应用消失的部分 一个现代的.使用了redux的前端应用架构可以这样描述: 一个存储了应用不可变状态(state)的store 状态(state)可以被绘制在组件里(html或者其他的东西).这个绘 ...

brew 安装指定版本命令行工具 tmux 多版本实现

Homebrew 是 macOS 命令安装工具,其核心库里的命令行在 github homebrew-core 仓库上维护. 核心库命令大概有 5000 条左右,大部分的命令行工具只保留了最新版本的 ...

Flask 模型操作

ORM 简称 ORM, O/RM, O/R Mapping 持久化模型 特征 数据表和编程类的映射 数据类型映射 字段属性映射类的属性和数据类型 关系映射 表于表之间的关系对应到 编程类的关系上 优点 ...

vmware启动虚拟机发现没权限

前期安装未参与,但了解大致情况: 物理机上安装CentOS7系统,然后安装VMWare,虚拟了几台CentOS6 遇到的问题:物理机重启后,以root进入系统,但打开VMWare显示是普通用户权限,以 ...

【转】 Linux常用文件操作命令

1 改变目录 要进入相应的目录我们可以使用Linux下的改变目录命令cd (ChangeDirectory). 下面我要进入到/tmp目录下,如下操作: [root@bestlinux ~]# cd ...

多线程学习笔记九之ThreadLocal

目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...

mvc npoi导出excel ajax,ASP.Net MVC利用NPOI导入导出Excel相关推荐

  1. 1月4日链接篇:ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7

    [原文地址]Jan 4th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7 [原文发表日期] Friday, Januar ...

  2. c .net ajax,Asp.net mvc 2中使用Ajax的三种方式

    在Asp.net MVC中,我们能非常方便的使用Ajax.这篇文章将介绍三种Ajax使用的方式,分别为原始的Ajax调用.Jquery.Ajax Helper.分别采用这三种方式结合asp.net m ...

  3. 不知道密码导出oracle数据库,Oracle数据库密码重置、导入导出库命令示例应用

    重置办法如下:打开CMD命令提示符,然后输入下面命令进行重置: 输入sqlplus /nolog,回车 SQL> conn /as sysdba 已连接: SQL>alter user s ...

  4. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面

    摘要       本文首先一步一步完成Demo的第一个页面--首页.然后根据实现过程,说明一下其中用到的与ASP.NET MVC相关的概念与原理. 让第一个页面跑起来       现在,我们来实现公告 ...

  5. 第六篇:拦截器( MVC案例教程(基于ASP.NET MVC beta))

    http://ljl-xyf.javaeye.com/blog/725196 摘要       本文将对"MVC公告发布系统"的发布公告功能添加日志功能和异常处理功能,借此来讨论A ...

  6. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第一篇:准备工作

    摘要       本文将简要介绍这个文章系列的目的.形式及大体内容.并且完成开始学习这个系列前所必要的准备工作. 前言       ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了 ...

  7. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇

    摘要       本文对ASP.NET MVC的全局运行机理进行一个简要的介绍,以使得朋友们更好的理解后续文章. 前言       在上一篇文章中,我们实现了第一个ASP.NET MVC页面.对于没有 ...

  8. iis mvc html,IIS中使用ASP.NET MVC的经验总结

    在这篇文章中我们学习在不同版本的IIS中使用ASP.NET MVC和URL Routing.我们学习针对IIS7.0.IIS6.0和更早版本的IIS的处理策略. ASP.NET MVC框架依赖于URL ...

  9. easypoi导出数值型_SpringBoot使用EasyPoi进行数据导入导出Excel(一)

    在实际项目开发中,对于Excel的导入导出还是很常见的需求,比如说将数据根据模板批量导入到数据库中,以及将数据库中的数据批量导出陈Excel的形式 现有需求: 下载固定的导入Excel模板 导入Exc ...

最新文章

  1. [轉]如果把HTML當成飾品....
  2. 1677: [Usaco2005 Jan]Sumsets 求和
  3. java rhino js类_让Rhino JS看Java类
  4. 为什么要使用设计模式?
  5. (0021)iOS 开发之-苹果官方文档
  6. Shiro总是将我重定向到login.jsp
  7. [云炬创业基础笔记] 第四章测试5
  8. 她,既是一个风华绝代的演员,更是WiFi之母...
  9. 关于IE6、7、8下实现盒阴影的几个注意点
  10. pcb设计实战与应用智能手机_一种针对毫米波雷达天线应用而优化设计的PCB层压板...
  11. C#LeetCode刷题之#686-重复叠加字符串匹配(Repeated String Match)
  12. 第十章:禁丹药,禁符纸
  13. 华北水利水电大学c语言实验报告八2020,2021年华北水利水电大学级C语言实验报告.doc...
  14. php 数据库 自增值,Mysql应用MySql数据库自动递增值问题
  15. 单例模式简单示例与优化
  16. aspose.cells 模版
  17. pythonATM,购物车项目实战_补充2-模块功能
  18. ThinkPHP第七天(F函数使用,项目分组配置,项目分组模板文件放置规则配置)
  19. 计算机专业买什么牌子的笔记本,买笔记本电脑什么牌子好(2020年6月笔记本电脑推荐)...
  20. MPB:中科院南土所褚海燕组-结构方程模型在土壤微生态中的应用

热门文章

  1. HTML5移动的代码,HTML_HTML5实现一个能够移动的小坦克示例代码,复制代码代码如下: !DOCTYPE h - phpStudy...
  2. BAE百度云平台 - Python帮助
  3. intel酷睿游戏计算机,顶配游戏电脑 intel酷睿i7-8600配RTX2070六核台式电脑配置明细表...
  4. css3,qq企鹅动画
  5. RadioGroup的多行显示RadioButton
  6. 香港最快的dns服务器,一些国内外 DNS 服务器推荐(不定期更新)
  7. 3D机器视觉的技术路径和场景适用
  8. XP操作系统,惠普CQ40-710tx无声音…
  9. 非专业计算机一级考试试题,2010全国非计算机专业一级考试试题
  10. Ubuntu20重启网络