zoukankan      html  css  js  c++  java
  • 012——C#打开ecxel修改数据(附教程)

    (一)参考文献:[C#]将数据写入已存在的excel文件

                                C# 导入excel数据,解决关闭excel后不能释放资源的问题

    (二)视频教程:https://v.qq.com/x/page/p30063aerl3.html

    (三)下载地址:https://download.csdn.net/download/xiaoguoge11/11838959

            [DllImport("User32.dll", CharSet = CharSet.Auto)]
            public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);
            private void button1_Click(object sender, EventArgs e)
            {
                                       FolderBrowserDialog dialog = new FolderBrowserDialog();
                dialog.Description = "请选择文件路径";
                string foldPath = "";
                if (dialog.ShowDialog() == DialogResult.OK)
                   {
                        foldPath = dialog.SelectedPath + @"" + "2019.xlsx";                             
                  }
                textBox1.Text = foldPath;      
    
                Microsoft.Office.Interop.Excel.Application xApp = new
    
                Microsoft.Office.Interop.Excel.Application();
    
                //2.得到workbook对象,打开已有的文件
                Microsoft.Office.Interop.Excel.Workbook xBook = xApp.Workbooks.Open(foldPath);
    
                //3.指定要操作的Sheet
                Microsoft.Office.Interop.Excel.Worksheet xSheet = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Sheets[1];
    
                //在第一列的左边插入一列  1:第一列
                //xlShiftToRight:向右移动单元格   xlShiftDown:向下移动单元格
                //Range Columns = (Range)xSheet.Columns[1, System.Type.Missing];
                //Columns.Insert(XlInsertShiftDirection.xlShiftToRight, Type.Missing);
    
                //4.向相应对位置写入相应的数据
                xSheet.Cells[2, 2] = 3;
    
                //5.保存保存WorkBook
                xBook.Save();
                //6.从内存中关闭Excel对象
    
                xSheet = null;
                xBook.Close();
                xBook = null;
                //关闭EXCEL的提示框
                xApp.DisplayAlerts = false;
                //Excel从内存中退出
                xApp.Quit();
                IntPtr t = new IntPtr(xApp.Hwnd);          //杀死进程的好方法,很有效
                int k = 0;
                GetWindowThreadProcessId(t, out k);
                System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
                p.Kill();
                xApp = null;
            }

     

  • 相关阅读:
    只能输入数字的文本框
    Ajax
    Crtl+Enter提交留言
    onkeydown onkeyup键盘事件
    面向对象基础
    JS鼠标拖拽
    博客收藏
    不错的按钮
    如何在你的java程序中注册系统级热键
    开源GIS系统
  • 原文地址:https://www.cnblogs.com/luxiaoguogege/p/11631350.html
Copyright © 2011-2022 走看看