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(代码)的更多相关文章

  1. php导入excel表格

    我们做网站的时候经常要用到excel导入和导出的功能,我们通常的做法是用phpexcel工具包来完成,具体方法如下: html代码: <form action="{:U('Mall/u ...

  2. phpexcel导入excel表格

    html代码 <form action="{:U('Mall/updExcel')}" method="POST" enctype="multi ...

  3. 第三次作业--导入excel表格(完整版)

    031302322 031302316 将教师排课表导入系统 使用powerdesigner设计数据库表格 设计概念模型 打开new -> Conceptual Data Model创建概念模型 ...

  4. Vue3实现动态导入Excel表格数据

    1.  前言 在开发工作过程中,我们会遇到各种各样的表格数据导入,大部分我们的解决方案:提供一个模板前端进行下载,然后按照这个模板要求进行数据填充,最后上传导入,这是其中一种解决方案.个人认为还有另外 ...

  5. 怎样把Word文档导入Excel表格

    Word是现在办公中的基础文件格式了,很多的内容我们都通过Word来进行编辑,那么当我们需要将Word文档里的信息导入到Excel里面的时候,我们应该怎样做呢?下面我们就一起来看一下吧. 操作步骤: ...

  6. 【tp5.1】通过PHPExcel实现导入excel表格

    1.上github下载PHPExcel,链接:https://github.com/PHPOffice/PHPExcel 2.下载解压后,将Classes改名为PHPExcel如图 3.将文件夹复制到 ...

  7. java导入Excel表格数据

    首先导入Excel数据需要几样东西 第一需要两个依赖包,这里直接是在pom注入依赖 <!--excel--> <dependency> <groupId>org.a ...

  8. 前端JS实现一键导入excel表格

    前面的文章中已经讲过关于js表格的导出,此文章主要说到的是excel文件如何导入到网页中,并在网页端显示. 代码部分: <!DOCTYPE html> <html> <h ...

  9. java解析导入excel表格转为实体类javabean,根据实体类中的中文名称

    最近公司需求解析excel,一开始使用poi做的挺好的,后来直接上了几十万条数据的excel文件,内存直接溢出了,网上查到apache poi还提供了专门处理海量数据的方法,使用sax解析,果然用了内 ...

随机推荐

  1. 悟空CRM(基于jfinal+vue+ElementUI的前后端分离的开源CRM系统)

    https://www.jfinal.com/share/1591 官网:http://www.5kcrm.com 官网:http://www.72crm.com 论坛:http://bbs.72cr ...

  2. Nginx 配置操作注意事项

    Nginx reload 会中断现有连接吗? - 知乎https://www.zhihu.com/question/57096250 在NGINX上配置HTTPS---血的教训--要重启NGINX - ...

  3. typescript命名空间

    /* 命名空间: 在代码量较大的情况下,为了避免各种变量命名相冲突,可将相似功能的函数.类.接口等放置到命名空间内 同Java的包..Net的命名空间一样,TypeScript的命名空间可以将代码包裹 ...

  4. 深度学习:21天实战caffe学习资源-4-环境安装

    使用anaconda3环境下的python2.7, 机器macos mojave 10.14 1.安装Xcode 首先现在app store中安装Xcode: 不然会有” framework not ...

  5. php 微信公众平台OAuth2.0网页授权,获取用户信息代码类封装demo

    get_wx_data.php <?php /** * 获取微信用户信息 * @author: Lucky hypo */ class GetWxData{ private $appid = ' ...

  6. Hadoop记录-部署hadoop环境shell实现

    #!/bin/bash menu() { echo "---欢迎使用hadoop部署管理程序---" echo "# 1.初始化Linux环境" echo &q ...

  7. extends 类的继承 / super关键字,调用继承类里面的函数和变量

    Son 继承Father 当其他脚本想调用 Father类里面的变量 or 方法 可以把 Son r=new Son()   等价于 Father r=new Father() 注意: 函数只能单继承 ...

  8. python flask框架学习(三)——豆瓣微信小程序案例(二)整理封装block,模板的继承

    我们所要实现的效果: 点击电影的更多,跳转到更多的电影页面:点击电视剧的更多,跳转到更多的电视剧页面. 三个页面的风格相同,可以设置一个模板,三个页面都继承这个模板 1.在指定模板之前,把css放在一 ...

  9. Given a family tree, find out if two people are blood related

    Given a family tree for a few generations for the entire population and two people write a routine t ...

  10. Nginx之开启压缩

    参考:https://blog.csdn.net/php12345679/article/details/80843939 https://blog.csdn.net/pf1234321/articl ...