1

次のサンプルコードがあります。私が抱えている問題は、コメントを表示しているセクションの列 1 がトリミングされることです。私がやりたいのは、コメントが必要なだけ多くのフィールドにまたがっていることを示すことです。現在、トリミングされています。エクセル2010を使用しています。

 var path = Path.Combine(driveLetter, "Sample", "Report_-Blank.xlsx");

 XLWorkbook workbook = new XLWorkbook(path);

 //Read worksheet at position 1 i.e. First worksheet in excel
 var ws = workbook.Worksheet(1);

 // Facility Tested
 ws.Cell(1, 19).Value = "TestLocation";
 ws.Cell(1, 19).Style.Font.FontSize = 20;

 // Date of Collection
 ws.Cell(2, 19).Value = "10/12/2013";
 ws.Cell(2, 19).Style.Font.FontSize = 20;

 // Collector's Email
 ws.Cell(3, 19).Value = "james@gmail.com";
 ws.Cell(3, 19).Style.Font.FontSize = 20;

 // LabId
 ws.Cell(5, 19).Value = "1344";
 ws.Cell(5, 19).Style.Font.FontSize = 20;

 // Date Analyzed
 ws.Cell(6, 19).Value = "12/3/2013";
 ws.Cell(6, 19).Style.Font.FontSize = 20;


 // Sample #
 ws.Cell(20, 1).Value = "1";
 ws.Cell(20, 1).Style.Font.FontSize = 20;
 ws.Cell(20, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;

 // Location 
 ws.Cell(20, 2).Value = "Closed Loop1";
 ws.Cell(20, 2).Style.Font.FontSize = 20;
 ws.Cell(20, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;

 // Comments

 ws.Cell(22, 1).Value = "COMMENTS:";
 ws.Cell(22, 1).Style.Font.FontSize = 25;
 ws.Cell(22, 1).Style.Font.Bold = true;
 ws.Cell(22, 1).Style.Font.Underline = XLFontUnderlineValues.Single;

 // Comment 1
 ws.Cell(23, 1).Value = "Sample 1: Test is a test of how to display sample 1 445454@ ";
 ws.Cell(23, 1).Style.Font.FontSize = 20;
 ws.Cell(23, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;

 MemoryStream ms = new MemoryStream();
 workbook.SaveAs(ms);

 return ms;
4

1 に答える 1

2

右側のセルが空の場合、Excel は空のセルの上にコメント セルのテキストを表示する必要があります。そうでない場合は、いくつかのセルを結合してより多くのスペースを確保できます。

ws.Range(23, 1, 23, x).Merge().Value = "Sample 1: ...";

x、結合するセルの数です。

コメント用のスペースを作るのに十分な空のセルがない場合は、アクティブなラッピングも可能です:

ws.Cell(23, 1).Style.Alignment.SetWrapText(true);
于 2014-01-10T10:15:12.297 に答える