c# - Epplus 是否支持通过 office open xml 设置工作表数据/单元格值?
问题描述
我的问题 :
如果有一个带有 office open 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>
如何为 epplus 设置此 xml 以更改单元格值?
我尝试了什么:
搜索 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 做不到的最后手段。这里有一些例子:
推荐阅读
- text - 想要在 VS Cose 中使所有文本变黑
- java - 使用 java itext 或 pdfbox 在现有 pdf 中添加便签
- winapi - winapi - DeferWindowPos 和 InvalidateRect
- javascript - 页面未在 React.js 中显示
- javascript - 当我从模态中选择“是”选项时如何取消选中复选框?
- javascript - 反应:检测画布上按下的删除键
- php - 如何在 Windows 上从命令提示符更新 php cli 版本?
- jmeter - 在 JMETER 中记录按钮响应
- ruby - ruby 中解析 2020-W9 日期的好方法是什么
- ios - UIAnalyticsGatherMutitouchAnalytics 中的崩溃