C#.NET将数组导入Excel源代码

简介:

最近在做一个小工具,需要将.NET中计算的二维数组和交错数组的数据导入到Excel文件中,到博客园找了一下,有不少前辈已经贴了很完善的代码。我稍微改进了下,特意再次分享。由于比较乱,下面代码的出处不知在哪(只知道在博客园),在此谢过。当然先要应用Interop.Excel.

using Excel ;

......

                /// 
		/// 将二维数组数据导入到Excel中
		/// 
		/// 数据
		/// 保存的文件名(路径)
		/// 是否保存成功
		public static bool ConvertDataToExcel(T[,] data,string xlsSaveFileName)
		{
			//在做这些前,将Excl添加到引用中来!!
			Excel.Application excel = new Excel.Application();
			//如果系统是Excl2007,添加的引用会不一样,代码如下:Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
			if (excel == null)
			{
				return false;
			}
			else
			{
				Excel.Workbook xlBook = excel.Workbooks.Add(true);
				Excel.Worksheet xlSheet = (Excel.Worksheet)xlBook.Worksheets[1];
				int rows = data.GetLength(0);//行
				int cols = data.GetLength(1);//列
				
				//导入数据
				for (int i = 0; i for (int j = 0; j if (data[i,j]!=null )
						{
							excel.Cells[i + 1, j + 1] = data[i, j].ToString().Trim();
						}
					}
				}
				try
				{
					xlBook.Saved = true;
					xlBook.SaveCopyAs(xlsSaveFileName);
					return true;
				}
				catch
				{
					return false;
				}
				finally
				{
					excel.Quit();
					excel = null;
					GC.Collect();
				}
			}
		}
		

         下面是交错数据的到处,其实大概差不多,本来想把这2个泛型放到一个类里面去的,但不知道如果在里面判断类型和转换,试了半天没成功,放弃了。 
                /// 
		/// 将二维交错数组数组数据导入到Excel中
		/// 
		/// 数据
		/// 保存的文件名(路径)
		/// 是否保存成功
		public static bool ConvertDataToExcel(T[][] data,string xlsSaveFileName)
		{
			//在做这些前,将Excl添加到引用中来!!
			Excel.Application excel = new Excel.Application();
			//如果系统是Excl2007,添加的引用会不一样,代码如下:Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
			if (excel == null)
			{
				return false;
			}
			else
			{
				Excel.Workbook xlBook = excel.Workbooks.Add(true);
				Excel.Worksheet xlSheet = (Excel.Worksheet)xlBook.Worksheets[1];
				int rows =  data.GetLength(0);//行
				//int cols = data.GetLength(1);//列
				
				//导入数据
				for (int i = 0; i for (int j = 0; j if (data[i][j]!=null )
						{
							excel.Cells[i + 1, j + 1] = data[i][ j].ToString().Trim();
						}
					}
				}
				try
				{
					xlBook.Saved = true;
					xlBook.SaveCopyAs(xlsSaveFileName);
					return true;
				}
				catch
				{
					return false;
				}
				finally
				{
					excel.Quit();
					excel = null;
					GC.Collect();
				}
			}
		}

听说有更好的Excel读写组件NPOI,回去试一下看看。。 

 

编程爱好者,关注.NET软件开发,Matlab混合编程及网络技术

欢迎光临我的Cnblog博客:http://www.cnblogs.com/asxinyu/

欢迎大家进行交流,QQ :1287263703

E-mail:asxinyu@qq.com,asxinyu@126.com

Tag标签: Matlab,Matlab开发,Matlab混合编程,C#.NET开发

相关文章
|
1月前
|
算法 C# 数据库
【干货】一份10万字免费的C#/.NET/.NET Core面试宝典
C#/.NET/.NET Core相关技术常见面试题汇总,不仅仅为了面试而学习,更多的是查漏补缺、扩充知识面和大家共同学习进步。该知识库主要由自己平时学习实践总结、网上优秀文章资料收集(这一部分会标注来源)和社区小伙伴提供三部分组成。该份基础面试宝典完全免费,发布两年来收获了广大.NET小伙伴的好评,我会持续更新和改进,欢迎关注我的公众号【追逐时光者】第一时间获取最新更新的面试题内容。
|
1月前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
12天前
|
开发框架 .NET 中间件
C#/.NET快速上手学习资料集(让现在的自己不再迷茫)
C#/.NET快速上手学习资料集(让现在的自己不再迷茫)
|
4天前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
|
5天前
|
C#
C#NPOI操作Excel详解
C#NPOI操作Excel详解
9 0
|
5天前
|
C#
C# 创建Excel并写入内容
C# 创建Excel并写入内容
8 0
|
7天前
|
存储 API C#
C# 实现格式化文本导入到Excel
C# 实现格式化文本导入到Excel
|
20天前
|
数据库
如何把Excel导入到数据库中
如何把Excel导入到数据库中
10 0
|
24天前
|
easyexcel 数据库
公司大佬对excel导入、导出的封装,那叫一个秒啊
封装公司统一使用的组件的主要目标是为了简化开发人员的调用流程,避免各个项目组重复集成和编写不规范的代码。文中提到对阿里EasyExcel进行了二次封装,提供了导入和导出功能,并支持模板的导入和导出。此外,还处理了读取数据与实际保存数据不一致的情况,通过提供自定义转换器来解决。
118 0