Epplus 支持设置 sheet data/cell office open xml 值吗?

Does Epplus support set sheet data/cell value by office open xml?

我的问题:

如果有 sheet 数据格式并打开 office xml,如下所示:

        <sheetData>
            <row r="1" spans="1:3" x14ac:dyDescent="0.25">
                <c r="A1" t="s">
                    <v>0</v>
                </c>
                <c r="B1" t="s">
                    <v>1</v>
                </c>
                <c r="C1" t="s">
                    <v>2</v>
                </c>
            </row>
            <row r="2" spans="1:3" x14ac:dyDescent="0.25">
                <c r="A2">
                    <v>1</v>
                </c>
                <c r="B2">
                    <v>2</v>
                </c>
                <c r="C2">
                    <v>3</v>
                </c>
            </row>
            <row r="3" spans="1:3" x14ac:dyDescent="0.25">
                <c r="A3">
                    <v>4</v>
                </c>
                <c r="B3">
                    <v>5</v>
                </c>
                <c r="C3">
                    <v>6</v>
                </c>
            </row>
            <row r="4" spans="1:3" x14ac:dyDescent="0.25">
                <c r="A4">
                    <v>7</v>
                </c>
                <c r="B4">
                    <v>8</v>
                </c>
                <c r="C4">
                    <v>9</v>
                </c>
            </row>
        </sheetData>

如何设置这个 xml 让 epplus 改变单元格的值?

我尝试了什么:

正在搜索 epplus 且仅搜索 Cells[IndexName].Value = "xx" api。

我的期望:

一些 epplus 方法,例如:

ws.SetSheetDataXml = xml;

您始终可以像这样访问 Worksheet 并操纵 XML:

var fi = new FileInfo(@"c:\temp\SomeExcelFile.xlsx");

using (var pck = new ExcelPackage(fi))
{
    var workbook = pck.Workbook;
    var ws = workbook.Worksheets.Add("Sheet1");
    ws.Cells.LoadFromDataTable(datatable, true);
    var xdoc = ws.WorksheetXml;

    ...
}

显然,您必须小心处理它,以免 Epplus 在您尝试保存它时感到不安。一般来说,直接弄乱 XML 是 Epplus 做不到的最后一招。这里有几个例子: