NOPI操作EXCEL导入导出

        private void btnOutput_Click(object sender, EventArgs e)
        {
            List<MODEL.Classes> list = cm.GetClassInfo(false);    //获取对象数据集合
            HSSFWorkbook workbook=new HSSFWorkbook ();    //新建Excel工作表
            HSSFSheet sheet=workbook.CreateSheet("classes");   //在工作文档中新建页
            for(int i=0;i<list.Count;i++)     //遍历lis对象数据集合
            {
                HSSFRow row=sheet.CreateRow(i);    //在页中创建行
                HSSFCell cell1=row.CreateCell(0);    //在行中创建列
                cell1.SetCellValue(list[i].CID);     //给列字段赋值
                HSSFCell cell2=row.CreateCell(1);
                cell2.SetCellValue(list[i].CName);
                HSSFCell cell3=row.CreateCell(2);
                cell3.SetCellValue(list[i].CCount);
                HSSFCell cell4=row.CreateCell(3);
                cell4.SetCellValue(list[i].CImg);
                HSSFCell cell5=row.CreateCell(4);
                cell5.SetCellValue(list[i].CIsDel);
                HSSFCell cell6=row.CreateCell(5);
                cell6.SetCellValue(list[i].CAddTime);
                HSSFDataFormat date = workbook.CreateDataFormat();    //为工作表创建日期格式
                HSSFCellStyle style = workbook.CreateCellStyle();     //为工作表创建单元格格式
                style.DataFormat = date.GetFormat("yyyy-mm-dd hh-mm-ss");   //将日期格式赋值到单元格格式中
                cell6.CellStyle = style;   //设置具体单元格格式为已定义的日期格式
            }
            using(FileStream fs=new FileStream (txtOutPut.Text.Trim(),FileMode.Create))    //获取路径并创建对应文件
            {
                workbook.Write(fs);      //写入对应文件
                MessageBox.Show("写入成功");
            }
        }

  

        private void btnInput_Click(object sender, EventArgs e)
        {
            List<MODEL.Classes> list = new List<MODEL.Classes>();      //实例化集合对象接受数据
            using(FileStream fs=new FileStream (txtInput.Text.Trim(),FileMode.Open))    //打开对应文件
            {
                HSSFWorkbook workbook = new HSSFWorkbook(fs);   //读取工作表内容
                HSSFSheet sheet = workbook.GetSheet("classes");   //读取页内容
                for(int i=sheet.FirstRowNum;i<sheet.LastRowNum;i++)    //遍历行
                {
                    MODEL.Classes temp = new MODEL.Classes();    //实例化对象接受数据
                    HSSFRow row = sheet.GetRow(i);      //读取行内容
                    temp.CID = (int)row.GetCell(0).NumericCellValue;
                    temp.CName = row.GetCell(1).StringCellValue;
                    temp.CCount =(int) row.GetCell(2).NumericCellValue;
                    temp.CImg = row.GetCell(3).StringCellValue;
                    temp.CIsDel = row.GetCell(4).BooleanCellValue;
                    temp.CAddTime = row.GetCell(5).DateCellValue;
                    list.Add(temp);
                }
            }
            this.dgvClassList.DataSource = list;
        }
时间: 2024-10-20 07:46:33

NOPI操作EXCEL导入导出的相关文章

.net 自己写的操作Excel 导入导出 类(以供大家参考和自己查阅)

由于现在网页很多都关系到Excel 的操作问题,其中数据的导入导出更是频繁,作为一个菜鸟,收集网上零散的知识,自己整合,写了一个Excel导入到GridView ,以及将GridView的数据导出到EXCEL的类方法,以供参考和方便自己以后查阅. 1 #region 引用部分 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Web; 6 using System.Dat

c#操作excel导入导出时同时向用户表插入账户与密码

<><><><>本代码源于师兄<><><><><><> 1:首先需要在前端显示界面View视图中添加导入Excel和导出Excel按钮: @using (Html.BeginForm()) { } 这里注意,导出Excel是通过获取当下的表单的方式来导出数据的. 2:然后为导入Excel添加导入方法function: js部分以图片存放 3:添加点击事件后弹出来的操作界面(importe

【原创】POI操作Excel导入导出工具类ExcelUtil

关于本类线程安全性的解释: 多数工具方法不涉及共享变量问题,至于添加合并单元格方法addMergeArea,使用ThreadLocal变量存储合并数据,ThreadLocal内部借用Thread.ThreadLocalMap以当前ThreadLocal为key进行存储,设置一次变量,则其他线程也会有上次数据的残留,因此在addMergeArea方法中进行清空的操作.为了保证原子性, 采用ReentrantLock确保一次只有一个线程可以进行添加合并数据的操作. 线程安全性从以上两个方面保证. 水

excel导入导出优化

对于上一篇excel中出现的问题,在excel导入导出中都做了优化.还是eclipse+jdk1.8,但是这个项目是一个web项目,需要配合Tomcat服务器,并且使用了SSH框架, I/O操作过多 首先,对于I/O操作过多,那么就不像之前一样,一条一条的添加或者更新;而且凑齐一堆,也就是一个list集合,然后统一的批量保存. 使用SessionFactory获取当前的session,然后调用session的persist方法,保存实体.只是设置了一个批量的量值.每到30条数据,就将缓存同步到数

一个基于POI的通用excel导入导出工具类的简单实现及使用方法

前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴.经过思考,认为一百个客户在录入excel的时候,就会有一百个格式版本,所以在实现这个功能之前,所以要统一excel的格式.于是提供了一个通用excel模版的下载功能.当所有客户用模版录入好数据再上传到系统,后端对excel进行解析,然后再持久化到数据库. 概述: 此工具类的几大特点 1.基本导入导出

Excel导入导出帮助类

/// <summary>    /// Excel导入导出帮助类    /// 记得引入 NPOI    /// 下载地址   http://npoi.codeplex.com/releases/    /// </summary> public class ExcelHelper    {        #region 导出Excel /// <summary>        /// 导出Excel  注:model 字段必须加[DisplayName("

java poi excel 导入导出数据

背景:1.pringmvc 框架下 的excel 导入导出   2.OI 操作office. 页面代码: <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class=&quo

开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出

 开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出 14.EXCEL导入导出 Excel的导入导出抽取通用功能,简化大家对POI的操作,对实体对象进行简单的注解配置就可以完成导入导出,模板的使用更是可以让打造漂亮的Excle报表,从而使大家从重复的工作中解脱出来,更加关注与业务的处理. 14.1注解介绍    注解名 作用对象 描述 是否必须 Excel 字段 对Excel字段的cell属性设置 是 ExcelCollection 字段 对集合对象进行标记表示一对多导出 否 E

java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)

最近项目要一个批量导出功能,而且要生成一个单独的sheet页,最后后面所有sheet的索引,并且可以点击进入连接.网上搜索了一下,找到一个方法,同时把相关的excel导入导出操作记录一下!以便以后使用! 简单先写一下目录的建立的主要代码,测试用的 List ls = new ArrayList();//报表名称列表  ls.add("BB_BB03");  ls.add("BB_BB05");  ls.add("BB_BB06"); try {