OpenXML을 사용하여 병합 셀 만들기
이 Excel을 고려해 주시기 바랍니다.
XML입니다.
저는 OpenXML을 사용하여 여러 개의 병합된 셀이 있는 엑셀을 만들고 싶습니다.
이거 어떻게 해요?
감사해요.
과 클래스를 사용하여 필요한 병합 셀을 생성할 수 있습니다.MergeCellsclass는 병합 셀의 집합입니다(<mergeCells count="3">사용자의 XML) 및MergeCellclass는 병합된 각 셀 집합을 나타냅니다. (<mergeCell ref="xx:xx" />사용자의 XML)에 저장합니다.병합된 셀에 데이터를 채우려면 왼쪽 상단 대부분의 셀에 값을 추가해야 합니다. 다른 값은 무시됩니다.
다음 코드는 병합된 셀로 새 파일을 만듭니다.
using (SpreadsheetDocument myDoc = SpreadsheetDocument.Create(filename, SpreadsheetDocumentType.Workbook))
{
WorkbookPart workbookpart = myDoc.AddWorkbookPart();
workbookpart.Workbook = new Workbook();
// Add a WorksheetPart to the WorkbookPart.
WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
SheetData sheetData = new SheetData();
//add a row
Row firstRow = new Row();
firstRow.RowIndex = (UInt32)1;
//create a cell in C1 (the upper left most cell of the merged cells)
Cell dataCell = new Cell();
dataCell.CellReference = "C1";
CellValue cellValue = new CellValue();
cellValue.Text = "99999";
dataCell.Append(cellValue);
firstRow.AppendChild(dataCell);
sheetData.AppendChild(firstRow);
// Add a WorkbookPart to the document.
worksheetPart.Worksheet = new Worksheet(sheetData);
//create a MergeCells class to hold each MergeCell
MergeCells mergeCells = new MergeCells();
//append a MergeCell to the mergeCells for each set of merged cells
mergeCells.Append(new MergeCell() { Reference = new StringValue("C1:F1") });
mergeCells.Append(new MergeCell() { Reference = new StringValue("A3:B3") });
mergeCells.Append(new MergeCell() { Reference = new StringValue("G5:K5") });
worksheetPart.Worksheet.InsertAfter(mergeCells, worksheetPart.Worksheet.Elements<SheetData>().First());
//this is the part that was missing from your code
Sheets sheets = myDoc.WorkbookPart.Workbook.AppendChild(new Sheets());
sheets.AppendChild(new Sheet()
{
Id = myDoc.WorkbookPart.GetIdOfPart(myDoc.WorkbookPart.WorksheetParts.First()),
SheetId = 1,
Name = "Sheet1"
});
}
위의 코드는 다음을 생성합니다.
언급URL : https://stackoverflow.com/questions/37182232/create-merge-cells-using-openxml
'source' 카테고리의 다른 글
| 데이터베이스 설계: 부울 열을 타임스탬프 열로 바꿉니다. (0) | 2023.09.17 |
|---|---|
| WooCommerce:관리 제품 목록에서 제품명 옆에 제품 유형을 추가하는 방법 (0) | 2023.09.17 |
| mysql에서 외부 키의 이름을 변경하려면 어떻게 해야 합니까? (0) | 2023.09.17 |
| mysql_connect(): 헤더 및 클라이언트 라이브러리 마이너 버전 불일치 라이브러리:100005 (0) | 2023.09.17 |
| SQL Server와 Oracle 중 확장성 측면에서 더 나은 것은 무엇입니까? (0) | 2023.09.17 |


