- - PR -
続Excelが終了できない
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-03-13 14:35
初めまして、いつも参考にさせてもらっています。
それでここの記事の http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3343&forum=7 を参考にやってみたのですが・・・ エクセルにデータを入れるのが、少ないとちゃんと終了はしてくれるのですが 増えてくると、残ったままになってしまうのです。 なにが原因なんでしょうか・・・ すみませんが、教えてください。 以下ソースです。 Excel.Application xlsApp; Excel._Workbook xlsBook; Excel._Worksheet xlsSheet; object optional = System.Reflection.Missing.Value; GC.Collect(); xlsApp = new Excel.Application(); xlsApp.DisplayAlerts = false; xlsBook = (Excel._Workbook)(xlsApp.Workbooks.Add(Server.MapPath("") + "\\A.xls")); xlsSheet = (Excel._Worksheet)xlsBook.ActiveSheet; for (int i = 0; i < iKoutei; i++) { xlsSheet.Cells[i*3+14,5] = A[i]; xlsSheet.Cells[i*3+14,9] = B[i]; ・ ・ ここを増やしていくと、残ってしまう・・・ } xlsBook.SaveAs(Server.MapPath("") + "\\AA.xls",Excel.XlFileFormat.xlWorkbookNormal,null,null,false,false,Excel.XlSaveAsAccessMode.xlShared,false,false,null,null); xlsBook.Close(null,null,null); xlsApp.Workbooks.Close(); xlsApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject (xlsApp); System.Runtime.InteropServices.Marshal.ReleaseComObject (xlsSheet); System.Runtime.InteropServices.Marshal.ReleaseComObject (xlsBook); xlsSheet=null; xlsBook=null; xlsApp = null; GC.Collect(); Response.Clear(); Response.ContentEncoding = System.Text.Encoding.GetEncoding("shift-jis"); Response.ContentType = "application/vnd.ms-excel"; Response.AppendHeader("content-disposition","attachment; filename=BunshoA.xls"); Response.WriteFile(xlsFileName); Response.End(); |
|
投稿日時: 2004-01-09 21:38
初めまして。
> エクセルにデータを入れるのが、少ないとちゃんと終了はしてくれるのですが > 増えてくると、残ったままになってしまうのです。 私もまったく同じ事象が発生してしまい非常に悩みましたが、 やっと解決しましたので報告します。 その解決法は、 dcomcnfg.exe のExcelのセキュリティ設定において locahost\ASPNET ユーザの権限を"フルコントロール"にするというものでした。 (それまでは権限を"読み取り"に設定していました。) #とりあえず同じ事象は発生しなくなったので安心しているんですが、 なぜこれで解決できたのか全くわかりません... |
1
