如何解决如何在 C# 中正确设置标题范围使用 EPPlus?
using System.IO;
using System.Collections.Generic;
using OfficeOpenXml;
namespace Project
{
public class CreateExcel
{
public static void GenerateExcel(List<string> headerList,List<string> dataList,FileInfo filePath)
{
using (ExcelPackage excel = new ExcelPackage())
{
excel.Workbook.Worksheets.Add("Worksheet1");
// Determine the header range (e.g. A1:D1)
string headerRange = "A1:" + Char.ConvertFromUtf32(headerList.Count + 64) + "1";
// Target a worksheet
var worksheet = excel.Workbook.Worksheets["Worksheet1"];
// Popular header row data
worksheet.Cells[headerRange].LoadFromCollection(headerList);
worksheet.Cells[2,1].LoadFromCollection(dataList,false);
excel.SaveAs(filePath);
}
}
}
我想用这个函数创建 .xlsx 文件,但是 headerRange 得到“A1:^1”值(当我使用我的 headerList 时,它有 30 个元素),当然我得到这个错误:System.Exception : '无效的地址格式 ^1' . 如何正确设置headerRange?
解决方法
改用LoadFromArrays
:
var values=new List<object[]> {
headerList.ToArray(),dataList.ToArray()
};
worksheet.Cells["A1"].LoadFromArrays(values);
LoadFromCollection
使用反射从强类型集合加载数据,为每个属性创建不同的列
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。