/ / richtextboxのすべてのコンテンツをコピーしてExcelシートに貼り付けるにはどうすればいいですか? - C#

どのようにしてリッチテキストボックス内のすべてのコンテンツをコピーし、Excelシートに貼り付けることができますか? - C#

私はフォームを持っています。 このフォームには、多くの行(行)に少数のデータを持つリッチテキストボックスがあります。私はコピーして、richtextboxのすべてのデータをボタン付きExcelシートに貼り付けたいと思います。すべてのrichtextboxデータをExcelシートにコピー&ペーストできますが、問題があります。 richtextboxのデータには多くの行(行)があります。私がボタンをクリックすると、CopyPasteToExcelは動作しますが、すべてのデータはセル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;
}

回答:

回答№1は1

上記のようにテキストボックス全体を単一のセルに割り当てるのではなく、最初にリッチテキストボックスのテキストを行ごとに以下のように分割します。

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

配列にすべてのファイルがあるので、各値を一意のセルに割り当てる必要があります。

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

これはすべての値を繰り返し、それぞれをドキュメントに追加します。


回答№2の場合は0
Microsoft.Office.Interop.Excel.Range alan =   (Microsoft.Office.Interop.Excel.Range)sSheets.Cells[1,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
}

その後に各行を保存します。