создание файла Excel и автоматическое расширение ширины столбцов - PullRequest
5 голосов
/ 21 марта 2012

У меня есть обычная HTML-таблица:

<table>
<tr>hello</tr>
<tr>world</tr>
</table> 

и я создаю из него файл XLS:

string randomname = @"C:\attachmentsfolder\"  + System.IO.Path.GetRandomFileName() + ".xls";
System.IO.File.WriteAllText( randomname, message);

Когда я открываю сгенерированный файл XLS, мне нужно вручную расширить столбцы, чтобы увидеть длинные данные.

У меня вопрос: как я могу сгенерировать этот файл XLS, чтобы столбцы уже имели правильный размер?

Ответы [ 3 ]

3 голосов
/ 21 марта 2012

Вы можете легко сделать это с помощью EPPlus (библиотека с открытым исходным кодом .NET Excel 2007+), и у вас будет действительный файл Excel, вот пример кода:

public static void FitAndSaveToExcel(FileInfo excelFile, string sheetName)
{
  ExcelPackage pack = new ExcelPackage();
  ExcelWorksheet ws = pack.Workbook.Worksheets.Add(sheetName);
  ws.Cells[1, 1].Value = "Some Long text that needs fitting!";
  ws.Cells[1, 2].Value = "Short one";
  ws.Column(1).AutoFit();
  pack.SaveAs(excelFile);
}
1 голос
/ 21 марта 2012

В Excel VBA вы можете добиться желаемого эффекта с помощью Rng.Columns.AutoFit.Я полагаю, что эквивалент C # равен Rng.Columns.AutoFit();.

Однако, я согласен с Диодеусом, вам придется сначала исправить свой HTML.

0 голосов
/ 21 марта 2012

Вы также можете использовать сторонний инструмент, например, Aspose.Cells, чтобы создать файл Excel.

Я успешно использовал это во многих проектах.Он обеспечивает функцию автоподбора, которая вам требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...