zoukankan      html  css  js  c++  java
  • Asp.net操作Excel (用Com方式)

       protected void Page_Load(object sender, EventArgs e)
            {
                
    if (!Page.IsPostBack)
                {
                    ApplicationClass app 
    = new ApplicationClass();
                    Workbook workBook 
    = app.Workbooks.Open(@"e:\tt.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                    Worksheet sheet 
    = (Worksheet)workBook.Worksheets[1];
                    Response.Write(sheet.Name + "<br/>");
                    Range range 
    = sheet.get_Range("E7:J112", Type.Missing);
                    Range item 
    = null;
                    
    for (int row = 0; row < range.Rows.Count; row++)
                    {
                        
    for (int col = 0; col < range.Columns.Count; col++)
                        {
                            item 
    = (Range)range.get_Item(row, col);
                            Response.Write(item.Value2);
                            Response.Write(
    " | ");
                        }
                        Response.Write(
    "<br/>");
                    }
                    
    //关闭
                    app.Workbooks.Close();
                    app.Quit();
                    
    //释放
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(item);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(workBook);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

                    item 
    = null;
                    app 
    = null;
                    workBook 
    = null;
                    range 
    = null;

                    GC.Collect();
                    
    //杀进程
                    try{
                    KillExcelProcess();
                    }
    catch{}
                }
            }

            
    public void KillExcelProcess()
            {
                Process[] myProcesses;

                myProcesses 
    = Process.GetProcessesByName("Excel");

                
    foreach (Process myProcess in myProcesses)
                {
                    myProcess.Kill();
                }
            }


  • 相关阅读:
    linux服务器安全配置攻略
    Linux服务器调优
    Tengine + Lua + GraphicsMagick 实现图片自动裁剪/缩放
    nginx缓存设置
    动态缓存技术之CSI,SSI,ESI
    ionic环境配置
    Node.js企业开发:应用场景
    HashMap实现原理、核心概念、关键问题的总结
    《Windows核心编程》读书笔记.Chapter06线程基础
    开发环境eclipse for Mac 下的常用快捷键汇总(基本参照Win系,将Ctrl换为Command)
  • 原文地址:https://www.cnblogs.com/jmax/p/1921532.html
Copyright © 2011-2022 走看看