【问题标题】:Insert text in EPPLUS RichText在 EPPLUS RichText 中插入文本
【发布时间】:2017-07-17 06:02:09
【问题描述】:

我正在使用 EPPLUS 写入 excel 文件,并且我正在对某些单元格使用多样式,问题是我想在这些单元格的特定位置插入文本。

worksheet.Cells[rowNum, columnNum].RichText.Text.Insert(index, string);

原来上面这行代码会尝试将字符串插入第索引元素而不是第索引字符。

我也试过这个:

 worksheet.Cells[rowNum, columnNum].RichText..Text.Insert(index,string);

也没有使用这个插入字符串。

我正在考虑计算每个 RichText 元素的长度并向 RichText 添加一个新元素,其中先前元素的长度 = 索引,但我正在寻找更好的解决方案。

【问题讨论】:

  • 这个问题似乎和你在这个问题后 2 小时问的问题有点相似 stackoverflow.com/questions/45139224/…
  • 不,这是不同的问题,我可以找到解决此问题的方法。另一个问题是关于 EPPLUS 中的奇怪行为,谢谢

标签: c# excel epplus


【解决方案1】:

因为 Insert 返回一个新字符串,其中您指定的字符串被插入到此实例中指定的索引位置,所以您必须这样做:

worksheet.Cells[rowNum, columnNum].RichText.Text = worksheet.Cells[rowNum, columnNum].RichText.Text.Insert(index,yourstring);

【讨论】:

  • 谢谢,但在某些情况下(RichText 有多个元素,我将字符串插入第一个元素)我得到第二个元素重复!奇怪!
  • @YahyaHussein 你能举个例子吗?
  • worksheet.Cells[rownum, column].RichText.Add("first"); worksheet.Cells[rownum , column].RichText.Add("second"); worksheet.Cells[rownum, column].RichText.Text = worksheet.Cells[rownum, column].RichText.Text.Insert(6, "Inserted"); --- 结果:第一个 Insertedsecondsecond
  • @YahyaHussein 我找到了解决方法:worksheet.Cells[1, 1].RichText.Add("first"); worksheet.Cells[1, 1].RichText.Add("second"); worksheet.Cells[1, 1].RichText[1].Text = worksheet.Cells[1,1].RichText.Text.Insert(6, "Inserted");结果:第一个插入第二个
  • 如果 worksheet.Cells[1, 1].RichText.Text.Count()
猜你喜欢
  • 2013-09-28
  • 1970-01-01
  • 2021-08-21
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
相关资源
最近更新 更多