【问题标题】:How can I copy all contents in a richtextbox and paste to an excel sheet?如何复制richtextbox中的所有内容并粘贴到excel表格中?
【发布时间】:2015-01-18 12:51:03
【问题描述】:

我有一个表格。在这种形式中是一个富文本框,其中包含许多行(行)中的一些数据。我想用按钮将richtextbox中的所有数据复制并粘贴到excel工作表中。我可以将所有richtextbox数据复制并粘贴到excel工作表中,但我遇到了问题。 Richtextbox 中的数据有很多行(行)。当我单击按钮 bynCopyPasteToExcel 时,它可以工作,但所有数据都在单元格 A1 中 如何在excel的richtextbox行中复制粘贴所有数据?

代码在这里:

private void btnCopyPasteToExcel_Click(object sender, EventArgs e)  
{
    Microsoft.Office.Interop.Excel.Application uygulama = new Microsoft.Office.Interop.Excel.Application();
    uygulama.Visible = true;
    Microsoft.Office.Interop.Excel.Workbook kitap = uygulama.Workbooks.Add(System.Reflection.Missing.Value);
    Microsoft.Office.Interop.Excel.Worksheet sayfa1 = (Microsoft.Office.Interop.Excel.Worksheet)kitap.Sheets[1];
    Microsoft.Office.Interop.Excel.Range alan = (Microsoft.Office.Interop.Excel.Range)sSheets.Cells[1,1];
    alan.Value2 = richTextBox1.Text;
}

【问题讨论】:

  • 所以你需要将每一行放在不同的行中,我错了吗?
  • 这就是你所说的。每一行在不同的行

标签: c#


【解决方案1】:

不是像上面那样将整个文本框分配给单个单元格,而是首先要按行分解富文本框的文本,类似于:

string[] Values = richTextBox1.Text.Split("\n");

现在您将所有文件都放在一个数组中,您需要将每个值分配给一个唯一的单元格。

for (int i = 1; i <= Values.count(); i++)
{
     sheets.cells[i,1] = Values[i-1]; 
}

这将遍历所有值并将每个值添加到文档中。

【讨论】:

    【解决方案2】:
    Microsoft.Office.Interop.Excel.Range alan =   (Microsoft.Office.Interop.Excel.Range)sSheets.Cells[1,1];  
    

    如果你希望每一行都在一行,你应该像这样改变上面的代码:

            for (int i = 1; i <= richTextBox1.Lines.Count(); i++)
            {
                Microsoft.Office.Interop.Excel.Range alan = (Microsoft.Office.Interop.Excel.Range)sSheets.Cells[1, i];
                \\Save
            }
    

    并在此之后保存每一行。

    【讨论】:

      猜你喜欢
      • 2018-02-05
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2023-01-07
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      相关资源
      最近更新 更多