码迷,mamicode.com
首页 > Windows程序 > 详细

C#core使用EPPLUS存取EXCEL文件

时间:2017-12-03 19:53:33      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:存储   oid   count   XML   file   roo   ceo   命名   summary   

1:安装EPPLUS的NUGET包

实现源代码:

 1 using OfficeOpenXml;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.IO;
 5 using System.Linq;
 6 
 7 namespace BigBeer.Core.Excel
 8 {
 9     public class Excel
10     {
11         /// <summary>
12         /// 只针对2003以上版本
13         /// </summary>
14         /// <param name="data">需要存储的数据</param>
15         /// <param name="path">存储地址</param>
16         /// <param name="filename">文件名即可,后缀.xlsx</param>
17         /// <param name="worksheetname">EXCEL文档下方的命名</param>
18         public static void SaveExcel(IList<object> data,string path = null, string filename = null, string worksheetname = null)
19         {
20             int count = data[0].ToString().Split(,).Count();
21             string sWebRootFolder = "D://Excel/";
22             if (!string.IsNullOrEmpty(path)) sWebRootFolder = path;
23             if (!Directory.Exists(sWebRootFolder))
24             {
25                 Directory.CreateDirectory(sWebRootFolder);
26             }
27             string sFileName = $"{Guid.NewGuid()}.xlsx";
28             if (!string.IsNullOrEmpty(filename)) sFileName = $"{filename}.xlsx";
29             FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
30             string worksheetName = "sheet";
31             if (!string.IsNullOrEmpty(worksheetname)) worksheetName = worksheetname;
32 
33             using (ExcelPackage package = new ExcelPackage(file))
34             {
35                 // 添加worksheet
36                 ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(worksheetName);
37                 //添加头
38                 for (int i = 0; i < count; i++)
39                 {
40                     var key = data.ToList()[i].ToString().Split(,)[i].Split(=)[0].Replace("{", "").Replace("}", "");
41                     worksheet.Cells[1, i + 1].Value = key;
42                 }
43                 //添加值
44                 for (int i = 0; i < data.Count; i++)
45                 {
46                     var list = data[i];
47                     var shu = i + 2;
48                     for (int t = 0; t < count; t++)
49                     {
50                         var c = Convert.ToChar(A + t);
51                         var value = list.ToString().Split(,)[t].Split(=)[1].Replace("{", "").Replace("}", "");
52                         worksheet.Cells[$"{c}{shu}"].Value = value;
53                     }
54                 }
55                 package.Save();
56                 GC.Collect();
57             }
58         }
59     }
60 }

3:使用方法:

 1  IList<object> Good = new List<object>();
 2 
 3 var temp = result.ToList(); //result为查询出来的数据
 4 
 5 for (int i = 0; i < temp.Count(); i++)
 6 {
 7 Good.Add(temp[i]);
 8 }
 9 Excel.SaveExcel(Good);

 

C#core使用EPPLUS存取EXCEL文件

标签:存储   oid   count   XML   file   roo   ceo   命名   summary   

原文地址:http://www.cnblogs.com/wujixiong/p/7966910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!