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 ...
随机推荐
- Git-Runoob:Git 服务器搭建
ylbtech-Git-Runoob:Git 服务器搭建 1.返回顶部 1. Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看 ...
- oracle 四舍五入 取得的数值
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL 说明: number : 将要处理的数值 decimal_places : 四舍五入,小数取几 ...
- hash模块MD5加密
MD5加密:获取32位加密字符串: 示例(MD5加密'123456')import hashlibhashObject=hashlib.md5(b'123456') #实例化,加密字符串不能直接加密, ...
- 2 Configuring SAP ERP Sales and Distribution -introduction to SAP
First Steps in SAPWe’ll now discuss some of the basic menus, screens, and transactions that you need ...
- zabbix_server调优
调整zabbix_server参数 /usr/local/zabbix/etc/zabbix_server.conf StartPollers=160 StartPollersUnreachea ...
- Spring-QUARTZ定时任务demo
Quartz定时任务demo下载: https://github.com/AliceSunCong/quartz 大致流程: **1.pom文件引入QUARTZ依赖** <dependency& ...
- Linux系统基本操作
学习目标: 通过本实验掌握Linux的系统安装.磁盘分区.文件管理.IP地址配置.SSH远程管理.WinSCP文件传输.chmod文件权限管理.tar及gzip/bzip2压缩工具的使用,以及关机 ...
- Kaggle试水之泰坦尼克灾难
比赛地址:https://www.kaggle.com/c/titanic 再次想吐槽CSDN,编辑界面经常卡死,各种按钮不能点,注释的颜色不能改,很难看清.写了很多卡死要崩溃. 我也是第一次参加这个 ...
- 拉格朗日乘法与KKT条件
问题的引出 给定一个函数\(f\),以及一堆约束函数\(g_1,g_2,...,g_m\)和\(h_1,h_2,...,h_l\).带约束的优化问题可以表示为 \[ \min_{X \in R^n}f ...
- 常用邮件SMTP POP3服务器地址大全
#阿里云邮箱(mail.aliyun.com): POP3服务器地址:pop3.aliyun.com(SSL加密端口:995:非加密端口:110) SMTP服务器地址:smtp.aliyun.com( ...