Mvc Excel导入加事务加导出
导出
public FileResult Input()
{
DataTable dt = new DataTable("dd");
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=IOT1706B;Integrated Security=True"))
{
SqlDataAdapter sda = new SqlDataAdapter("select TypeName,Pid from IOTType", conn);
sda.Fill(dt);
}
//创建工作薄
IWorkbook workbook = new HSSFWorkbook();
//创建工作表
ISheet sheet = workbook.CreateSheet("sheet0");
//创建表头行
IRow cells = sheet.CreateRow();
//写入表头
for (int i = ; i < dt.Columns.Count; i++)
{
//创建列赋值
cells.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
}
//写入表内容
for (int i = ; i <= dt.Rows.Count; i++)
{
//创建行
IRow cells1 = sheet.CreateRow(i);
for (int j = ; j < dt.Columns.Count; j++)
{
//创建列赋值
cells1.CreateCell(j).SetCellValue(dt.Rows[i - ][j].ToString());
}
}
//导出
using (MemoryStream stream = new MemoryStream())
{
workbook.Write(stream);
return File(stream.GetBuffer(), "applocation/excel", "导出.xls");
} }
导入加事务
public int Post()
{
HttpFileCollection fileBase = HttpContext.Current.Request.Files;
if (Path.GetExtension(fileBase[].FileName)==".xls")
{
try
{
Stream stream = fileBase[].InputStream;
IWorkbook workbook = new HSSFWorkbook(stream);
ISheet sheet = workbook.GetSheetAt();
DataTable dt = new DataTable("d");
IRow cells = sheet.GetRow();
foreach (ICell item in cells)
{
dt.Columns.Add(item.StringCellValue);
} for (int i = ; i <= sheet.LastRowNum; i++)
{
IRow cells1 = sheet.GetRow(i);
int j = ;
DataRow dr = dt.NewRow();
foreach (ICell item in cells1)
{
switch (item.CellType)
{
case CellType.Numeric:
dr[item.ColumnIndex] = item.NumericCellValue;
break;
case CellType.String:
dr[item.ColumnIndex] = item.StringCellValue;
break; case CellType.Boolean:
dr[item.ColumnIndex] = item.BooleanCellValue;
break;
default:
dr[j] = "";
break;
}
}
dt.Rows.Add(dr);
}
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=IOT1706B;Integrated Security=True"))
{
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
SqlCommand cmd = conn.CreateCommand();
cmd.Transaction = tran;
try
{
int n = ; foreach (DataRow item in dt.Rows)
{
cmd.CommandText = "insert into IOTType values(";
foreach (var ii in item.ItemArray)
{
cmd.CommandText += $"'{ii}',";
}
cmd.CommandText= cmd.CommandText.TrimEnd(',');
cmd.CommandText += $")";
n += cmd.ExecuteNonQuery(); }
tran.Commit();
conn.Close();
return n;
}
catch (Exception)
{
tran.Rollback();
return ;
throw;
}
} }
catch (Exception)
{ throw; } }
else
{
return -;
}
}
Mvc Excel导入加事务加导出的更多相关文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(87)-MVC Excel导入和导出
本文示例代码下载: 链接:http://pan.baidu.com/s/1jHBdgCA 密码:hzh7 ps:Vs数据库脚本在解压目录下,修改web.config数据库链接,示例代码包含:导入,导出 ...
- poi excel导入 数字自动加小数点
问题:导入excel表,若表格中为整数数字,不管单元格设置成数字格式还是文本格式,导入时都会出现小数点和0. 我遇到的问题是:一个名称,做测试数据的时候做了纯整形数字,发现了这个问题. 解决办法:在代 ...
- 利用phpexcel把excel导入数据库和数据库导出excel实现
<?php ); ini_set(,,,date(,date(,,,date(,,,date(,date(,,,date() ->setCellValue();); $objPHP ...
- 通过export方式导出,在导入时要加{ },export default则不需要
怎么就是记不住呢?? 通过export方式导出,在导入时要加{ },export default则不需要
- C# Excel导入、导出【源码下载】
本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入
系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...
- C#实现Excel模板导出和从Excel导入数据
午休时间写了一个Demo关于Excel导入导出的简单练习 1.窗体 2.引用office命名空间 添加引用-程序集-扩展-Microsoft.Office.Interop.Excel 3.封装的Exc ...
- ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...
- Excel导入导出帮助类
/// <summary> /// Excel导入导出帮助类 /// 记得引入 NPOI /// 下载地址 http://npoi.codeplex.com/rele ...
随机推荐
- 浏览器端-W3School-JavaScript:JavaScript RegExp 对象
ylbtech-浏览器端-W3School-JavaScript:JavaScript RegExp 对象 1.返回顶部 1. JavaScript RegExp 对象 RegExp 对象 RegEx ...
- 浏览器端-W3School-JavaScript:JavaScript String 对象
ylbtech-浏览器端-W3School-JavaScript:JavaScript String 对象 1.返回顶部 1. JavaScript String 对象 String 对象 Strin ...
- Service 是否在 main thread 中执行, service 里面是否能执行耗时的操作?
默认情况,如果没有显示的指 service 所运行的进程, Service 和 activity 是运行在当前 app 所在进程的 main thread(UI 主线程)里面.service 里面不能 ...
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
适应配置的方式解决我们刚才的编码操作 -dist结尾的就是spring 的开发包 解压好的 这里面是约束 libs是扎包 三个为一组,实际上只有21个 自己在使用需要导入jar包的时候,选择这种没有任 ...
- RTX和谐说明
1.下载安装原版RTX20152.打开“服务”,停止RTX开头的服务.3.替换C:\Program Files\Tencent\RTXServer\License目录下的License.ini文件:替 ...
- Python学习之表的数据类型
数据类型 数值类型 类型 大小 范围(有符号) 范围(无符号)unsigned约束 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 ...
- LeetCode.989-数组形式的整数做加法(Add to Array-Form of Integer)
这是悦乐书的第371次更新,第399篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第233题(顺位题号是989).对于非负整数X,X的数组形式是从左到右顺序的数字数组.例 ...
- 数据库SQL语句查询指定时间段内的数据
[摘要]有的时候,我们需要查询数据库某段时间之间的数据,比如2016年5月1号到到5月3号之间用户注册数量(特殊节假日期间)等.那么用SQL语句如何实现呢? 首先,数据表中的存时间的字段比如是addt ...
- Java网络爬虫
一.前言 首先我们把准备工作做好:IDEA 2019.1.JDK1.8.Maven3.5 Jsoup的Maven依赖: <dependency> <groupId>org.js ...
- springMvc中获取通过注解获取properties配置文件(转)
springMvc的项目中,通过注解@Value获取properties配置文件中的配置,使用该注解必须引入的包: spring-beans-4.1.4.RELEASE.jar 下面是需要在sprin ...