大三在校生的传智120天的1200小时.net(三)

1,使用using(声明对象);using让局部对象失效,使用它时,要么其包含的类实现IDispose接口,要么他的父类实现IDispose接口。

2,模糊查询:%代表0到多个任意字符;_代表一个任意字符;[]中间放一个范围;^放在[]中代表非(不在此范围)

3,NPOI实现Excel导出导入:

导出到excel:::   (1)数据库中的表用SqlDataReader读出来存到其对象中

(2)创建IWorkbook接口的对象wk,并给其一个文件流参数--FileStream fsRead=File.O
penRead();   //工作簿

(3)wk.NumberofSheet代表工作表数量 ;  wk.GetSheetAt(索引)获取表;  创建ISheet接口的对象 sheet        ISheet sheet = wk.CreateSheet("tb_user");   //工作表

(4)sheet.LastRowNum代表最后一行的索引值;创建IRow 对象

(5)然而row.LastCellNum代表最后一列的列索引值+1;创建ICell对象

注意:数据库有空值的字段,在写入Excel时要做出判断

方法一:if(!=null)

{

row.CreateCell(3).SetCellValue(headMap);//如果不为空,则使用单元格。(另外一个意思就是  如果为空了,那么此单元格跳过不赋值,就是未使用)

}

方法二:if(headMap)

{

//单元格对象.空单元格

cellHeadMap.SetCellType(CellType.BLANK);

}

else
                             {
                                       cellHeadMap.SetCellValue(headMap);
                             }

(6)最后执行FileStream fsWrite=File.OpenWrite("文件名")

wk.Write(文件流对象fsWrite)

excel导入到表:::

(1)读取Excel

(2) IRow row = sheet.GetRow(i);

(3) string name = row.GetCell(1).StringCellValue;/////示例取值/////

(4)判断当单元格中不为空或者单元格格式不为Blank时,正常赋值,否则赋值为null

(5)当有值为null时,并不能把null插入到数据库,要插入DBNull.Value。//////new SqlParameter("@HeadMap",headMap==null?DBNull.Value:(object)headMap);//////

注意:://当插入日期的时候
            //Excel日期转到数据库时,要用DateTime.FromOADate;
            //Excel的控制插入数据库  要用DBNull.Value
            //onject(DateTime.FromOADate((double)lockDate))

时间: 2024-08-25 03:27:25

大三在校生的传智120天的1200小时.net(三)的相关文章

大三在校生的传智120天的1200小时.net(二)

前几天帮人做个社交网站,还是老套的控件方式,不过学习了ajax和一般处理程序ashx后,也用在了里面一些,今天回来继续写博客.继续上次总结下基础知识,学的内容多,总结的可能比较杂乱,分条总结为平时能自己看看吧. 1,文件流FileStream比File类速度快,不占用内存.操作大文件要用文件流. 2,文件流资源,GC不会帮我们释放,需要手动释放. 3,当创建对象的过程写在using中,会自动释放资源. 4,如果在子类中,将成员名称写的和父类中的相同,这样会隐藏子类从父类那里继承过来成员,带来的效

大三在校生的传智120天的1200小时.net(十) 关于JQuery(最后一点动画效果*)

1,$(':radio').val(['1','2','3']);//特殊写法,把值为1 2 3的都选中. 2,math.abs(len)取绝对值 3,按钮高亮显示,一般是配置两个按钮,一个普通的,一个高亮度的(比如普通样式按钮坐标为100,100. 高亮样式按钮坐标为120,120),当鼠标经过,js改变css background-position:100 -100;动态变为120 -120.(至于为什么当你在很多网站要保存一个小图标,却保存成了很大的图片,就是因为网站的图标显示离痛了bac

大三在校生的传智120天的1200小时.net(五)

1,js是一门解释型语言,无需编译,编写js要知道当前对象有什么成员,未必所有成员都能点出来. 2,js大小写敏感,严格区分大小写. 3,弱类型语言,声明用var,字符串推荐使用单引号. 4,==要先转型,后比较值.===叫做严格判断,判断类型和值:(switch case是严格判断) 5,js中没有局部作用域: 6,js代码对齐方式,要使用默认排版方式: 7,js中没有方法重载,默认选择最后一个. 8,argument.length可以获得该方法传进来的参数的个数. 9,闭包效率低(定义在一个

大三在校生的传智120天的1200小时.net(一)

.net框架包括类库和CLR(公共语言运行库).C#语言经过csc(编译器)翻译成MSIL(中间语言),经过CLR生成机器语言. IDE指的是你是用的开发工具并包括其版本. 类中主要包括字段,属性,方法,事件等.字段用于存储数据,属性可保护字段,取值执行get,赋值执行set,例如字符串的不可变性,字符串可以假设成字符数组, 但其并不能通过字符数组的索引来改变字符串的值,通过F12转到定义可以看见该属性,只有get,并没有set,所以属性保护了字符串的不可变,不过可以遍历字符串存到字符数组. 值

大三在校生的传智120天的1200小时.net(八) 关于JQuery

匿名函数在尤其重要 1,jQuery就是js语法写的一些函数,内部仍然用js实现的,所以并不是代替js的.使用jQuery的代码,编写的jQuery的拓展插件仍需要js技术,jq本身就是一堆js函数:write less do more 2,要向使用jq的方法,必须通过$对象.只有普通的dom封装成jq对象,才能调用jq各种方法 $是jq简写,代码中可以使用jQuery代替$ 3,写注释,后续jq代码会越来越多,注释是必要的 4,jq文件普通版本是开发使用,压缩版本是发布使用 5,dom对象可以

大三在校生的传智120天的1200小时.net(十四) 关于easyUI的模态对话框

会用easyUI的模态对话框会是我们的开发更加简洁,只需下载这个插件,把需要的文件拖到项目中,下面展示一个easyUI的模态对话框,以及使用方法和属性.这里是一个常用功能小展示,试试上easyUI自带的说明文档非常全面,*****学会查看文档很重要,看几次就会熟练***** <script type="text/javascript" src="../Script/jquery-1.8.3.js"></script> <script s

大三在校生的传智120天的1200小时.net(十四) 关于jq ajax封装以及error的报错参数

jq的ajax完整版本 $.ajax({ url: "GetCityByPId.ashx", data: {pId:pid}, dataType: "JSON", type: "GET", cache:false, success: function (data) { $("#city").empty(); for (var key in data) { var cityId = data[key].CityId; var c

大三在校生的传智120天的1200小时.net(九) 关于JQuery

整理jq基础常用(过于基础别喷): 1, $('div input[name]').css('','');//获取层中有name属性的标签 $('div input[name=txtname]').css('','');//获取层中有name属性的,并且属性值为txtname的标签 $('div input[name!=txtname]').css('','');//获取层中有name属性的,并且属性值不为txtname的input标签 $('div input[name^=n]').css('

大三在校生的传智120天的1200小时.net(七) 关于js性能

1,声明变量要赋初值2,尽量避免声明全局变量,可以减少与系统的重名3,当编写大量js代码时,难免会遇到命名冲突,这是可以通过模拟命名空间方式 来避免冲突4,尽量避免使用全局变量,搜索全局变量是会一层一层的搜索每个作用域范围, 耗时,低效.5,使用减值循环或者优化循环条件,不要再循环条件中写i<xxx.Length,而要用一 个变量来代替,i<len.因为每次循环都会执行计算length,var i=0也拿到外面 去.6,避免使用eval(“alert(10):”) setInterval(&q

大三在校生的传智120天的1200小时.net(六)

首先推荐一个小插件:W3Cfuns前端开发工具箱 整理一些杂乱的知识点. 1,Dom用于操作html元素 2,window.location.reload();//刷新当前页********** 3,取消默认事件 :return false; 举例:防止复制 document.body.oncopy=function(){ alert(‘谁让你复制的 交钱了吗’); return false;} 4,clipboardData.getData('text')//获取粘贴板内容,text是表示文本