<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CusImport.aspx.cs" Inherits="XGHUNLIAN.admin.CusService.CusImport" %>
<%@ Import Namespace="XGHUNLIAN.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>售前分配/调配会员</title>
<link href="../../css/style.css" rel="stylesheet" />
<script type="text/javascript" src="../../scripts/jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="../../scripts/jquery/Validform_v5.3.2_min.js"></script>
<script type="text/javascript" src="../../js/layout.js"></script>
<script src="../../js/MyDatePicker/WdatePicker.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//初始化表单验证
$("#form1").initValidform();
}); </script>
<style>
.userheadimg
{
width: 35px;
height: 35px;
overflow: hidden;
top: 10px;
left: 10px;
z-index: ;
border-radius: 50px;
border: #fff solid 1px;
}
.vip
{
background: #ff5065;
font-size: .8em;
color: #fff;
padding: 2px 10px;
border-radius: 20px;
}
.toolbar .r-list .nl
{
display: table-cell;
vertical-align: inherit;
margin: ;
padding: 5px;
width: 30px;
height: 30px;
line-height: 28px;
font-size: 12px;
border: 1px solid #dbdbdb;
color: #;
}
</style>
</head>
<body id="weixin" style="background: #fff;">
<form id="form1" runat="server">
<asp:HiddenField ID="hd_id" runat="server" />
<asp:HiddenField ID="hd_type" runat="server" />
<div class="hd">
<h3>
<%=(Request.QueryString["Type"]=="" ?"售前分配/调配会员":"售后分配/调配会员")%></h3>
</div>
<div class="bd" style="padding-top: 10px;">
<div class="content">
<div class="tab-content">
<dl style=" margin-bottom: 5px;">
<dt>请选择文件</dt>
<dd>
<asp:FileUpload ID="fu_select" runat="server"/></dd><dd><a href="../../templet/会员导入数据模板.xlsx" style="color:Red;">点击下载模板</a></dd>
</dl>
</div>
</div>
</div>
<div class="ft">
<div class="content">
<span class="button_a">
<asp:Button ID="btnSubmit" runat="server" Text="提交保存" OnClick="btnSubmit_Click" /></span>
</div>
</div>
</form>
<script src="../../js/layui/layui.all.js" type="text/javascript"></script>
<link href="../../js/layui/css/layui.css" rel="stylesheet" type="text/css" />
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using XGHUNLIAN.Common;
using System.IO;
using System.Data;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel; namespace XGHUNLIAN.admin.CusService
{
public partial class CusImport : Web.UI.ManagePage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Model.manager model = GetAdminInfo(); //取得当前管理员信息
if (model == null)
{ Response.Write("<script>top.parent.location.href='../login.aspx'</script>"); }
else
{ }
}
} protected void btnSubmit_Click(object sender, EventArgs e)
{ HttpPostedFile filePost = Request.Files[]; // 获取上传的文件
string filePath = SaveExcelFile(filePost); // 保存文件并获取文件路径
string msg = ExcelToDataTable(filePath, true);
Response.Write(msg);
} /// <summary>
/// 保存Excel文件
/// <para>Excel的导入导出都会在服务器生成一个文件</para>
/// <para>路径:UpFiles/ExcelFiles</para>
/// </summary>
/// <param name="file">传入的文件对象</param>
/// <returns>如果保存成功则返回文件的位置;如果保存失败则返回空</returns>
public static string SaveExcelFile(HttpPostedFile file)
{
try
{
var fileName = file.FileName.Insert(file.FileName.LastIndexOf('.'), "-" + DateTime.Now.ToString("yyyyMMddHHmmssfff"));
var filePath = Path.Combine(HttpContext.Current.Server.MapPath("~/Upload"), fileName);
string directoryName = Path.GetDirectoryName(filePath);
if (!Directory.Exists(directoryName))
{
Directory.CreateDirectory(directoryName);
}
file.SaveAs(filePath);
return filePath;
}
catch
{
return string.Empty;
}
} /// <summary>
/// 上传读取文件
/// </summary>
/// <param name="filePath"></param>
/// <param name="isColumnName"></param>
public string ExcelToDataTable(string filePath, bool isColumnName)
{
int count = ;
int errorCount = ;
string errorRow = "";
try
{
BLL.wei_Member bll = new BLL.wei_Member();
DataTable dataTable = new DataTable();
FileStream fs = null;
IWorkbook workbook = null;
ISheet sheet = null;
using (fs = new FileStream(filePath, FileMode.Open))
{
if (filePath.IndexOf(".xlsx") > )
{
workbook = new XSSFWorkbook(fs);
if (workbook != null)
{
sheet = workbook.GetSheetAt();
if (sheet != null)
{
int rowCount = sheet.LastRowNum;
for (int i = ; i <= rowCount; i++)
{
try
{
Model.wei_Member model = new Model.wei_Member(); IRow row = sheet.GetRow(i); string love20 = ""; model.openid = "";
model.nickname = "";
model.zsxm = row.GetCell().ToString();
model.sfzh =row.GetCell().ToString();
model.webnickname = "";
model.mob = row.GetCell().ToString();
model.mobVisible = ;
model.weixin = "";
model.QQ = "";
model.txdz = "";
model.sex = row.GetCell().ToString() == "男" ? : ;
model.csrq = Convert.ToDateTime(row.GetCell().ToString()).ToString("yyyy-MM-dd HH:mm:ss");;
model.nl = Convert.ToInt32(row.GetCell().ToString());
model.sg = Convert.ToInt32(row.GetCell().ToString());
model.tz = Convert.ToInt32(row.GetCell().ToString());
model.hyzk = "";
model.xl = "";
model.regtime = ;
model.nlsx = ;
model.nlxx = ;
model.sgsx = ;
model.sgxx = ;
model.hsyq = "";
model.xlyq = "";
model.imgurl = "";
model.sx = "";
model.xx = "";
model.mudi = "";
model.ywzn = "";
model.szdq = "";
model.mz = "";
model.zy = "";
model.yx = "";
model.jzqk = "";
model.gcqk = "";
model.xqah = "";
model.jb = ;
model.sendDate = ;
model.llcs = ;
model.dj = ;
model.provinceid = ;
model.province = "";
model.cityid = ;
model.city = "";
model.isregmob = ;
model.isregidcard = ;
model.isemphn = ;
model.ishidemsg = ;
model.isdown = ; model.isreghn = ;
model.svclass = ;
model.svclassname = "";
model.isviewlimit = ;
model.svcount = ;
model.viewcount = ; model.storeid = (Session[XGHUNLIAN.Common.MXKeys.SESSION_ADMIN_INFO] as XGHUNLIAN.Model.manager).storeid; model.love20 = love20; if (bll.CheckIDCardIsExiste(, model.sfzh))
{
errorCount++;
errorRow += i + "身份证号已经存在" + ",";
continue;
} if (bll.CheckTelIsExiste(, model.mob))
{
errorCount++;
errorRow += i + "电话号码已经存在" + ",";
continue;
} if (bll.Add(model))
{ count++;
}
else {
errorCount++;
errorRow += i + ",";
}
}
catch (Exception ex)
{
errorCount++;
errorRow += i+ex.Message + ",";
}
}
}
}
}
}
}
catch { return "导入失败,字段错误!"; } if (errorCount > )
{
return "成功导入" + count + "条数据,失败" + errorCount + " 失败的行为:" + errorRow;
}
else
{
return "成功导入" + count + "条数据,失败" + errorCount + "";
}
}
}
}

npoi 导入的更多相关文章

  1. c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出

    c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...

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

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

  3. c#.net 使用NPOI导入导出标准Excel (asp.net winform csharp)

    尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...

  4. 使用NPOI导入导出标准的Excel

    关于NPOI NPOI是POI项目的.NET版本,是由@Tony Qu(http://tonyqus.cnblogs.com/)等大侠基于POI开发的,可以从http://npoi.codeplex. ...

  5. ASP.NET- 使用NPOI导入导出标准Excel

    尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...

  6. NPOI导入导出Excel

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

  7. 使用NPOI导入导出标准Excel

    尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...

  8. ASP.NET MVC NPOI导入Excel DataTable批量导入到数据库

    使用NPOI导入Excel 首先在MVC项目中导入NPOI 查询NPOI安装,排序依据,选择:最高下载量,选择第一个. 在控制器中创建ExcelController 在Index视图中写入代码: @u ...

  9. 使用NPOI导入Excel注意日期格式和数字格式

    //使用NPOI导入Excel public static DataTable importExcelToDataSetUsingNPOI(string FilePath, string fileNa ...

  10. .Net core NPOI导入导出Excel

    最近在想.net core NPOI 导入导出Excel,一开始感觉挺简单的,后来真的遇到很多坑.所以还是写一篇博客让其他人少走一些弯路,也方便忘记了再重温一遍.好了,多的不说,直接开始吧. 在.Ne ...

随机推荐

  1. Java 200道题

    1. junit用法,before,beforeClass,after, afterClass的执行顺序 一个测试类单元测试的执行顺序为: @BeforeClass –> @Before –&g ...

  2. hdfs(分布式文件系统)优缺点

    hdfs(分布式文件系统) 优点 支持超大文件 支持超大文件.超大文件在这里指的是几百M,几百GB,甚至几TB大小的文件.一般来说hadoop的文件系统会存储TB级别或者PB级别的数据.所以在企业的应 ...

  3. 访问https接口报错 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系

    详细错误信息如下 请求错误信息:发生一个或多个错误.System.Net.Http.HttpRequestException: An error occurred while sending the ...

  4. windows 装mac

    必备条件: 1.vmware虚拟机 2.给相应版本虚拟机打mac补丁 3.用securable检测CPU支持虚拟化设置 4.mac镜像文件 5.这时候还不能启动虚拟机,还需要在引导文件里面进行参数修改 ...

  5. ASP.NET Core中使用EF Core(MySql)Code First

    ⒈添加依赖 MySql.Data.EntityFrameworkCore ⒉在appsettings.json配置文件中配置数据库连接字符串 { "Logging": { &quo ...

  6. python中的并发执行

    一. Gevent实例 import gevent import requests from gevent import monkey # socket发送请求以后就会进入等待状态,gevent更改了 ...

  7. [Next] 六.next的优化

    导出 html 并开启服务 我们将 pages 下页面导出为静态 HTML 页面.首先,next.config.js 在应用程序的根目录中创建一个名为的文件,并添加以下内容 exportPathMap ...

  8. javaagent项目中使用

    相关代码参考:http://blog.csdn.net/catoop/article/details/51034778 近期项目中需要对SpringMVC中的Controller方法进行拦截做预处理, ...

  9. Excel中的常用快捷键

    1)工作表之间快速切换 Ctrl+PageUp切换的是当前所在工作表的前一个工作表, Ctrl+PageDown切换的是当前所在工作表的后一个工作表. 2)Ctrl +Home 强迫回到最前一个单元格 ...

  10. DiffUtil和LiveData使用时遇到的问题

    android在28之后换成了androidx,在此之前也可以用到这些功能,不过是引入的包不同,写法也有一些小的差别.我们之前的代码使用的是BaseQuickAdapter,所以不可以直接使用JetP ...