NPOI 数据导入导出
{
//数据导入
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Excle文件|*.xls";
open.Title="导入数据....";
if (open.ShowDialog() != true)
{
return;
}
else
{
string filename = open.FileName;
using (Stream stream = File.OpenRead(filename))
{
HSSFWorkbook booke = new HSSFWorkbook(stream);
ISheet sheet = booke.GetSheetAt();
DataTable table = new DataTable();
table.Columns.Add("Name");
table.Columns.Add("Age");
table.Columns.Add("Indate");
// DataRow row = new DataRow();
// row["Name"]=
for(int i=;i< sheet.LastRowNum;i++)
{
IRow HssRow=sheet.GetRow(i);
DataRow row = table.NewRow();
row["Name"] = HssRow.GetCell().StringCellValue;
if (HssRow.GetCell().CellType == CellType.NUMERIC)
{
row["Age"] = HssRow.GetCell().NumericCellValue;
}
else if (HssRow.GetCell().CellType == CellType.STRING)
{
row["Age"] = Convert.ToInt32(HssRow.GetCell().NumericCellValue);
}
else
{
MessageBox.Show("数据类型出错");
return;
}
if (HssRow.GetCell().CellType == CellType.NUMERIC)
{
row["Indate"] =(DateTime) HssRow.GetCell().DateCellValue;}
table.Rows.Add(row);
}
TODB(table);
}
}
}
public void TODB(DataTable table)
{
using (SqlBulkCopy copy = new SqlBulkCopy("Password=HRMSys;Persist Security Info=True;User ID=HRMSys;Initial Catalog=HRMSys;Data Source=."))
{
copy.DestinationTableName = "T_Tex";
copy.ColumnMappings.Add("Name","Name");
copy.ColumnMappings.Add("Age", "Age");
copy.ColumnMappings.Add("Indate", "Indate");
if (table == null)
{
MessageBox.Show("Table 参数为空", "错误提示" );
return;
}
copy.WriteToServer(table);
MessageBox.Show("数据导入成功","消息提示框");
refashush();
}
}
//数据导出
SaveFileDialog save = new SaveFileDialog();
save.Filter="Excle文件|*.xls";
save.Title="保存文件....";
if (save.ShowDialog()!=true)
{
return;
}
else
{
List<TexMode> mo = this.listView.ItemsSource as List<TexMode>;
TexMode [] mode= mo.ToArray();
if(mode==null)
{
MessageBox.Show("TexMode mode 数据为空");
return;
}
string fileName =save.FileName;
HSSFWorkbook workbook = new HSSFWorkbook();
ISheet sheet= workbook.CreateSheet("员工数据");
IRow HeaderRow = sheet.CreateRow();
HeaderRow.CreateCell(, CellType.STRING).SetCellValue("姓名");
HeaderRow.CreateCell(, CellType.NUMERIC).SetCellValue("年龄");
HeaderRow.CreateCell(, CellType.STRING).SetCellValue("日期");
ICellStyle style = workbook.CreateCellStyle();
IDataFormat frommate = workbook.CreateDataFormat();
style.DataFormat = frommate.GetFormat("yyyy/m/d");
for (int i = ;i< mode.Length; i++)
{
IRow row = sheet.CreateRow(i);
row.CreateCell(,CellType.STRING).SetCellValue(mode[i-].Name);
row.CreateCell(, CellType.NUMERIC).SetCellValue(mode[i-].Age);
ICell indate = row.CreateCell(,CellType.NUMERIC);
indate.CellStyle = style;
indate.SetCellValue(mode[i-].Indate);
}
using (Stream strea = File.OpenWrite(fileName))
{
workbook.Write(strea);
}
MessageBox.Show("文件保存在:" + fileName,"消息提示框");
}
<菜鸟学习大神勿喷> 测试代码,提供的大概思路,部分代码可精简
NPOI 数据导入导出的更多相关文章
- 用NPOI实现导入导出csv、xls、xlsx数据功能
用NPOI实现导入导出csv.xls.xlsx数据功能 直接上代码 首先定义一个接口 如果需要直接操作文件的话,就自己在封装一次 然后定义csv类的具体实现 这个需要引入命名空间LumenWo ...
- ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成
一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...
- 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上
阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...
- oracle数据导入/导出
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据 ...
- Oracle数据导入导出
Oracle数据导入导出imp/exp 在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与ora ...
- SQL SERVER 和ACCESS的数据导入导出
//批量导入Access string filepath = Server.MapPath("student.mdb"); stri ...
- 关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 ...
- Hive 实战(1)--hive数据导入/导出基础
前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...
- Winform开发框架之通用数据导入导出操作的事务性操作完善
1.通用数据导入导出操作模块回顾 在我的Winfrom开发框架里面,有一个通用的导入模块,它在默默处理这把规范的Excel数据导入到不同的对象表里面,一直用它来快速完成数据导入的工作.很早在随笔< ...
随机推荐
- mybatis if test 不为空字符串或null
<if test="type !=null and type !=''"> AND l.type=#{type,jdbcType=INTEGER} </if> ...
- JAVA RMI 实例
下面我将介绍一个完整的实例,让初学者能快速体验RMI的功用. 分为以下四个步骤 1. 创建远程接口及声明远程方法(HelloInterface.java)2. 实现远程接口及远程方法(继承Unicas ...
- maven添加本地jar包
今天遇到一个mavan仓库中没有的jar包, 故只能添加本地jar包, 花了不少时间找资料,终于OK.故在此记录. 1. 第一次,在网上看到说可以用<systemPath> 解决, 如下: ...
- Xcode真机调试出现The account '***' has no team with ID '***'的解决方案
前段时间,想用真机调试的时候出现 The account '***' has no team with ID '***'的问题, 以前页真机调试过,没有这种情况,于是我登陆开发者中心,进去发现说我的账 ...
- mysql 存储 emoji报错( Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F)的解决方案
1.报错原因: mysql utf-8 编码储存的是 2-3个的字节,而emoji则是4个字节. 2.解决办法: 修改mysql的配置文件,windows下的为my.ini(linux下的为my.cn ...
- Windows Phone 10如何借Windows 10的东风
距微软发布Windows Phone 7已经四年多了,WinPhone的市场份额一直萎糜不前.去年微软收购诺基亚,如特洛伊木马般戏剧,却没有挽救WinPhone,甚至出现下滑,已经不足3%,已经基本被 ...
- XmlHelper
获取XML节点的值(http服务使用xml传输数据,节点名称唯一) /// <summary> /// 获取xml节点的值 /// </summary> /// <par ...
- Linux 设备驱动程序 proc seq
不能再简化 #include<linux/module.h> #include<linux/init.h> #include<linux/seq_file.h> # ...
- CentOS 6.7 中安装Emacs 24.5
Emacs 版本:http://mirror.bjtu.edu.cn/gnu/emacs/emacs-24.5.tar.gz CentOS 内核版本:2.6.32-573.el6.x86_64 参考资 ...
- PHP文件的读取
1.PHP部分文件操作函数 ( fopen ,fread ,filesize,fwrite,fclose ) 2.unlink() rmdir() 删除函数 unlink(路径和文件名): rmdi ...