8
Vấn đề là tôi cần phải chèn dữ liệu vào Excel từ bộ sưu tập nhiều lần bằng cách sử dụng một mẫu duy nhất cho toàn bộ bộ sưu tập.Có thể sao chép hàng (có dữ liệu, hợp nhất, kiểu) trong Excel bằng Epplus không?
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;
}
Ảnh đầu tiên - Mẫu của tôi. Thứ hai - Yếu tố đầu tiên của bộ sưu tập (với dữ liệu, kiểu, hợp nhất). Thứ ba - Các yếu tố khác chỉ có dữ liệu
Làm thế nào tôi có thể cũng sao chép phong cách di động, vv backgroundcolor/biên giới của toàn bộ phạm vi? Cảm ơn – kassi
@ kassi, Bạn có thể sao chép ô bằng kiểu vv bằng cách sử dụng giải pháp được liệt kê ở trên. Nếu bạn muốn sao chép phạm vi chỉ cần sử dụng 'workSheet.Cells [" A1: I1 "]. Sao chép (workSheet.Cells [" A4: I4 "]);' Kết quả: http://imgur.com/Ow4UUv5 –