4

フロントエンドにスプレッドシート機能を追加する必要があるWebベースのデータベースを使用しています。GoogleDocsSpreadsheetsが使えると思っていました。彼らのGoogleAppScriptは、私が必要とする機能を備えているようです。特に、URLFetchサービスをonEditイベントと組み合わせて使用​​して、スプレッドシートとDBの同期を維持できます(AJAXスタイル)。また、スプレッドシートの作成、保存、共有を柔軟に行うことができます。

しかし、GoogleAppScriptに関するいくつかのことが私に一時停止を与えました。サーバー側で実行されるため、ローカルでのデバッグは困難です。ブレークポイントやステッピングを備えたデバッガーはありません。外部モジュールまたはライブラリをインポートすることはできません。JSLintはありません。これらがなければ、私は「ああ、ああ、これは傷つくだろう」という気持ちになり始めました。

それで、ブラウザでアクセス可能なスプレッドシート機能を既存のWebベースのデータベースに追加するより良い方法があるかどうか疑問に思っていますか?または、Google App Scriptを最大限に活用するためのベストプラクティスはありますか?

編集:これらは私のアプリケーションに最適なものの順に潜在的な解決策です:

  1. ブラウザベースのJavaScriptスプレッドシートエンジン。(存在しない可能性があります。)
  2. GoogleAppEngineにインストールできるPythonスプレッドシートエンジンモジュール。(私もこれを見たことがありません。)
  3. Googleスプレッドシートへのより堅牢でAJAXianのアプローチ。(元の質問を参照してください。)
  4. EC2にインストールできるオープンソースのスプレッドシートエンジン。(これらは存在するようです-おそらくSocialCalc、または単純なスプレッドシート。推奨事項?)
4

2 に答える 2

2

Webページでスプレッドシート機能を使用しますが、スプレッドシートのすべての機能をスクリプト化するのではなく、スプレッドシート機能のプログラムの中心となる計算エンジンを使用します。計算エンジンは、数百種類の数式の計算方法、依存関係(および依存関係間の順序)、セルの書式設定などを知っています。私の特定のケースでは、SpreadsheetGear(http://www.spreadsheetgear.com/products/spreadsheetgear)を使用します。 net.aspx

セルナビゲーションやその他のさまざまな機能を備えたスプレッドシートのHTML表現を、JavaScriptを使用して作成します。シートを再計算する必要がある場合(ExcelのF9など)、スプレッドシート全体をサーバーに送信し、すべてを計算するように依頼してから、Webページの表現に結果を再入力します。これは、スプレッドシートの内容によってはデータベースに書き込む場合もあります。

おそらく、私の答えが軌道からそれほど離れていないかどうかを確認するために、この時点であなたの入力が必要です。

于 2010-12-15T09:32:56.020 に答える
0

だから私はこれを自分で掘り下げました、そしてそれは少し傷つきました. 詳細は次のとおりです。

悪い人:

  1. JSLintではなく、エディターを使用する必要があります。
  2. デバッガーはありません。スクリプトはサーバー側で実行されるため、Firebug やその他のブラウザー ツールはまったく役に立ちません。「表示 -> 実行トランスクリプト」と「表示 -> ログ」が少し役に立ちます。ただし、「onEdit」イベントでは機能しないようです。
  3. Web への接続は、非同期モードを持たない UrlFetch サービスを経由します。また、「onEdit」イベント内ではまったく機能しません: http://code.google.com/p/google-apps-script-issues/issues/detail?id=185
  4. 基本的に 3 つのイベント タイプがあります。「onLoad」、「onInstall」、および「onEdit」。特に、「onClick」イベントを見逃していました。
  5. 外部ライブラリのサポートなし。

いいもの:

  1. これは実際の JavaScript であるため、予想どおりに機能し、外部の JSLint ツールを使用できます。
  2. 浅い学習曲線。シート、範囲、値の設定/取得を理解することが重要な概念です。
  3. スプレッドシート項目の操作、書式設定などのための多くの機能。
  4. Google データ API のサポート? 私はこれを使用していませんが、外部 Web リソースに接続する方法のようです。
  5. スプレッドシートのスクリプト化された適切に統合された更新は、スプレッドシートを閲覧している他のユーザーにすぐに表示されます。

全体として、この環境には多くの UI 機能を備えた多くの可能性がありますが、実際の運用開発を行うためのいくつかの重要な機能が欠けているようです。

于 2010-12-01T22:00:08.900 に答える