我试图通过OpenXml在现有单元格中插入文本,但它没有反映excel表格,请帮助我!
static void InsertTextInCell(WorkbookPart wbPart, string sheetName)
{
Sheet theSheet = wbPart.Workbook.Descendants<Sheet>().
Where(s => s.Name == sheetName).FirstOrDefault();
WorksheetPart wsPart =
(WorksheetPart)(wbPart.GetPartById(theSheet.Id));
Cell theCell = wsPart.Worksheet.Descendants<Cell>().
Where(c => c.CellReference == "A8").FirstOrDefault();
CellValue cellValue2 = new CellValue();
cellValue2.Text = "1test";
theCell.Append(cellValue2);
}
或
.yaml
谢谢,
萨兰
答案 0 :(得分:0)
您可以参考以下代码段在excel中插入文本
// Creates an SheetData instance and adds its children.
public SheetData GenerateSheetData()
{
SheetData sheetData1 = new SheetData();
Row row1 = new Row(){ RowIndex = (UInt32Value)1U, Spans = new ListValue<StringValue>() { InnerText = "1:1" } };
Cell cell1 = new Cell(){ CellReference = "A1", DataType = CellValues.SharedString };
CellValue cellValue1 = new CellValue();
cellValue1.Text = "0";
cell1.Append(cellValue1);
row1.Append(cell1);
Row row2 = new Row(){ RowIndex = (UInt32Value)2U, Spans = new ListValue<StringValue>() { InnerText = "1:1" } };
Cell cell2 = new Cell(){ CellReference = "A2", DataType = CellValues.SharedString };
CellValue cellValue2 = new CellValue();
cellValue2.Text = "1";
cell2.Append(cellValue2);
row2.Append(cell2);
sheetData1.Append(row1);
sheetData1.Append(row2);
return sheetData1;
}
答案 1 :(得分:0)
static void InsertTextInCell(WorkbookPart wbPart, string sheetName, string addressName)
{
Sheet theSheet = wbPart.Workbook.Descendants<Sheet>().
Where(s => s.Name == sheetName).FirstOrDefault();
WorksheetPart wsPart =
(WorksheetPart)(wbPart.GetPartById(theSheet.Id));
Cell theCell = wsPart.Worksheet.Descendants<Cell>().
Where(c => c.CellReference == addressName).FirstOrDefault();
if (theCell.DataType == null)
{
theCell.CellValue = new CellValue("AddString");
}
}