Использование ячеек ClosedXML обрезается

У меня есть следующий пример кода. Проблема, с которой я сталкиваюсь, заключается в том, что первый столбец for в разделе, где я показываю комментарии, обрезается. Что мне нравится делать, так это показывать, что комментарии охватывают столько полей, сколько нужно. В настоящее время его обрезают. Я использую Эксель 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 = "[email protected]";
 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;

person Nate Pet    schedule 09.01.2014    source источник


Ответы (1)


Если ячейки справа пусты, Excel должен отображать текст из ячейки комментария над пустыми ячейками. Если это не так, вы можете объединить некоторые ячейки, чтобы получить больше места:

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

где x — количество ячеек, которые вы хотите объединить.

Если для комментария недостаточно пустых ячеек, вы также можете активировать перенос:

ws.Cell(23, 1).Style.Alignment.SetWrapText(true);
person Raidri    schedule 10.01.2014