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数据导入到不同的对象表里面,一直用它来快速完成数据导入的工作.很早在随笔< ...
随机推荐
- 关于Js OOP编程 创建对象的一些理解。
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物. 对象的含义 对象可以是汽车,人,动物,文字,表单或者任何存在的事物等等. 对象有: 属性----- ...
- VPS/云主机 如何试用远程连接登录主机服务器_
1.windows主机如何远程登录 点本地电脑开始>运行(或者按"window+R")>输入mstsc点确定 弹出远程连接的框输入IP连接, 如果是VPS,直接输入I ...
- 浅谈对Js闭包的理解
理解Js的闭包,首先让我们先看几个概念 执行环境(executive environment)每个函数都有自己的执行环境,匿名函数默认为全局环境. 作用域链(scope chain)子函数继承父函数, ...
- 51nod 1240 莫比乌斯函数
题目链接:51nod 1240 莫比乌斯函数 莫比乌斯函数学习参考博客:http://www.cnblogs.com/Milkor/p/4464515.html #include<cstdio& ...
- MindManger学习技巧
ctrl+shift+f 字体颜色
- css个人随笔,适合新手总结整理
CSS的3种引用方式:1.外部样式表 都是在head标签内使用Link标签来引用的.2.内部样式表 <style type="text/css"> </style ...
- LeetCode 201 Bitwise AND of Numbers Range 位运算 难度:0
https://leetcode.com/problems/bitwise-and-of-numbers-range/ [n,m]区间的合取总值就是n,m对齐后前面一段相同的数位的值 比如 5:101 ...
- SQLserver 备份和还原 失败
错误一: 备份对于服务器“xxxxxx”失败. System.Data.SqlClient.SqlError: 无法使用备份文件 'C:\Program Files\Microsoft SQL Ser ...
- JavaScript中的作用域
很多(JavaScript)开发者都在讨论"作用域",但它是什么?它们在JavaScript中的任何地方!我发现很多年轻的开发者不知道作用域是什么.他们中大多数人可以用jQuery ...
- RHEL6.6 PXE安装-基于VMWare WorkStation
///////////第一部分:安装安装服务器 1.先安装一台RHEL6.6的服务器A(地址为192.168.139.132),作为安装服务器.这样后面的机器就可以指向这台服务器进行自动安装 2.在A ...