gpt4 book ai didi

c# - 是否可以使用 Epplus 在 Excel 中复制行(包含数据、合并、样式)?

转载 作者:可可西里 更新时间:2023-11-01 07:44:03 30 4
gpt4 key购买 nike

问题是我需要使用整个集合的单个模板多次将集合中的数据插入 Excel。

using (var pckg = new ExcelPackage(new FileInfo(association.TemplatePath)))
{
var workSheet = pckg.Workbook.Worksheets[1];
var dataTable = WorksheetToDataTable(workSheet);
/*Some stuff*/
FindAndReplaceValue(workSheet, dictionary, row);
}

private DataTable WorksheetToDataTable(ExcelWorksheet oSheet)
{
int totalRows = oSheet.Dimension.End.Row;
int totalCols = oSheet.Dimension.End.Column;
DataTable dt = new DataTable(oSheet.Name);
DataRow dr = null;
for (int i = 1; i <= totalRows; i++)
{
if (i > 1) dr = dt.Rows.Add();
for (int j = 1; j <= totalCols; j++)
{
if (i == 1)
dt.Columns.Add((oSheet.Cells[i, j].Value ?? "").ToString());
else
dr[j - 1] = (oSheet.Cells[i, j].Value ?? "").ToString();
}
}
return dt;
}

第一张图片 - 我的模板。第二 - 集合的第一个元素(包含数据、样式、合并)。第三 - 其他元素只有数据

This is my template First element of collection has data, style, merging Other elements got nothing besides data

最佳答案

我只是复制了行

    for (int i = 0; i < invoiceList.Count; i++)
{
workSheet.Cells[1, 1, totalRows, totalCols].Copy(workSheet.Cells[i * totalRows + 1, 1]);
}

如果你想复制范围,只需使用:

workSheet.Cells["A1:I1"].Copy(workSheet.Cells["A4:I4"]);

关于c# - 是否可以使用 Epplus 在 Excel 中复制行(包含数据、合并、样式)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30600595/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com