如何使用EPPlus一次性插入一行

4

我开始使用EPPlus,想知道是否有一种方法可以一次性插入整行数据而不是逐个单元格填充。

比如说,假设第6行已经填充了各种数字,我能否通过使用逗号或制表符等分隔符将整行的所有单元格插入?就像这样:

ws.Row(6).Value = "12,45,76,12,1";

我知道上面的语法不起作用,只是想知道是否有一种类似的方法。

谢谢!


不,EPPlus怎么知道这不是一个单一的值或者1,"2,3",3会发生什么?填充所有单元格,非常易读和高效。 - Tim Schmelter
不过我相信你可以编写一个方法来完成这个任务。类似PopRow(“以逗号分隔的值从0索引开始”),甚至可以通过解析列索引来增强它。 - Seabizkit
@TimSchmelter 这并不难做到。他们可以像Seabizkit建议的那样在库中添加一个名为PopRow的方法。当然,我也可以自己编写一个,但我想确保它不存在。 - Gep
1个回答

9
你是指像这样吗:
ws.Cells[6, 1].LoadFromText("12,45,76,12,1");
Cells 对象有一种重载方式,可以指定 Row, ColumnLoadFromText 有 5 种重载方式,因此您可以非常具体地加载文本。以上内容将得到以下结果:

enter image description here


就是这样!谢谢@Ernie,我不想重复造轮子,即使它只有3行代码。如果您能指向一些关于EPPlus API的好文档,那将不胜感激。我只能在epplus.codeplex.com上找到几个示例。 - Gep
@Gep 没问题。在处理性能和大型数据集时要小心LoadFrom *方法——我实际上编写了自己的for循环,因为它们可以增加很多开销。不幸的是,Epplus没有太多文档,除非阅读源代码:http://epplus.codeplex.com/SourceControl/latest#EPPhttps://dev59.com/questions/zpTfa4cB1Zd3GeqPXu_T#35919746?noredirect=1#lus/ExcelRangeBase.cs. ExcelRangeBase.cs 包含 LoadFromText重载和标签。 - Ernie S
1
抱歉,该链接由于格式问题无法使用:http://epplus.codeplex.com/SourceControl/latest#EPPlus/ExcelRangeBase.cs - Ernie S

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接