C#core使用EPPLUS存取EXCEL文件

2021-04-24 09:29

阅读:875

标签:存储   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         /// 
12         /// 只针对2003以上版本
13         /// 
14         /// 需要存储的数据
15         /// 存储地址
16         /// 文件名即可,后缀.xlsx
17         /// EXCEL文档下方的命名
18         public static void SaveExcel(IListobject> 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 )
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 )
45                 {
46                     var list = data[i];
47                     var shu = i + 2;
48                     for (int t = 0; 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  IListobject> Good = new Listobject>();
 2 
 3 var temp = result.ToList(); //result为查询出来的数据
 4 
 5 for (int i = 0; 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


评论


亲,登录后才可以留言!