C#中如何复制选中的单元格到系统剪切板中?
Excel.Range rg = (Excel.Range)etWs.get_Range(etWs.Cells[1,1], etWs.Cells[20,20]);
怎样把rg中的值复制到系统剪切板中??另外,如何解决从系统剪切板中读取中文出现乱码的情况??IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
     string copyStr = (String)iData.GetData(DataFormats.Text);//此处读取的字符串成了乱码

解决方案 »

  1.   

     参考
    //系统剪切板的操作
            private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (this.textBox1.SelectedText != "")
                {
                    Clipboard.SetDataObject(this.textBox1.SelectedText);
                }
                else
                    MessageBox.Show("没有选中文字!");
            }本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/06/11/4260509.aspx
      

  2.   

     string copyStr = (String)iData.GetData(DataFormats.Text);//此处读取的字符串成了乱码
    编码的问题吧
      

  3.   

    复制到剪切板中已搞定
    Excel.Range rg = (Excel.Range)etWs.get_Range(etWs.Cells[1,1], etWs.Cells[20,20]); 
    rg.Copy(Type.Missing);但又有一个新的问题,如何清除rg.Copy(Type.Missing)复制到剪切板中的内容,或者在退出的时候不会提示是不是要保存剪切板中的数据???
      

  4.   

    很奇怪的,用string copyStr = (String)iData.GetData(DataFormats.Text);读取的copyStr是乱码,但打开写字板直接粘贴到写字板中就不是乱码