Elight.Utility/Files/ExcelUtils.cs
(开头部分) 9KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Elight.Utility.Core;
using OfficeOpenXml;
using OfficeOpenXml.Style;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
namespace Elight.Utility.Files
{
public class ExcelUtils
{
public static string ExcelContentType
{
get
{
return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
}
}
public static ExcelPackage ExportSheet<T>(ExcelPackage package, List<T> data, Dictionary<string, string> headDict, string sheetName = "", bool showSrNo = false)
{
return ExportSheet(package, data.ToDataTable<T>(), headDict, sheetName, showSrNo);
}
public static ExcelPackage ExportSheet(ExcelPackage package, DataTable dt, Dictionary<string, string> headDict, string sheetName = "", bool showSrNo = false)
{
List<string> keyList = new List<string>();
if (showSrNo)
{
keyList.Add("RowNum");
dt.Columns.Add("RowNum");
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["RowNum"] = i + 1;
}
}
//通过键的集合取
foreach (string key in headDict.Keys)
{
keyList.Add(key);
}
ExcelWorksheet sheet = package.Workbook.Worksheets.Add(sheetName.IsNullOrEmpty() ? "Sheet1" : sheetName);
if (showSrNo)
{
headDict.Add("RowNum", "序号");
}
for (int i = 0; i < keyList.Count; i++)
{
sheet.Cells[1, i + 1].Value = headDict[keyList[i]];
}
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < keyList.Count; j++)
{
sheet.Cells[i + 2, j + 1].Value = dt.Rows[i][keyList[j]].ToString();
后面还有 185 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。