2012-08-04 157 views
0

我有一個Excel應用程序,其中包含一個入口頁面和一個結果頁面。根據輸入到輸入頁面的數據和一些靜態表格,還有一些工作表可以計算這些值,並在稍後的結果頁面中進行總結。將excel應用程序轉換爲C#應用程序

我需要將此應用程序轉換爲Web應用程序並將整個邏輯從Excel移動到C#。會有一些用戶界面頁面和1個結果頁面,並且當前在Excel應用程序中的工作表計算將被移動到不同的C#類中。

有沒有這方面的工具,或者我們必須手動將現有邏輯的每一塊轉換爲C#?如果我們必須手動完成,那麼是否有任何工具可以幫助總結文本文件中的邏輯,以便我們不必在Excel中重新計算整個計算以重新構建邏輯?

回答

2

我懷疑一個工具,可以幫助你做到這一點,如果該工具存在我期望得到的C#代碼是非常糟糕的。 Excel的一個優勢是它允許非常靈活的編程風格;缺點是結果代碼的結構非常小,這使得人們和機器都難以遵循。最重要的是,邏輯可以採用多種形式,從Excel公式到VBA宏,這使問題複雜化。相比之下,C#傾向於用類來表達世界,它具有非常特定的職責;一個程序本質上是協調類之間傳遞的消息,以便他們可以「互相交談」並協作完成工作。

在這種情況下,最好的,我希望翻譯工具產生一些不愉快的C#程序。最後,電子表格(沒有VBA)是一組函數,它們坐落在單元格中並鏈接在一起,但沒有足夠的結構來提取有意義的具有多個功能的類/實體。

此外,我認爲重新思考這個應用程序是一個機會。一個Web應用程序可以輕鬆完成Excel無法執行的操作,反之亦然。我不是一個「一字一語」的密切翻譯,而是專注於保留應用程序的精神,但是設計它時不會過多地考慮原始的Excel應用程序。

讓Excel應用程序呈現的好處是您已經有了概念驗證。我不是試圖轉換代碼,而是簡單地追蹤所有對其他計算字段有影響的輸入點(可能使用審計),列表/圖表什麼會影響什麼(可能使用簡單的氣泡圖和箭頭圖),並試圖用簡單的英語來描述用戶試圖做什麼,以及「實體」方面發生了什麼。例如,而不是=A2*(1-A3),我會說「產品淨成本是其成本時間(1-折扣率)」。而不是=SUM(A5:A32),我會說「用戶需要他訂購的產品成本摘要,它應顯示其訂單的總成本,以便他可以對其訂單進行概覽」。如果您設法使用良好的名稱和用例來提取域名的描述,這對開發人員來說更有幫助,可以在任何您想要的平臺上編寫支持這些需求的最佳應用程序。

2

我不會嘗試「轉換」解決方案。從頭開始用C#構建它。他們用不同的語言編寫,用戶界面不能重複使用。

0

我同意fabiopagoti。即使有一個神奇的「轉換器」可用,人們敢於在未來的更新中維護這種逐個編碼的應用程序?

以你的第二個問題,尋找替代的幫手,I've found[CTRL] + [`]組合鍵,可能會給你這個手:此快捷方式顯示在單元格中的所有公式,這樣你就可以更舒適,你不會錯過任何背後的東西。我希望。

PS:要文本文件?只需應用快捷方式並將工作表「打印」爲PDF文件即可。

0

也許您可以使用Google文檔。它允許創建腳本並使用公式。

相關問題