2017-07-17 60 views
0

我正在使用EPPLUS寫入excel文件,並且我正在對某些單元格使用多樣式,問題是我想在這些單元格的特定位置插入文本。在EPPLUS RichText中插入文本

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

原來,上面的代碼行會嘗試在indexth元素中插入字符串而不是indexth字符。

我也試過這樣:

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

沒有字符串使用這種插入過。

我正在考慮計算每個RichText元素的長度並向RichText添加一個新元素,其中以前元素的長度= index,但我正在尋找更好的解決方案。

+0

這個問題似乎有點類似你在這個問題後2小時問的問題https://stackoverflow.com/questions/45139224/epplus-is-duplicating-strings-on-insert –

+0

不,這是不同的問題,我可以找到解決這個問題的方法。 另一個問題是關於在EPPLUS中的奇怪行爲,謝謝 –

回答

1

由於插入返回在您指定的字符串插入到該實例的指定索引位置的新的字符串,所以你必須做的:

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

enter image description here

+0

謝謝,但對於一些情況(RichText有多個元素,我插入字符串到第一個元素)我得到第二個元素重複! 奇怪! –

+0

@YahyaHussein你能舉個例子嗎? – Xavave

+0

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」); ---結果:第一次插入secondsecond –