{/'title/':/'C# OpenXML 合并列跨页显示数据示例 | 让合并单元格跨页面 | Excel 文档操作/', /'description/':/'本教程展示如何使用 C# OpenXML 在 Excel 文档中创建合并的列并确保合并的单元格跨页显示数据。通过示例代码,您将学习如何使用 PageSetupProperties 设置分页符,以实现跨页显示效果。/', /'keywords/':/'C# OpenXML, Excel 文档, 合并单元格, 跨页显示, 分页符, PageSetupProperties, 文档操作/', /'content/':/'要让合并的列跨页显示数据,您可以使用OpenXML中的///'分页符///'功能。下面是一个示例代码,演示如何在C#中使用OpenXML创建一个带有合并列的Excel文档,并让合并的列跨页显示数据。//n//ncsharp//nusing DocumentFormat.OpenXml;//nusing DocumentFormat.OpenXml.Packaging;//nusing DocumentFormat.OpenXml.Spreadsheet;//n//npublic void CreateExcelWithMergedColumns()//n{//n string filePath = ///'C:////path////to////output////file.xlsx///';//n//n using (SpreadsheetDocument spreadsheetDoc = SpreadsheetDocument.Create(filePath, SpreadsheetDocumentType.Workbook))//n {//n WorkbookPart workbookPart = spreadsheetDoc.AddWorkbookPart();//n workbookPart.Workbook = new Workbook();//n//n WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();//n worksheetPart.Worksheet = new Worksheet(new SheetData());//n//n Sheets sheets = spreadsheetDoc.WorkbookPart.Workbook.AppendChild(new Sheets());//n Sheet sheet = new Sheet() { Id = spreadsheetDoc.WorkbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = ///'Sheet1///' };//n sheets.Append(sheet);//n//n SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();//n//n // 创建表头//n Row headerRow = new Row();//n headerRow.Append(CreateCell(///'Column A///', 1));//n headerRow.Append(CreateCell(///'Column B///', 1));//n headerRow.Append(CreateCell(///'Column C///', 1));//n sheetData.AppendChild(headerRow);//n//n // 创建数据行//n for (int i = 1; i <= 100; i++)//n {//n Row dataRow = new Row();//n dataRow.Append(CreateCell(///'Data A///' + i, 1));//n dataRow.Append(CreateCell(///'Data B///' + i, 2));//n dataRow.Append(CreateCell(///'Data C///' + i, 3));//n sheetData.AppendChild(dataRow);//n }//n//n // 合并列//n MergeCells mergeCells = new MergeCells();//n mergeCells.Append(new MergeCell() { Reference = new StringValue(///'B2:B101///') });//n worksheetPart.Worksheet.InsertAfter(mergeCells, sheetData);//n//n // 设置分页符//n PageMargins pageMargins = new PageMargins() { Left = 0.7, Right = 0.7, Top = 0.75, Bottom = 0.75, Header = 0.3, Footer = 0.3 };//n SheetProperties sheetProperties = new SheetProperties(new PageSetupProperties() { FitToPage = true });//n worksheetPart.Worksheet.InsertAfter(pageMargins, worksheetPart.Worksheet.SheetFormatProperties);//n worksheetPart.Worksheet.InsertAfter(sheetProperties, pageMargins);//n//n spreadsheetDoc.Close();//n }//n}//n//nprivate Cell CreateCell(string text, uint styleIndex)//n{//n Cell cell = new Cell()//n {//n DataType = CellValues.InlineString,//n StyleIndex = styleIndex//n };//n//n InlineString inlineString = new InlineString();//n Text t = new Text();//n t.Text = text;//n inlineString.AppendChild(t);//n cell.AppendChild(inlineString);//n//n return cell;//n}//n//n//n此代码将创建一个带有三列的Excel文档,其中第二列(列B)是合并的列。合并的范围是从单元格B2到B101。然后,使用PageSetupProperties类设置了分页符,以确保合并的列在跨页时正确显示数据。/

C# OpenXML 合并列跨页显示数据示例 | 让合并单元格跨页面 | Excel 文档操作

原文地址: https://www.cveoy.top/t/topic/ql2h 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录