Форматирование файла и анализ файла в Excel в .NET - PullRequest
0 голосов
/ 16 февраля 2012

В настоящее время у нас есть процесс, при котором мы пишем файлы с разделителями (|).Этот файл будет содержать другой «LetterTemplateType».Каждый LetterTemplateType будет иметь разные поля и различное количество полей.

Чтобы создать файл, мы помещаем все записи в класс, а затем вызываем метод на основе LetterTemplateType:

private static void GenerateLetterTemplateTypeA(StringBuilder sb, 
                                                AALettersOutput output)
{
  if (sb == null) sb = new StringBuilder();

  sb.AppendLine();
  AddToString(sb, output.LetterTemplateType, true);
  AddToString(sb, output.RecordID, true);
  AddToString(sb, output.DealID, true);

и т.д. ...

Поэтому после создания файла нас часто просят "проанализировать" файл и поместить его в excel.Я делал это вручную.Есть разные способы сделать это, например, Interop.

Мой реальный вопрос: как я могу создать файл, а затем проанализировать файл и получить поля в одном месте?Я не хочу иметь порядок полей в 2 разных местах кода.

1 Ответ

0 голосов
/ 16 февраля 2012

Вы можете использовать Excel Package Plus и создавать файлы xslx довольно просто, вот пример кода:

private void MakeExcelFile()
{
  ExcelPackage ePack = new ExcelPackage();
  ExcelWorksheet ws = ePack.Workbook.Worksheets.Add("Worksheet1");

  /// add 5 rows 
  ws.InsertRow(1, 5);
  /// excel cells and rows are 1 based index !
  for (int i = 1; i <= 5; i++)
  {
    ws.Cells[i, 1].Value = "Row " + i.ToString() + ", Col 1";
    ws.Cells[i, 2].Value = "Row " + i.ToString() + ", Col 2";
    ws.Cells[i, 3].Value = "Row " + i.ToString() + ", Col 3";
  }

  ePack.SaveAs(new FileInfo("result.xlsx"));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...