[NPOI版]C#.NET将数组导入Excel源代码
来源:互联网 发布:java防止反编译 编辑:程序博客网 时间:2024/06/05 19:49
上次发布了一个用Excel组件将数据导入到Excel的代码,用的过程中,感觉不好,特别是速度很慢。在博客园看到了一个NPOI Excel读写的开源组件,很不错,还是国人开发的。赞一个,谢谢NPOI开发团队,有这么好的东西奉献给大家啊。呵呵,我也把自己使用的代码奉献一下,也算推广一下吧。这个东西使用的好处是:使用简单,速度特快。NPOI的使用教程很详细,下面直接上代码:
using NPOI.Util;
using NPOI.HSSF.Model ;
using NPOI.HSSF.UserModel ;
using NPOI.HSSF ;
......
Code// 将数据集转换到Excel: ConvertDataTableToExcel ConvertDataGridViewToExcel
// 目前支持的数据类型有:DataTable,二维数组,二维交错数组,DataGridView,ArrayList
// 2010.01.03 采用NPOI类库,改善操作速度,便于扩展
///
/// 将数据集导出到Excel文件
///
/// 一维数组
/// Excel文件名称
/// 工作簿名称
/// 是否转换成功
public static bool ConvertToExcel(T[] data,string xlsSaveFileName,string sheetName)
{
FileStream fs = new FileStream (xlsSaveFileName, FileMode.Create ) ;
try
{
HSSFWorkbook newBook = new HSSFWorkbook () ;
HSSFSheet newSheet =(HSSFSheet ) newBook.CreateSheet (sheetName ) ;//新建工作簿
HSSFRow newRow = (HSSFRow )newSheet.CreateRow(0) ;//创建行
for (int i = 0 ; i //写入数据
}
newBook .Write (fs ) ;
return true ;
}
catch (Exception err)
{
throw new Exception ("转换数据到Excel失败:"+err.Message ) ;
}
finally
{
fs.Close () ;
}
}
///
/// 将数据集导出到Excel文件
///
/// 二维数组
/// Excel文件名称
/// 工作簿名称
/// 是否转换成功
public static bool ConvertToExcel(T[,] data,string xlsSaveFileName,string sheetName)
{
FileStream fs = new FileStream (xlsSaveFileName, FileMode.Create ) ;
try
{
HSSFWorkbook newBook = new HSSFWorkbook () ;
HSSFSheet newSheet =(HSSFSheet ) newBook.CreateSheet (sheetName ) ;//新建工作簿
for (int i = 0 ; i //创建行
for (int j = 0 ; j //写入数据
}
}
newBook .Write (fs ) ;
return true ;
}
catch (Exception err)
{
throw new Exception ("转换数据到Excel失败:"+err.Message ) ;
}
finally
{
fs.Close () ;
}
}
///
/// ///
/// 将数据集导出到Excel文件
///
/// 交错数组
/// Excel文件名称
/// 工作簿名称
/// 是否转换成功
///
public static bool ConvertToExcel(T[][] data,string xlsSaveFileName,string sheetName)
{
FileStream fs = new FileStream (xlsSaveFileName, FileMode.Create ) ;
try
{
HSSFWorkbook newBook = new HSSFWorkbook () ;
HSSFSheet newSheet =(HSSFSheet ) newBook.CreateSheet (sheetName ) ;//新建工作簿
for (int i = 0 ; i //创建行
for (int j = 0 ; j //写入数据
}
}
newBook .Write (fs ) ;
return true ;
}
catch (Exception err)
{
throw new Exception ("转换数据到Excel失败:"+err.Message ) ;
}
finally
{
fs.Close () ;
}
}
///
/// 将数据集导出到Excel文件
///
/// DataTable对象
/// Excel文件名称
/// 工作簿名称
/// 是否转换成功
public static bool ConvertToExcel(System.Data.DataTable dt, string xlsSaveFileName,string sheetName)
{
FileStream fs = new FileStream (xlsSaveFileName, FileMode.Create ) ;
try
{
HSSFWorkbook newBook = new HSSFWorkbook () ;
HSSFSheet newSheet =(HSSFSheet ) newBook.CreateSheet (sheetName ) ;//新建工作簿
for (int i = 0 ; i //创建行
for (int j = 0 ; j //写入数据
}
}
newBook .Write (fs ) ;
return true ;
}
catch (Exception err)
{
throw new Exception ("转换数据到Excel失败:"+err.Message ) ;
}
finally
{
fs.Close () ;
}
}
///
/// 将数据集导出到Excel文件
///
/// DataGridView对象
/// Excel文件名称
/// 工作簿名称
/// 是否转换成功
public static bool ConvertToExcel(System.Windows.Forms.DataGridView dgv, string xlsSaveFileName,string sheetName)
{
return ConvertToExcel((System.Data.DataTable )dgv.DataSource ,xlsSaveFileName,sheetName ) ;
}下面是导入数据到DataTable:
Code///
/// 将数据导出到DataTable中
///
/// 二维数组数据
/// 列名
/// DataTable对象
public static System.Data.DataTable ConvertToDataTable(T[,] data , string[] columnsName)
{
System.Data.DataTable dt = new System.Data.DataTable () ;
if (data.GetLength (1)>columnsName.Length )
{
throw new Exception ("列名长度不足");
}
try
{
//先添加列名
for (int i = 0 ; i new DataColumn (columnsName [i ],typeof (System.String ) ) ;
dt.Columns.Add (dc ) ;
}
//添加数据
for (int i = 0 ;i for (int j =0 ; j return dt ;
}
catch (Exception err)
{
throw new Exception ("转换数据到DataTable失败:"+err.Message ) ;
}
}
///
/// 将数据导出到DataTable中
///
/// 二维数组数据
/// DataTable对象
public static System.Data.DataTable ConvertToDataTable(T[,] data )
{
System.Data.DataTable dt = new System.Data.DataTable () ;
try
{
//先添加列名
for (int i = 0 ; i new DataColumn() ;
dt.Columns.Add (dc ) ;
}
//添加数据
for (int i = 0 ;i for (int j =0 ; j return dt ;
}
catch (Exception err)
{
throw new Exception ("转换数据到DataTable失败:"+err.Message ) ;
}
}
///
/// 将数据导出到DataTable中
///
/// 交错数组数据
/// 列名
/// DataTable对象
public static System.Data.DataTable ConvertToDataTable(T[][] data , string[] columnsName)
{
System.Data.DataTable dt = new System.Data.DataTable () ;
if (data[0].Length >columnsName.Length )
{
throw new Exception ("列名长度不足");
}
try
{
//先添加列名
for (int i = 0 ; i new DataColumn (columnsName [i ],typeof (System.String ) ) ;
dt.Columns.Add (dc ) ;
}
//添加数据
for (int i = 0 ;i for (int j =0 ; j return dt ;
}
catch (Exception err)
{
throw new Exception ("转换数据到DataTable失败:"+err.Message ) ;
}
}
///
/// 将数据导出到DataTable中
///
/// 交错数组数据
/// DataTable对象
public static System.Data.DataTable ConvertToDataTable(T[][] data)
{
System.Data.DataTable dt = new System.Data.DataTable () ;
try
{
//先添加列名
for (int i = 0 ; i new DataColumn ( ) ;
dt.Columns.Add (dc ) ;
}
//添加数据
for (int i = 0 ;i for (int j =0 ; j return dt ;
}
catch (Exception err)
{
throw new Exception ("转换数据到DataTable失败:"+err.Message ) ;
}
}到此为止哦。这玩意的确好使,下次再用用看,里面功能很丰富啊。
编程爱好者,关注.NET软件开发,Matlab混合编程及网络技术
欢迎光临我的Cnblog博客:http://www.cnblogs.com/asxinyu/
欢迎大家进行交流,QQ :1287263703
E-mail:asxinyu@qq.com,asxinyu@126.com
Tag标签: Matlab,Matlab开发,Matlab混合编程,C#.NET开发
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/asxinyu_usst/archive/2011/01/19/6151481.aspx
- [NPOI版]C#.NET将数组导入Excel源代码
- C#.NET将数组导入Excel源代码
- ASP.NET NPOI Excel导入、导出,高级、全面、总结版
- .NET 使用NPOI导入导出标准Excel
- Asp.net NPOI导入导出Excel表格
- .net mvc 利用NPOI导入导出excel
- .net mvc利用NPOI导入导出excel
- .net mvc 利用NPOI导入导出excel
- .net core npoi 将excal 导入数据库
- 【推荐】.NET(webform,MVC)使用NPOI组件将数据导出、导入Excel
- .NET使用NPOI将数据导出/导入到Excel文件介绍
- asp.net(C#)之NPOI"操作Excel
- asp.net(C#)之NPOI"操作Excel
- NPOI Excel导入导出
- C# NPOI导入Excel
- 使用NPOI将DataTable中的数据导入到Excel中
- 使用NPOI将Excel文件的数据导入数据库
- .NET调用NPOI组件导入导出Excel的操作类
- 把图象文件转换成XML格式文件(二进制转字符)
- 向着第二层 第一阶段第十六天
- base64_二进制转字符
- ToBase64String方法 - 理想的地方的日志 - 网易博客
- Ubuntu gcc安装编译命令
- [NPOI版]C#.NET将数组导入Excel源代码
- Maven 关键字解释
- MVN 简介
- 提供一个Qml 真机debug信息输出组件
- Proteus 7.5 sp3破解版下载(附带安装说明)(2009-12-24 08:37:34)
- MAVEN
- oracle sys_connect_by_path实现行列转换
- GCC后端及汇编发布(2)
- 转:解剖JavaScript中的null和undefined