반응형
Eplus를 사용하여 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;
}
첫 번째 사진 - 내 템플릿.두 번째 - 컬렉션의 첫 번째 요소(데이터, 스타일, 병합 포함).셋째 - 다른 요소에는 데이터만 있습니다.
방금 행을 복사했습니다.
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"]);
언급URL : https://stackoverflow.com/questions/30600595/is-it-possible-to-copy-row-with-data-merging-style-in-excel-using-epplus
반응형
'code' 카테고리의 다른 글
중첩된 시도/제외 블록에서 예외를 다시 발생시키는 방법은 무엇입니까? (0) | 2023.06.22 |
---|---|
하나의 라이너: 인덱스를 키로 하는 목록에서 사전 만들기 (0) | 2023.06.22 |
몽고드브를 시작할 수 없는 이유는 무엇입니까? (0) | 2023.06.22 |
XML 구성 파일에서 Spring Boot 자동 구성 빈을 사용하려면 어떻게 해야 합니까? (0) | 2023.06.22 |
버스 오류 대 세그먼트화 오류 (0) | 2023.06.22 |