62,041
社区成员
发帖
与我相关
我的任务
分享
using (MemoryStream stream = new MemoryStream())
{
using (SpreadsheetDocument workbook = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook, true))
{
var workbookPart = workbook.AddWorkbookPart();
workbook.WorkbookPart.Workbook = new DocumentFormat.OpenXml.Spreadsheet.Workbook();
workbook.WorkbookPart.Workbook.Sheets = new DocumentFormat.OpenXml.Spreadsheet.Sheets();
var sheetPart = workbook.WorkbookPart.AddNewPart<WorksheetPart>();
var sheetData = new DocumentFormat.OpenXml.Spreadsheet.SheetData();
sheetPart.Worksheet = new DocumentFormat.OpenXml.Spreadsheet.Worksheet(sheetData);
DocumentFormat.OpenXml.Spreadsheet.Sheets sheets = workbook.WorkbookPart.Workbook.GetFirstChild<DocumentFormat.OpenXml.Spreadsheet.Sheets>();
string relationshipId = workbook.WorkbookPart.GetIdOfPart(sheetPart);
uint sheetId = 1;
if (sheets.Elements<DocumentFormat.OpenXml.Spreadsheet.Sheet>().Count() > 0)
{
sheetId =
sheets.Elements<DocumentFormat.OpenXml.Spreadsheet.Sheet>().Select(s => s.SheetId.Value).Max() + 1;
}
DocumentFormat.OpenXml.Spreadsheet.Sheet sheet = new DocumentFormat.OpenXml.Spreadsheet.Sheet() { Id = relationshipId, SheetId = sheetId, Name = "Sheet1" };
sheets.Append(sheet);
//插入各项数据
//略..................
//开始合并单元格
string[] Letters = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " " };
MergeCells mergeCells = new MergeCells();
MergeCell mergeCell;
/*
for (int i = 0; i < 13; i++)
{
mergeCell = new MergeCell() { Reference = Letters[i] + "1" + ":" + Letters[i] + "2" };
//mergeCell.
mergeCells.Append(mergeCell);
}*/
mergeCell = new MergeCell() { Reference = "A1:A2" };
//mergeCell.
mergeCells.Append(mergeCell);
sheet.InsertAfter(mergeCells, sheet.Elements<SheetData>().First());
//这行报错
workbookPart.Workbook.Save();
}