5

私はフロントエンドにスプレッドシート機能を追加する必要があるウェブベースのデータベースを使用しています。私はGoogle Docs Spreadsheetsを使うことができると考えていました。彼らのGoogle App Scriptは、私が必要とする機能を持っているようだ。特に、URLFetchサービスをonEditイベントと組み合わせて使用​​すると、スプレッドシートとDBを同期してAJAX形式に保つことができます。また、スプレッドシートの作成、保存、共有に多くの柔軟性を与えることができます。スプレッドシートをウェブデータベースに接続するための最良の方法

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

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

EDIT: これらは、自分のアプリケーションに最適であるもののために潜在的なソリューションです:

  1. ブラウザベースのJavaScriptのスプレッドシートエンジン。 (存在しないかもしれません)
  2. Google App EngineにインストールできるPythonスプレッドシートエンジンモジュール。 (これも見たことがありません)
  3. Googleスプレッドシートに対するより堅牢でAJAXianのアプローチです。 (元の質問を参照してください)
  4. EC2にインストールできるオープンソースのスプレッドシートエンジンです。 (これらが存在するように見える - 多分SocialCalc、またはSimple Spreadsheet勧告。?)
+0

特に、どのスプレッドシート機能が必要ですか?最近のスプレッドシートは大変です! – RedFilter

+0

@RedFilter。ほとんど基本的な数式、セル参照、依存関係、基本的なセルの書式設定。他のすべてがボーナスになります - 複数のシート、気の利いたセルの書式設定。おそらくチャートは必要ないでしょう。最も重要なことは、私のデータベースにXHR型のリクエストを行うことができることです。 – mjhm

+1

Googleのスプレッドシート自体をブラウザビューとして使用して割引しましたか?単一の式を持つシートにデータを置くImportData(URL)csvを返す? – DavidF

答えて

2

スプレッドシートの機能をウェブページで使用しますが、スプレッドシートのすべての機能をスクリプト化するのではなく、計算エンジンを使用しています。計算エンジンは私の特定のケースでは など、式の種類は数百を計算し、依存関係(と依存関係の順序)を処理する方法を知っているセルの書式設定、我々はスプレッドシートギアを使用する - http://www.spreadsheetgear.com/products/spreadsheetgear.net.aspx

我々は、スプレッドシートのHTML表現を作成しますいくつかのJavaScriptを使用して、セルナビゲーションと様々な他の機能と。再計算するシート(ExcelのF9など)が必要な場合は、スプレッドシート全体をサーバーに送信し、すべてを計算して結果をWebページの表示に書き戻します。これは、スプレッドシートの内容に応じてデータベースに書き込むこともできます。

おそらく私の答えがあまりにも遠く離れていないかどうかを確認するために、この時点であなたの意見が必要です。

+0

これは間違いなく正しい道のりです。他に誰も出てこない場合は、検索エンジンの「計算エンジン」と「スプレッドシートエンジン」のためにこれを取得します。これらは有望なアイデアを大いにもたらしました。私はいくつかの詳細で質問を更新します。 – mjhm

0

だから私はこれに自分自身を掘るんでしたし、それはビットを傷つけませんでした。ここでは詳細は以下のとおりです。

悪い:

  1. あなたは彼らの編集者、無JSLintを使用する必要があります。
  2. デバッガはありません。スクリプトはサーバー側で実行されるため、Firebugやその他のブラウザツールはゼロになります。 "View-> Execution transcript"と "View-> Logs"はちょっと役立ちます。しかし、彼らは "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 Data APIのサポート?私はこれを使用していませんが、外部Webリソースに接続するための方法のように見えます。
  5. スプレッドシート上のよく統合されたスクリプト更新は、スプレッドシートを表示している他のユーザーにすぐに表示されます。

この環境全体は、多くのUI機能を備えている可能性がありますが、実際の生産開発を行うためのいくつかの重要な機能についてはまだ見当たりません。

1

スプレッドシートフロントエンド機能を備えたWebベースのデータベースですか? Ragicのように聞こえます。

あなたは独自のバックエンドを開発する必要があると言いましたが、HTTP APIを使用してRagicにデータを投稿し、APIを使用してデータを同期するときにスプレッドシートのフロントエンドを使用することができます。

関連する問題