C#导入Excel表格功能aspx.cs(代码)
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.IO;
using jxl;
using jxl.write;
using jxl.format;
using java.io;
using java.util;
using java.net;
using java.text;
public partial class Modules_ClassHR_UplRecordList : System.Web.UI.Page
{
const string ROLEADMIN = "TechClass_ADM" ; --const定义常量字符串
const string TechClass_HR = "TechClass_HR" ;
#region Page_Load
protected void Page_Load(object sender , EventArgs e)
{
this .Page.Title=System.Configuration.ConfigurationManager.AppSettings[ "WebSiteTitle" ].ToString();
if (!User.Identity.IsAuthenticated)
{
Response.Redirect(System.Configuration.ConfigurationManager.AppSettings[ "urlPermissionDenied" ].ToString());
return;
}
string v_domin= " " ;
string v_domainaccount = " " ;
string v_empID = " " ;
string systemid = ConfigurationManager.AppSettings[ "SystemID" ].ToString( );
if (!IsPostBack)
{
if ((Page.User.Identity.AuthenticationType.ToString() == "Negotiate" ) || (Page.User.Identity.AuthenticationType.ToString() == "NTLM" ))
{
if (Page.User.Identity.Name.IndexOf( '\\' ) < 1)
{
Response.Redirect(System.Configuration.ConfigurationManager.AppSettings[ "urlMappingErrorPage" ].ToString(), true);
return;
}
v_domain = Page.User.Identity.Name.Split( '\\' )[0].ToString();
v_domainaccount = Page.User.Identity.Name.Split( '\\' )[1].ToString();
v_empID = Coeno.Account. Users .GetUserEmpID(v_domain.ToUpper(), v_domainaccount.ToUpper());
}
else
{
v_empID = Page.User.Identity.Name;
}
if (v_empID == " " )
{
Response.Redirect(System.Configuration. ConfigurationManager .AppSettings[ "urlMappingErrorPage" ].ToString(), true);
return;
}
if (!Coeno.Main.Roles.IsUserInRole(systemid, v_empID, ROLEADMIN) && !Coeno.Main.Roles.IsUserInRole(systemid, v_empID, TechClass_HR))
{
Response.Redirect(System.Configuration.ConfigurationManager.AppSettings[ "urlPermissionDenied" ].ToString(), true);
return;
}
txtCurrentEmpID.Text = v_empID;
}
}
#endregion
protected void BtnUpload_Click(object sender, EventArgs e)
{
HttpPostedFile file = uploadFile.PostedFile;
if (file.FileName.Length==0)
{
lblMsg.Text= " 请选择一个要上传的文件!" ;
lblMsg.ForeColor=System.Drawing.Color.Red;
return ;
}
if (Path.GetExtension(file.FileName) != ".xls" )
{
lblMsg.Text= " 请选择一个.xls为后缀的文件" ;
lblMsg.ForeColor=System.Drawing.Color.Red;
return;
}
string filename=txtCurrentEmpID.Text+System.DateTime.NowToString( "yyyyMMddHHmmss" )+Path.GetExtension(fileName);
string filePath = "~/UploadFiles/HRUplEmpQuery/" + filename;
file.SaveAs(Server.MapPath(filePath));
int count = 0;
int m = 0;
OleDbConnection OleConn = new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(filePath) + ";Extended Properties=\"Excel 8.0;IMEX=1;\";" );
try
{
OleDbCommand OleDbCmd = new OleDbCommand( "SELECT * FROM [Sheet1$]", OleConn );
OleDbCommand OleDbCmdc = new OleDbCommand( "SELECT count(*) FROM [Sheet1$]" , OleConn);
OleConn.Open();
OleDbDataReader odr = OleDbCmd.ExecuteReader();
count = Convert.ToInt32(OleDbCmdc.ExecuteScalar());
lblGUID.Text = " " ;
lblGUID.Text = Guid.NewGuid().ToString();
//上傳資料
DataTable dt = new DataTable();
dt.Columns.Add( "PeriodID" , typeof(string));//1
dt.Columns.Add( "EmpID" , typeof(string));//2
dt.Columns.Add( "EmpName" , typeof(string));//3
dt.Columns.Add( "RecDayID" , typeof(string));//3
dt.Columns.Add( "RecHourID" , typeof(string));//4
dt.Columns.Add( "RecMinID" , typeof(string));//5
dt.Columns.Add( "DeviceID" , typeof(string));
dt.Columns.Add( "IOFlag" , typeof(string));
dt.Columns.Add( "RecTime" , typeof(string));
dt.Columns.Add( "CUser" , typeof(string));
DataRow dr;
while (odr.Read())
{
dr = dt.NewRow();
dr[0] = lblGUID.Text;
dr[1] = odr[0].ToString();
dr[2] = odr[1].ToString();
dr[3] = odr[2].ToString();
dr[4] = odr[3].ToString().Substring(0,2);
dr[5] = odr[3].ToString().Substring(3, 2);
dr[6] = odr[4].ToString();
dr[7] = odr[5].ToString();
dr[8] = odr[2].ToString() + ' ' + odr[3].ToString();
dr[9] = Coeno.Utility.String.CleanUpInput(txtCurrentEmpID.Text);
dt.Rows.Add(dr);
}
odr.Close();
//修改
if (dt.Rows.Count > 0)
{
string returnstatus = " " ;
string returnid = " " ;
string returnmsg = " " ;
string Num = " " ;
string NumOK = " " ;
string NumErr = " " ;
int ecode = Coeno.TechClass.ClassHR.RecordInsByExcel(dt);
if (ecode == 0)
{
Coeno.TechClass.ClassHR.RecordInsExcelCheck(dt, out returnstatus, out returnid, out returnmsg, out Num, out NumOK, out NumErr);
}
else
{
lblMsg.Text = "資料有誤!" ;
lblMsg.ForeColor = System.Drawing.Color.Red;
return;
}
gvDataBind(lblGUID.Text);
if (returnstatus == "1" )
{
pnlRecordList.Visible = true ;
lblMsg.Text = "共上傳:" + Num + "筆,成功:" + NumOK + "筆,失敗:" + NumErr + "筆" ;
lblMsg.ForeColor = System.Drawing.Color.Red;
}
else
{
pnlRecordList.Visible = false ;
lblMsg.Text =returnmsg;
}
}
}
catch(Exception ex)
{
pnlRecordList.Visible = false ;
lblMsg.Text = ex.Message;
}
pnlRecordList.Visible = true ;
}
protected void gvDataBind(string v_GUID)
{
gvRecordList.DataSource = null ;
gvRecordList.DataBind();
DataTable dt = Coeno.TechClass.ClassHR.QueryRecordProcList(lblGUID.Text);
if (dt.Rows.Count > 0)
{
gvRecordList.DataSource = dt;
gvRecordList.DataBind();
}
}
}
C#导入Excel表格功能aspx.cs(代码)的更多相关文章
- php导入excel表格
我们做网站的时候经常要用到excel导入和导出的功能,我们通常的做法是用phpexcel工具包来完成,具体方法如下: html代码: <form action="{:U('Mall/u ...
- phpexcel导入excel表格
html代码 <form action="{:U('Mall/updExcel')}" method="POST" enctype="multi ...
- 第三次作业--导入excel表格(完整版)
031302322 031302316 将教师排课表导入系统 使用powerdesigner设计数据库表格 设计概念模型 打开new -> Conceptual Data Model创建概念模型 ...
- Vue3实现动态导入Excel表格数据
1. 前言 在开发工作过程中,我们会遇到各种各样的表格数据导入,大部分我们的解决方案:提供一个模板前端进行下载,然后按照这个模板要求进行数据填充,最后上传导入,这是其中一种解决方案.个人认为还有另外 ...
- 怎样把Word文档导入Excel表格
Word是现在办公中的基础文件格式了,很多的内容我们都通过Word来进行编辑,那么当我们需要将Word文档里的信息导入到Excel里面的时候,我们应该怎样做呢?下面我们就一起来看一下吧. 操作步骤: ...
- 【tp5.1】通过PHPExcel实现导入excel表格
1.上github下载PHPExcel,链接:https://github.com/PHPOffice/PHPExcel 2.下载解压后,将Classes改名为PHPExcel如图 3.将文件夹复制到 ...
- java导入Excel表格数据
首先导入Excel数据需要几样东西 第一需要两个依赖包,这里直接是在pom注入依赖 <!--excel--> <dependency> <groupId>org.a ...
- 前端JS实现一键导入excel表格
前面的文章中已经讲过关于js表格的导出,此文章主要说到的是excel文件如何导入到网页中,并在网页端显示. 代码部分: <!DOCTYPE html> <html> <h ...
- java解析导入excel表格转为实体类javabean,根据实体类中的中文名称
最近公司需求解析excel,一开始使用poi做的挺好的,后来直接上了几十万条数据的excel文件,内存直接溢出了,网上查到apache poi还提供了专门处理海量数据的方法,使用sax解析,果然用了内 ...
随机推荐
- IntelliJ IDEA悬停鼠标显示方法详细信息
1.如果View -> Toolbar勾选情况下, 直接点击按钮打开设置, 或是直接点击File -> Settings(或是快捷键)打开设置窗口. 2.搜索栏中输入Show quick ...
- 美国gfs数据介绍和解析
最近有个项目需要开发个气象信息API,可以通过经纬度查找未来几天的气象信息. 经过几天的研究,现在简单总结一下. 1.数据来源数据来源采自美国国家环境预报中心的GFS(全球预报系统),该系统每天发布4 ...
- Access 字段拼接(UPDATE 数据追加)
今天遇到一个需求,在Access数据库中,有个net_id 字段,它的值是由 “jjgrape” 这个字符串和 id 字段组成的,也就是说,要把 ‘jjgrape’ 和 id 字段拼接起来: 那怎么拼 ...
- Spring cloud微服务安全实战-6-2JWT认证之认证服务改造
首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ...
- Eclipse JEE 2018.12R TUNA源直接下载地址
下载地址:https://mirrors.tuna.tsinghua.edu.cn/eclipse/technology/epp/downloads/release/2018-12/R/eclipse ...
- docker 下mysql 和postgresql 数据库的搭建以及数据文件的迁移和备份
service docker start - docker 启动 service docker stop - docker 关闭 1.docker 镜像创建—使用的默认镜像有数据卷 docker pu ...
- Node.js Sequelize如何实现数据库的读写分离
一.前言 在构建高并发的Web应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性.使用较多的数据库优化方案是:通过主从复制(Master-Slave)的方式来同步数据,再通过读写分 ...
- 【计算机视觉】车牌识别开源框架EasyPR介绍
之前学习了一个GitHub开源的框架,GitHub地址为: https://github.com/liuruoze/EasyPR 希望通过此篇博客详细阐述如何一步步实现车牌的识别过程. 车牌识别分 ...
- BP神经网络设计常用的基本方法和实用技术
尽管神经网络的研究和应用已经取得巨大成功,但在网络的开发设计方面至今仍没有一套完善的理论做指导,应用中采取的主要设计方法是,在充分了解待解决问题的基础上将经验与试探相结合,通过多次改进性试验,最终选出 ...
- java查询图片显示无图片显示项目默认图片
/** * 读取图片 * @param request * @param record * @return */ @RequestMapping(params ="method=queryW ...