gpt4 book ai didi

c# - 使用 openXML 替换 Excel 文本框中的文本

转载 作者:行者123 更新时间:2023-11-30 14:23:45 27 4
gpt4 key购买 nike

我想编辑/更改文本框中的 Excel 工作表中的文本。我遍历了 sharedstringtable 中的所有条目,但找不到它。

var sharedStringTablePart = spreadSheet.WorkbookPart.GetPartsOfType<SharedStringTablePart>().First();
foreach (SharedStringItem ss in sharedStringTablePart.SharedStringTable.Elements<SharedStringItem>())
{
if (ss.InnerText == text)
{
//Do somethinhg
}
}

有人可以帮忙吗?

最佳答案

包含在文本框中的文本没有存储在共享字符串表中(我知道这很困惑)。希望这有助于:

using (SpreadsheetDocument document = SpreadsheetDocument.Open(excelFile, true))
{
string sheetName = "Sheet1";
Sheet sheet = document.WorkbookPart.Workbook.GetFirstChild<Sheets>().Elements<Sheet>().Where(s => s.Name == sheetName).FirstOrDefault();

if (sheet == null)
{
// The specified worksheet does not exist.
return null;
}

string relationshipId = sheet.Id.Value;

WorksheetPart worksheetPart = (WorksheetPart)document.WorkbookPart.GetPartById(relationshipId);
var ocaElems = worksheetPart.DrawingsPart.WorksheetDrawing.Elements<OneCellAnchor>();

foreach (OneCellAnchor oneCellAnchor in ocaElems)
{
var shapes = oneCellAnchor.Elements<A.Shape>();
foreach (var shape in shapes)
{
var text = shape.TextBody.InnerText;
if(text == mytext)
{
//You found the text
}
}
}
}

关于c# - 使用 openXML 替换 Excel 文本框中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44139989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com