Aspose ライブラリを使用して Excel ドキュメントを作成しています。あるセルのどこかに、テキストの 2 つの部分の間に新しい行を挿入する必要があります。
「\r\n」を試してみましたが、うまくいきません。セルに 2 つの四角形の記号が表示されるだけです。ただし、Alt+Enter を押して、同じセルに新しい行を作成できます。
プログラムで新しい行を挿入するにはどうすればよいですか?
Aspose Cells フォーラムから: How to use new line char with in a cell?
テキストを入力したら、セルの IsTextWrapped スタイルを true に設定する必要があります
worksheet.Cells[0, 0].Style.WrapText = true;
cell.Text = "your firstline<br style=\"mso-data-placement:same-cell;\">your secondline";
DB からテキストを取得している場合:
cell.Text = textfromDB.Replace("\n", "<br style=\"mso-data-placement:same-cell;\">");
Excel が使用する文字コード (IIRC は 10) を挿入する必要があります。
編集:OK、ここにいくつかのコードがあります。以下を含むセルを作成することにより、使用されている文字コードが実際に 10 であることを確認できたことに注意してください。
あ
B
...そしてそれを選択し、VBA のイミディエイト ウィンドウでこれを実行します。
?Asc(Mid(Activecell.Value,2,1))
したがって、その値を VBA の別のセルに挿入するために必要なコードは次のようになります。
ActiveCell.Value = "A" & vbLf & "B"
(vbLf は文字コード 10 であるため)。
あなたが C# を使用していることは知っていますが、最初に VBA を使用すると、何もコンパイルせずに「対話的に」試すことができるため、何をすべきかを理解するのがはるかに簡単になります。C# で行うことは、VBA で行うことを複製しているだけなので、違いはほとんどありません。(C# 相互運用機能は、VBA と同じ基礎となる COM ライブラリを使用しているだけであることを思い出してください)。
とにかく、これの C# は次のようになります。
oCell.Value = "A\nB";
違いを見つけてください:-)
編集2:ああああ!投稿を読み直したところ、Aspose ライブラリを使用していることがわかりました。申し訳ありませんが、その場合はわかりません。
\r\n
内部的に、Excel は、少なくとも XML 表現では、改行にU+000D U+000A (CR+LF, ) を使用します。また、セル内で値を直接見つけることもできませんでした。共有文字列を含む別の XML ファイルに移行されました。改行を含むセルはファイル形式によって異なる方法で処理され、ライブラリはこれを認識していない可能性があります。
Infragistics ソリューションに興味がある方は、こちらをご覧ください。
使用する
Environment.NewLine
セルがラップされていることを確認してください
dataSheet.Rows[i].Cells[j].CellFormat.WrapText = ExcelDefaultableBoolean.True;
SpreadsheetGear for .NETは次のようにします。
IWorkbook workbook = Factory.GetWorkbook();
IRange a1 = workbook.Worksheets[0].Cells["A1"];
a1.Value = "Hello\r\nWorld!";
a1.WrapText = true;
workbook.SaveAs(@"c:\HelloWorld.xlsx", FileFormat.OpenXMLWorkbook);
「WrapText = true」に注意してください。Excel は、これがないとテキストを折り返しません。Aspose にも同様の API があると思います。
免責事項: 私は SpreadsheetGear LLC を所有しています
PEAR 'Spreadsheet_Excel_Writer' と 'OLE' の使用:
" " を機能させる唯一の方法は\n
、セルを作成してから$format->setTextWrap();
" " を使用\n
することでした。
Chr(13) を使用できます。次に、全体を Chr(34) でラップします。Chr(34) は二重引用符です。
「\n」は問題なく動作します。入力が複数行のテキストボックスからのものである場合、改行文字は「\r\n」になります。これを「\n」に置き換えると機能します。
実際、それは本当に簡単です。
xml バージョンの Excel を編集できます。セルを編集してテキスト間に新しい行を追加し、保存します。後でエディターでファイルを開くと、新しい行が次のように表示されます。
試してみてください....