近期一直在做如何将数据库的数据导出到excel和导入excel到数据库. 首先进入官网进行下载NPOI插件(http://npoi.codeplex.com/). 我用的NPOI1.2.5稳定版. 使用这个网址http://tonyqus.sinaapp.com/可以查询你需要的一些资料. 我这次主要做的是数据库的数据导出到excel和导入excel到数据库.下来我说一下自己的思路. DBToExcel 1.先建一个Model代码如下 public class person{ public st…
前言: 这段时间一直专注于数据报表的开发,当然涉及到相关报表的开发数据导出肯定是一个不可避免的问题啦.客户要求要导出优雅,美观的Excel文档格式的来展示数据,当时的第一想法就是使用NPOI开源库来做数据导出Excel文档(当时想想真香,网上随便搜一搜教程一大堆),但是当自己真正的实践起来才知道原来想要给不同的单元格设置相关的字体样式.边框样式以及单元格样式一个简单的样式需要写这么多行代码来实现.作为一个喜欢编写简洁代码的我而言肯定是受不了的,于是乎提起袖子说干就干,我自己根据网上的一些资料自己…
引入NPOI 2.1.3.1的包 项目引入 using NPOI.XSSF.UserModel;using NPOI.SS.UserModel; 控制器方法: public ActionResult DoDormIdImport()        { return RedirectToAction("DormIdImport");        }        [HttpPost]        public ActionResult DoDormIdImport(HttpPoste…
一.需求分析 最近接到一个需求,导入十万级,甚至可能百万数据量的记录了车辆黑名单的Excel文件,借此机会分析下编码过程; 首先将这个需求拆解,发现有三个比较复杂的问题: 问题一:Excel文件导入后首先要被解析为存放对象的列表,数据量大的情况下可能会导致内存溢出,解析时间过长; 问题二:插入数据库的时候,数据量大,写入的时间长 问题三:要对数据库中的现有数据进项判断,不仅仅要做插入动作,还要将数据库的数据与导入的数据对比,判断是否做更新操作 其中: 问题一和问题三,可以看做同一类,因为主要涉及…
以下代码将c:\cs\文件夹下的全部Excle中数据导入到SQL数据库 declare @query vARCHAR(1000) declare @max1 int declare @count1 int declare @filename varchar(100) set @count1=0 create table #x(name varchar(200)) insert #x exec('master.dbo.xp_cmdshell  ''dir c:\cs\*.xls  /b''') d…
Excel表格的使用可谓是非常广泛,博主也简单百度了一下Excel的发展. 发展历程: 1982年 Microsoft推出了它的第一款电子制表软件-Multiplan,并在CP/M系统上大 Excel 获成功,但在MS-DOS系统上,Multiplan败给了Lotus1-2-3(一款较早的电子表格软件).这个事件促使了Excel的诞生,正如Excel研发代号DougKlunder:做Lotus1-2-3能做的,并且做的更好. 1983年9月 比尔盖茨召集了微软最高的软件专家在西雅图的红狮宾馆召开…
{ 题外拓展:把datatable插入dataset DataTable fuben = new DataTable();//定义的datatablefuben = table.Tables[0].Copy(); 把获取的datatable复制到新的表中fuben.TableName = "sheet" + userid + "";定义表名ds.Tables.Add(fuben);插入dataset 之所以这么麻烦是因为 我用了返回dataset的方法来获取的dat…
前言:公司让做一个导出数据到Excel的小工具,要求是用户前端输入sql语句,点击导出按钮之后,将数据导出到Excel,界面如图所示:文件下端显示导出的进度 遇到的问题: 1.使用NPOI进行Excel 的导出,使用XSSFWorkbook导出,这个类可以使每sheet条数超过十万条,使用HSSFWorkbook每个sheet只可以导出65535条数据. 2.导出数据时,创建新的线程进行导出,防止页面卡死不动. 3.在使用线程时,如果给线程方法传递参数,此示例中主要是通过 Thread t =…
/// <summary> /// 将excel导入到datatable /// </summary> /// <param name="filePath">excel路径</param> /// <returns>返回datatable</returns> DataTable ExcelTable = null; FileStream fs = null; DataColumn column = null; Da…
@RequestMapping(params = "method=import", method = RequestMethod.POST) @ResponseBody public String importConfig(HttpServletRequest request, HttpServletResponse response) throws Exception{ response.setCharacterEncoding("GBK"); String re…