目次 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 コンポーネント構成インターフェイスを開き、[プロパティ] ボタンをクリックして、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 & "TempletTable.xls")
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
4. Excel ファイルに名前を付けて保存します
objExcelBook.SaveAs strAddr & "TempTable.xls"
5. Excel ファイルを保存します。
objExcelBook.Save (作成者はテスト時に正常に保存しましたが、ページでエラーが報告されました。)
6. Excel 操作を終了します
objExcelApp.Quit は終了する必要があります
set objExcelApp = Nothing
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 = "={1,4,5,6,2}"
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」の実行が要求され、プロセスが行き止まりになることなく各プログラムが実行されるため、この状況は改善されます。 。