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();
                }
            }


  • 相关阅读:
    11.11 程序员的 1111 种死法
    护航11.11,如何筑牢安全防御系统?
    如何应对大促流量洪峰?揭秘京东技术人的备战手册
    TIOBE 11 月编程语言:Java 首次跌出前二;基于Pytorch的Kornia可微分计算机视觉库开源
    会展云技术解读 | 面对突发事故,APP 如何做好崩溃分析与性能监控?
    “开源软件供应链点亮计划
    走进京东 | 中国空间技术研究院青年创新联盟成员莅临参观京东总部
    深度解读展会场景智能推荐搭建之路 | 会展云技术解读
    第一届“多模态自然语言处理研讨会”精彩回顾(免费获取PPT)
    AI 科学家带你快速 Get 人工智能最热技术
  • 原文地址:https://www.cnblogs.com/jmax/p/1921532.html
Copyright © 2011-2022 走看看