npoi导入导出excel

摘要:
1.Import protectedvoidbtnImport_Click(objectsender,EventArgse){if(fileUp.HasFile==false)//使用HasFile检查FileUpload是否具有指定的文件{JScript.Alert(“请选择Excel文件”);return;}stringIsXls=System.IO.Path.GetExtension(文件

1.导入

     protected void btnImport_Click(object sender, EventArgs e)
        {
            if (fileUp.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
            {
                JScript.Alert("请您选择Excel文件");
                return;
            }
            string IsXls = System.IO.Path.GetExtension(fileUp.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
            if (IsXls != ".xls")
            {
                JScript.Alert("只可以选择Excel文件");
                return;
            }
 
            //获取Execle文件名  DateTime日期函数
            string filename = fileUp.FileName;
 
            //Server.MapPath 获得虚拟服务器相对路径
            string savePath = Server.MapPath(("upfiles\") + filename);
 
            //SaveAs 将上传的文件内容保存在服务器上
            fileUp.SaveAs(savePath);
 
            //连接Excel  读取Excel数据   并返回DataSet数据集合
            DataSet ds = GridViewExportUtil.ExcelSqlConnection(savePath, filename);
 
            //定义一个DataRow数组
            DataRow[] dr = ds.Tables[0].Select();
            int rowsnum = ds.Tables[0].Rows.Count;
            if (rowsnum == 0)
            {
                JScript.Alert("Excel表为空表,无数据!");
            }
            else
            {
                List<UnitInfo> infoList = new List<UnitInfo>();
                for (int i = 0; i < dr.Length; i++)
                {
                    //前面除了你需要在建立一个“upfiles”的文件夹外,其他的都不用管了,你只需要通过下面的方式获取Excel的值,然后再将这些值用你的方式去插入到数据库里面
                   
                    UnitInfo info = new UnitInfo();
                    info.T_CODE = dr[i]["编号"].ToString();
                    
 
                    infoList.Add(info);
                }
                try
                {
                    if (bl.InsertUnit(infoList, out errMsg))
                    {
                        JScript.Alert("Excle表导入成功");
                    }
                    else
                    {
                        JScript.Alert("Excle表导入失败");
                    }
                }
                catch
                {
                    JScript.Alert("Excle表导入失败");
 
                }
            }
        }
    #region 连接Excel  读取Excel数据   并返回DataSet数据集合
        /// <summary>
        /// 连接Excel  读取Excel数据   并返回DataSet数据集合
        /// </summary>
        /// <param name="filepath">Excel服务器路径</param>
        /// <param name="tableName">Excel表名称</param>
        /// <returns></returns>
        public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName)
        {
            string errMsg = string.Empty;
            string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
            
            OleDbConnection ExcelConn = new OleDbConnection(strCon);
            try
            {
                string strCom = string.Format("SELECT * FROM [Sheet1$]");
                ExcelConn.Open();
                OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, ExcelConn);
                DataSet ds = new DataSet();
                myCommand.Fill(ds, "[" + tableName + "$]");
                ExcelConn.Close();
                return ds;
            }
            catch
            {
                ExcelConn.Close();
                return null;
            }
        }
        #endregion



2.导出http://www.cnblogs.com/dreamof/archive/2010/06/02/1750151.html

免责声明:文章转载自《npoi导入导出excel》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python3+OpenGL环境配置typora快捷键下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

abap将内表数据导出为excel文件

一个不错的方案:  WHEN 'EXPORT'. "导出数据   DATA : GT_TEMP TYPE TABLE OF TY_ITEM WITH HEADER LINE.  LOOP AT GT_IMERR INTO GT_TEMP.   APPEND GT_TEMP. ENDLOOP.   INCLUDE...

Excel单元格内自动换行自动行高,打印预览出现内容缺失解决方案

解决方案:    office2019为例, 进入打印预览界面之后选择'页面设置'.     更改打印质量, 然后依次尝试, 选择表现最好的一项.(此处我选择的是144dpi,请根据自己的硬件设备选择)调整后效果     如果需要把当前设置的预览效果输出为PDF文件, 则可以通过Adobe PDF虚拟打印机输出. (直接保存为PDF文件则为默认清晰度,依旧...

phpexcel 导出 科学计数问题

今天在用php做excel导出的时候遇到了一个小问题,如图 单元格默认格式为常规格式,当数值过长时就会变成科学计数。 解决方法: 如果输出的excel的$data数据是手动添加的,那就在对应值得后面添加一个空格,这样的话输出的值就会转换成文本格式. 如果是从数据库读取的话那么把查找的字段稍作修改: Concat(param," ") as param 这...

JavaScript学习笔记及知识点整理_1

一.js的基础部分 1.==和===的区别:==在判断是否相等的时候会进行类型转换,有时会得到非常奇怪的结果,因此一般情况下都是用===判断是否相等2.strict模式:在js中,如果一个变量没有用var进行声明,那么这个变量将会变成全局变量.采用strict模式声明后,如果该变量没有用var声明,那么将会报错!采用strict模式的方法是在js的第一行加...

使用NPOI读取Excel出错

使用NPOI读取Excel出错,错误信息:java.io.IOException: Invalid header signature; read 4503608217567241, expected –2226271756974174256 诊断:查看Excel文件大小为1k,正常新建Excel应为7K(取WPS标准),问题判断为读取文件信息错误,将Ex...

导出 Excel 模板自动生成规则,避免用户反复修改

一句话总结 Excel 导出、导入时,根据注解自动添加单元格验证规则,避免用户因填写错误的枚举字段而反复修改 Excel 需求背景 对于 Java Web 项目,总是不可避免的出现 Excel 导入、导出的需求,而 Excel 导入导出时,枚举字段和枚举值的映射是非常常见的一种情况 例如:下面这张示例中的性别列 数据库表结构: Excel 中用户需要输入...