C#如何在当前打开的Excel中写入数据? 10

现在已经实现了检测EXCEL进程,代码如下,请问如何利用得到的这个进程向当前打开的EXCEL中写入数据System.Diagnostics.Process[]ps=Sys... 现在已经实现了检测EXCEL进程,代码如下,请问如何利用得到的这个进程向当前打开的EXCEL中写入数据
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses();
foreach (System.Diagnostics.Process item in ps)
{
if (item.ProcessName == "EXCEL")
{
}
}
展开
 我来答
ahcc08
2014-09-09 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51940
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
 using System; 
      using System.Reflection; // 引用这个才能使用Missing字段

      namespace CExcel1 
      {
        class Class1 
        {
            [STAThread] 
          static void Main(string[] args) 
          {
            //创建Application对象 
            Excel.Application xApp=new Excel.ApplicationClass(); 

            xApp.Visible=true; 
            //得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件 
            Excel.Workbook xBook=xApp.Workbooks._Open(@"D:\Sample.xls", 
            Missing.Value,Missing.Value,Missing.Value,Missing.Value 
            ,Missing.Value,Missing.Value,Missing.Value,Missing.Value 
            ,Missing.Value,Missing.Value,Missing.Value,Missing.Value); 
            //xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码 
            //指定要操作的Sheet,两种方式: 

            Excel.Worksheet xSheet=(Excel.Worksheet)xBook.Sheets[1]; 
            //Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet; 

            //读取数据,通过Range对象 
            Excel.Range rng1=xSheet.get_Range("A1",Type.Missing); 
            Console.WriteLine(rng1.Value2); 

            //读取,通过Range对象,但使用不同的接口得到Range 
            Excel.Range rng2=(Excel.Range)xSheet.Cells[3,1]; 
            Console.WriteLine(rng2.Value2); 

            //写入数据
            Excel.Range rng3=xSheet.get_Range("C6",Missing.Value); 
            rng3.Value2="Hello"; 
            rng3.Interior.ColorIndex=6; //设置Range的背景色 

            //保存方式一:保存WorkBook 
            xBook.SaveAs(@"D:\CData.xls",
  Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,
             Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,
             Missing.Value,Missing.Value); 

            //保存方式二:保存WorkSheet 
            xSheet.SaveAs(@"D:\CData2.xls",
  Missing.Value,Missing.Value,Missing.Value,Missing.Value,
             Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value); 


            //保存方式三 
            xBook.Save(); 

            xSheet=null; 
            xBook=null; 
            xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出 
            xApp=null; 
          }
        }
      }
追问
亲,我问的是在已经打开的Excel中写入数据哟
追答
自己琢磨琢磨
创作者zUzVB1Sl31
2019-06-09 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部
可以写入,但是不好读取,直接用OleDbClient
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式