EPPlus Excel 导出,如何从列表中打印 header 列
EPPlus Excel export, how to print header column from list
我想使用列表添加 header 列。
我试过这个,但它只打印第一列。
List<string> headerColumns1 = new List<string>()
{
"1",
"2",
"3"
};
ExcelPackage excel = new ExcelPackage();
var workSheet = excel.Workbook.Worksheets.Add("Sheet1");
workSheet.Cells[1, 1].LoadFromCollection(headerColumns, false); //
workSheet.Cells[2, 1].LoadFromCollection(data, false);
它在第一列中只打印“1”。
如何打印第一行的所有 header 列?
您只指定了一个单元格
此代码:workSheet.Cells[1, 1]
显示您的错误
您有两个选择:
指定范围
using (ExcelRange range = ec.Cells[1, 1, 1, headerColumns.Count])
{
range.LoadFromCollection(headerColumns, false);
}
或者使用foreach手动填充
int index = 1;
foreach(var item in headerColumns)
{
workSheet.Cells[1, index++].Value = item;
}
Load a collection into a the worksheet starting from the top left row of the range.
p.s。我相信这只是输入错误:List<string> headerColumns1 = new List<string>()
对 workSheet.Cells[1, 1].LoadFromCollection(headerColumns, false);
该函数将获取一个集合并将每个条目视为一个 Row
对象,并使用 Reflections 将每个 属性 打印为列值。所以如果你给它那个集合,它会看到它 R1C1 =“1”,R2C1 =“2”,然后 R3C1 =“3”。
但是,workSheet.Cells[2, 1].LoadFromCollection(data, false);
行将覆盖 R2C1 及以下的所有值,因为这是它开始的右上角单元格。
因此,要执行您想要的操作,您需要提供 List
的内容,其中包含一个条目。例如,这将解决上面代码的问题(但您最终可能需要比 Tuple
更复杂的东西):
var headerColumns = new List<Tuple<string, string, string>>
{
new Tuple<string, string, string>("1","2","3")
};
workSheet.Cells[1, 1].LoadFromCollection(headerColumns, false);
显示为:
我想使用列表添加 header 列。
我试过这个,但它只打印第一列。
List<string> headerColumns1 = new List<string>()
{
"1",
"2",
"3"
};
ExcelPackage excel = new ExcelPackage();
var workSheet = excel.Workbook.Worksheets.Add("Sheet1");
workSheet.Cells[1, 1].LoadFromCollection(headerColumns, false); //
workSheet.Cells[2, 1].LoadFromCollection(data, false);
它在第一列中只打印“1”。
如何打印第一行的所有 header 列?
您只指定了一个单元格
此代码:workSheet.Cells[1, 1]
显示您的错误
您有两个选择: 指定范围
using (ExcelRange range = ec.Cells[1, 1, 1, headerColumns.Count])
{
range.LoadFromCollection(headerColumns, false);
}
或者使用foreach手动填充
int index = 1;
foreach(var item in headerColumns)
{
workSheet.Cells[1, index++].Value = item;
}
Load a collection into a the worksheet starting from the top left row of the range.
p.s。我相信这只是输入错误:List<string> headerColumns1 = new List<string>()
对 workSheet.Cells[1, 1].LoadFromCollection(headerColumns, false);
该函数将获取一个集合并将每个条目视为一个 Row
对象,并使用 Reflections 将每个 属性 打印为列值。所以如果你给它那个集合,它会看到它 R1C1 =“1”,R2C1 =“2”,然后 R3C1 =“3”。
但是,workSheet.Cells[2, 1].LoadFromCollection(data, false);
行将覆盖 R2C1 及以下的所有值,因为这是它开始的右上角单元格。
因此,要执行您想要的操作,您需要提供 List
的内容,其中包含一个条目。例如,这将解决上面代码的问题(但您最终可能需要比 Tuple
更复杂的东西):
var headerColumns = new List<Tuple<string, string, string>>
{
new Tuple<string, string, string>("1","2","3")
};
workSheet.Cells[1, 1].LoadFromCollection(headerColumns, false);
显示为: