5

我正在使用基於Web的數據庫,因此我需要將電子表格功能添加到其前端。我在想我可以使用Google文件電子表格。他們的Google App Script似乎具有我需要的功能。特別是我可以使用URLFetch服務與onEdit事件結合使電子表格和數據庫保持同步 - AJAX風格。它還使我在構建,保存和共享電子表格時擁有很大的靈活性。但是,有些關於Google App腳本的內容讓我停下了腳步。它運行在服務器端,因此很難在本地進行調試。它沒有任何帶有斷點或步進的調試器。它無法導入外部模塊或庫。沒有JSLint。如果沒有這些,我開始明白「呃,這會傷害」這種感覺。將電子表格連接到Web數據庫的最佳方法

所以我想知道是否有更好的方法來將瀏覽器可訪問的電子表格功能鎖定到現有的基於Web的數據庫?或者有沒有最好的做法來充分利用Google App Script?

編輯: 這些是什麼將是最適合我的應用程序的順序可能的解決方案:

  1. 瀏覽器基於JavaScript的電子表格引擎。 (可能不存在。)
  2. 我可以在Google App Engine上安裝的Python電子表格引擎模塊。 (我還沒有看到這個。)
  3. Google Spreadsheets更健壯和AJAX的方法。 (參見原始問題)
  4. 我可以在EC2上安裝的開源電子表格引擎。 (這些似乎存在 - 可能SocialCalc,或Simple Spreadsheet建議?)
+0

你需要什麼電子表格功能?電子表格最近做了很多! – RedFilter 2010-12-15 20:25:05

+0

@RedFilter。大部分只是基本的公式,單元格引用,依賴關係,基本的單元格格式。其他一切都將是一個獎金 - 多張紙,花式格格式。圖表可能不是必需的。最重要的是能夠對我的數據庫執行XHR類型的請求。 – mjhm 2010-12-15 22:11:19

+1

您是否使用Google Spreadsheet本身作爲瀏覽器視圖進行了折扣?將數據放入帶有單個公式ImportData(URL)的工作表中,並返回一個csv? – DavidF 2013-04-02 05:48:52

回答

2

我們在網頁上使用電子表格功能,但不使用腳本編寫電子表格的所有功能,而是使用計算引擎,它爲我們提供了電子表格功能的程序化核心。一個計算引擎知道如何計算數百種配方,處理依賴關係(和依賴性之間的順序),單元格格等 在我的具體情況,我們使用的SpreadsheetGear - http://www.spreadsheetgear.com/products/spreadsheetgear.net.aspx

我們創建了一個電子表格的HTML表示與細胞導航和使用一些JavaScript的各種其他功能。當我們需要重新計算工作表(例如Excel中的F9)時,我們會將整個電子表格發送到服務器,要求它計算所有內容,然後用結果重新填充網頁表示。這也可能寫入數據庫,具體取決於電子表格上的內容。

也許我需要你在這一點上的輸入,看看我的答案是不是太偏離軌道。

+0

這絕對是正確的道路。如果沒有其他人出現,那麼您只需爲搜索條件「計算引擎」和「電子表格引擎」獲取它。這些提出了很多有前途的想法。我會用更多的細節更新這個問題。 – mjhm 2010-12-15 16:50:09

0

所以,我沒有深入到這個自己,纔有點兒疼。以下是詳情:

壞:

  1. 你必須使用自己的編輯器,沒有JSLint的。
  2. 沒有調試器。這些腳本運行在服務器端,所以Firebug和其他瀏覽器工具沒有幫助。 「View-> Execution transcript」和「View-> Logs」有一點幫助。但它們似乎在「onEdit」事件中沒有起作用。
  3. 到網絡的連接通過它們沒有異步模式的UrlFetch服務。它在「onEdit」事件中根本不起作用:http://code.google.com/p/google-apps-script-issues/issues/detail?id=185
  4. 它們基本上有三種事件類型。 「onLoad」,「onInstall」和「onEdit」。特別是我錯過了一個「onClick」事件。
  5. 沒有外部庫支持。

好:

  1. 這是真正的JavaScript,因此它的功能可預見的,而且我可以使用外部JSLint的工具。
  2. 淺的學習曲線。瞭解表單,範圍和設置/獲取值是關鍵概念。
  3. 許多用於處理電子表格,格式等的功能
  4. Google Data API支持?我沒有使用過,但它看起來像是連接外部網絡資源的方式。
  5. 與我查看電子表格的其他人完全整合,腳本化的更新可以立即看到。

總的來說,這個環境有很大的潛力,有很多的UI功能,但它似乎仍然缺乏一些關鍵功能來進行實際的生產開發。

1

具有電子表格前端功能的基於Web的數據庫?聽起來像Ragic

而你說你需要開發自己的後端,我認爲你可以使用他們的HTTP API將數據發佈到Ragic,讓用戶在使用API​​同步數據的同時使用電子表格前端。

相關問題