2012-08-05 26 views
5

C#を使用して、かなり長いテキストをExcelシートに追加しようとしています。私はこのコードを使用します。C#を使用してExcelシートにテキストを追加する

worksheet.Cells[1, 1] = textString; 

結果はここにある:私が欲しいもの

は次のとおりです。

提案?

+0

分割をテストし、新しい行に得られた配列の各要素を追加します。 –

答えて

10

この効果を得るには、テキストをクリップボードにコピーし、それを関連するセルに貼り付ける必要があります。この例を参照してください

:非常に長い文字列にtextStringを設定してください。

を試み、改行に

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Windows.Forms; 
using Excel = Microsoft.Office.Interop.Excel; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      //~~> Change Your String here 
      String textString = "I'm trying to add a pretty long text into the Excel sheet by using sheet. I use this code:" + Environment.NewLine + 
           "worksheet.Cells[1, 1] = textString;" + Environment.NewLine + 
           "The result is here:"; 

      Clipboard.SetText(textString); 

      Microsoft.Office.Interop.Excel.Application xlexcel; 
      Microsoft.Office.Interop.Excel.Workbook xlWorkBook; 
      Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; 

      object misValue = System.Reflection.Missing.Value; 
      xlexcel = new Excel.Application(); 
      xlexcel.Visible = true; 

      //~~> Add a new a workbook 
      xlWorkBook = xlexcel.Workbooks.Add(misValue); 

      //~~> Set Sheet 1 as the sheet you want to work with 
      xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

      //~~> Set your range 
      Excel.Range CR = (Excel.Range)xlWorkSheet.Cells[1, 1]; 

      CR.Select(); 

      xlWorkSheet.Paste(CR, false); 

      // xlWorkBook.Close(true, misValue, misValue); 
      // xlexcel.Quit(); 

      // releaseObject(xlWorkSheet); 
      // releaseObject(xlWorkBook); 
      // releaseObject(xlexcel); 
     } 

     //private void releaseObject(object obj) 
     //{ 
     // try 
     // { 
     //  System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); 
     //  obj = null; 
     // } 
     // catch (Exception ex) 
     // { 
     //  obj = null; 
     //  MessageBox.Show("Unable to release the Object " + ex.ToString()); 
     // } 
     // finally 
     // { 
     //  GC.Collect(); 
     // } 
     //} 
    } 
} 

SNAPSHOT

enter image description here

関連する問題