2009-07-18 43 views
1

有一個稱爲NPOI的.NET開放源代碼庫,允許您操作Excel文件。不幸的是,他們的ShiftRows函數不會調整公式中的任何單元格引用。正則表達式和Excel單元格

因此,我需要創建一個正則表達式模式來更新它們。採取例如包含下式的單元:

=(B7/C9)*(A10-B4)

我想凸點由1任一行的引用從而成爲

=(B8/C10)*(A11-B5)

基本上,我只是需要一個模式,將數字提取到「MatchCollection」。我可以做其餘的事情。

任何人都可以幫忙嗎?

謝謝。

回答

0

看看我回答另一個問題:Which regular expression is able to select excel column names in a formula in C#?

在這個問題的答案我匹配的公式,包括代碼以增加細胞數量(和列命名)。此外,請在此處搜索Excel列命名,並找到其他方法來獲取生成或增加的名稱。我可能可以使用其中一種方法來縮短IncrementColumn MatchEvaluator的代碼,但那是我當時想到的。

0

您應該非常小心使用正則表達式來達到此目的。 Excel公式可能變得非常複雜,尤其是對於用戶定義的函數或功能適用於範圍時。 NPOI包含一個公式評估庫,我認爲你應該看看這個 - 尤其是如果電子表格不在你的控制範圍內。

+0

其實,我會控制電子表格。我將輸出一些數據到「template.xls」中,所以不會有任何意外。感謝您的回覆。 – Lenard 2009-07-18 07:02:08