将多个单元格添加到一行中

本文关键字:一行 单元格 添加 | 更新日期: 2023-09-27 18:22:30

我是新手,当我试图向一行添加多个单元格时,它会说有不可读的内容。这是我的东西。

SpreadsheetDocument ssDoc = SpreadsheetDocument.Create(saveFile, SpreadsheetDocumentType.Workbook);
// Add a WorkbookPart to the document
WorkbookPart workbookPart = ssDoc.AddWorkbookPart();
workbookPart.Workbook = new Workbook();
// Add a WorksheetPart to theWorkbookPart
WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet(new SheetData());
Sheets sheets = ssDoc.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets());
Sheet sheet = new Sheet()
{   Id = ssDoc.WorkbookPart.GetIdOfPart(worksheetPart),
    SheetId = 1, Name = "Sheet1"
};
sheets.Append(sheet);
Worksheet worksheet = new Worksheet();
SheetData sheetData = new SheetData();
Row row = new Row();
Cell cell = new Cell()
{
    CellReference = "A1",
    DataType = CellValues.String,
    CellValue = new CellValue("Cell1")
};
Cell cell2 = new Cell()
{
    CellReference = "A2",
    DataType = CellValues.String,
    CellValue = new CellValue("Cell2")
};
row.Append(cell);
row.Append(cell2);
sheetData.Append(row);
worksheet.Append(sheetData);
worksheetPart.Worksheet = worksheet;
// Close the document.
ssDoc.Close();

如果我删除第二个单元格,它将按预期工作。

将多个单元格添加到一行中

单元格引用应该是"B1"而不是"A2"

        SpreadSheet.Cell cell = new SpreadSheet.Cell()
        {
            CellReference = "A1",
            DataType = SpreadSheet.CellValues.String,
            CellValue = new SpreadSheet.CellValue("Cell1")                 
        };
        SpreadSheet.Cell cell2 = new SpreadSheet.Cell()
        {
            CellReference = "B1",
            DataType = SpreadSheet.CellValues.String,
            CellValue = new SpreadSheet.CellValue("Cell2")
        };

我也遇到了类似的问题。如果有人想在同一列中插入单元格,则需要增加"行索引"和单元格引用,以便在同一行中插入单元格。我花了整整一个周末才弄明白:D

 Row row2 = new Row { RowIndex = 2};
 SpreadSheet.Cell cell2 = new SpreadSheet.Cell()
    {
        CellReference = "B1",
        DataType = SpreadSheet.CellValues.String,
        CellValue = new SpreadSheet.CellValue("Cell2")
    };
row2.Append(cell2);
sheetData.Append(row);

最好使用循环。