ASP運用Excel技術の概要
目次
1. 環境構築
2. Excel上のASPの基本操作
3. ASPはExcelを操作してデータテーブルを生成します
4. ASP は Excel を操作してグラフを生成します
5. サーバーサイド Excel ファイルの閲覧、ダウンロード、削除ソリューション
6. 付録
文章
1. 環境構築
サーバー側の環境構成については、参考資料から判断すると、Microsoft シリーズのすべての構成で問題ありません。
1. Win9x+PWS+Office
2. Win2000 Professional+PWS+Office
3. Win2000サーバー+IIS+Office
現時点で筆者がテストに成功した環境は後者2つである。 Office のバージョンに特別な要件はありません。クライアントの構成の不確実性と互換性の低さを考慮して、ダウンロード後にクライアントが正しく表示されないことを防ぐために、サーバー側の Office のバージョンを高くしすぎないようにすることをお勧めします。
サーバー側の環境構成に関するさらに 2 つの偶然の発見は次のとおりです。
1. 筆者の開発マシンには元々キングソフトのWPS2002が搭載されていましたが、Excelのオブジェクト作成に常に問題がありましたが、WPS2002をアンインストールしたところエラーはなくなりました。
2. 著者は、ASP コードを開発するときに FrontPage を使用することを好みます。FrontPage を開くと (サーバー側で)、オブジェクトの作成が不安定になり、成功する場合と失敗する場合があることがわかりました。調査の結果、Office シリーズのソフトウェアをサーバー側で実行すると、Excel オブジェクトを正常に作成することが困難であることがわかりました。
もう1つサーバー側で設定する必要があるのは、COMコンポーネントの操作権限です。コマンド ラインに「DCOMCNFG」と入力して COM コンポーネント構成インターフェイスに入り、「Microsoft Excel」を選択して「プロパティ」ボタンをクリックし、3 つのオプションすべてで「カスタマイズ」を選択し、編集中にすべてのアクセス許可に「Everyone」を追加します。保存後にサーバーを再起動します。
クライアントの環境構成はOfficeとIEがインストールされていればユニバーサル版で大丈夫そうです。
2. Excel上のASPの基本操作
1. Excelオブジェクトの作成
set objExcelApp = CreateObject(Excel.Application)
objExcelApp.DisplayAlerts = false は警告を表示しません
objExcelApp.Application.Visible = false はインターフェイスを表示しません
2. 新しい Excel ファイルを作成します
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
3. 既存の Excel ファイルを読み取る
strAddr = Server.MapPath(.)
objExcelApp.WorkBooks.Open(strAddr & /Templet/Table.xls)
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
4. Excel ファイルに名前を付けて保存します
objExcelBook.SaveAs strAddr & /Temp/Table.xls
5. Excelファイルを保存します。
objExcelBook.Save (作成者はテスト時に正常に保存しましたが、ページでエラーが報告されました。)
6. Excel 操作を終了します
objExcelApp.Quit は終了する必要があります
set objExcelApp = なし
3. ASPはExcelを操作してデータテーブルを生成します
1. 範囲内にデータを挿入する
objExcelSheet.Range(B3:k3).Value = Array(67, 87, 5, 9, 7, 45, 45, 54, 54, 10)
2. セルにデータを挿入する
objExcelSheet.Cells(3,1).Value=Internet Explorer
3. 範囲を選択する
4. セルの左側に太い線を描きます
5.セルの右側に太い線を描きます
6. セルの上に太い線を描きます
7. セルの下に太い線を描きます
8. セルの背景色を設定します
9. セルを結合する
10.行の挿入
11. 列の挿入
4. ASP は Excel を操作してグラフを生成します
1.チャートチャートを作成する
objExcelApp.Charts.Add
2. チャートの種類を設定します。
objExcelApp.ActiveChart.ChartType = 97
注: 2 次元の折れ線グラフ、4、2 次元の円グラフ、51。
3. チャートのタイトルを設定します
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = テスト グラフ
4. テーブルデータによるグラフィックの設定
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),1
5.グラフィックスデータを直接設定する(推奨)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = =333
objExcelApp.ActiveChart.SeriesCollection(1).Values = =
6.バインドチャート
objExcelApp.ActiveChart.Location 1
7. 表示データテーブル
objExcelApp.ActiveChart.HasDataTable = True
8. 凡例の表示
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
5. サーバーサイド Excel ファイルの閲覧、ダウンロード、削除ソリューション
Location.href=、Navigate、Response.Redirect など、参照用のソリューションは多数あります。クライアント メソッドを使用すると、サーバーが Excel ファイルを生成する時間が増えるため、クライアント メソッドを使用することをお勧めします。
ダウンロードの実装は少し面倒です。インターネット上の既製のサーバーからコンポーネントをダウンロードするか、コンポーネントを自分でカスタマイズして開発する方が良い解決策です。もう1つの方法は、クライアント上でExcelコンポーネントを操作し、クライアントがサーバー側のExcelファイルを操作してクライアントに保存する方法です。この方法では、クライアントが安全でない ActiveX コントロールの操作許可を開く必要があります。各顧客にサーバーを信頼済みサイトとして設定するように通知する手間を考慮すると、手間を省くために最初の方法を使用することをお勧めします。
削除計画は 3 つの部分で構成されます。
A: 同じユーザーによって生成された Excel ファイルは同じファイル名を使用します。ファイル名は、文字列が重複しないようにユーザー ID 番号またはセッション ID 番号で構成できます。こうすることで、新しいファイルが生成されるときに、以前のファイルが自動的に上書きされます。
B: Global.asa ファイルで Session_onEnd イベントが発生するように設定されている場合は、このユーザーの Excel 一時ファイルを削除します。
C: Global.asa ファイルで Application_onStart イベントが起動するように設定されている場合は、一時ディレクトリ内のすべてのファイルを削除します。
注: 推奨ディレクトリ構成/ソースコードディレクトリ/Templetテンプレートディレクトリ/Temp一時保存ディレクトリ
6. 付録
エラーが発生したときに Excel のプロセスが停止するのは頭の痛い問題です。各ファイルの前に On Error Resume Next を追加すると、ファイルがエラーを生成するかどうかに関係なく Application.Quit を実行することが強制され、各プログラムの実行後にデッドプロセスが残らないようにするため、この状況を改善するのに役立ちます。