Написать текстовый файл с разделителем табуляции в .Net Core - PullRequest
0 голосов
/ 10 октября 2019

Привет, есть ли у вас какие-либо руководства, пособия или пошаговое руководство по экспорту в текст с разделителями табуляции. Я использую Asp.Net Core 2.2 MVC EF. Я хочу экспортировать список из моей таблицы . . Мне нужна кнопка, при которой пользователь нажимает в этом действии DownloadFile.

public object DownloadFile()
        {
            var payments = new List<BdoPE>
            {
                new BdoPE
                {
                    DocDateInDoc = "01/01/2019",
                    DocType = "DZ",
                    CompanyCode = "3000",
                    PosDateInDoc = "01/01/2019",
                    FiscalPeriod = "01",
                    CurrentKey = "PHP",
                    RefDocNum = "Over-The-Counter",
                    DocHeadT = "BDO",
                    PosKeyInNextLine = "40",
                    AccMatNextLine = "11231131",
                    AmountDocCur = "0000000010050",
                    ValDate = "01/01/2019",
                    AssignNum = "EEA",
                    ItemText = "1000136212  ",
                    PosKeyInNextLine2 = "15",
                    AccMatNextLine2 = "0115027FF",
                    AmountDocCur2 = "0000000010050",
                    BaseDateDueCal = "01/01/2019",
                    ItemText2 = "1000136212"
                },
            };

            // I want this part to let the user select where they want to save the text file.
            using (var writer = new StreamWriter("path\\to\\file.txt")) // not static location like this one.

            using (var csv = new CsvWriter(writer))
            {
                csv.WriteHeader<BdoPE>();
                csv.WriteRecord(payments);
            }

            // where should i put the delimiter part?

            return; // to what?
        }

1 Ответ

2 голосов
/ 10 октября 2019

Вы должны использовать этот пакет https://joshclose.github.io/CsvHelper/

Вы можете легко написать текстовый файл с разделителем табуляции.

using CsvHelper;
using System;
using System.Collections.Generic;
using System.IO;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            var records = new List<Foo>
            {
                new Foo { Id = 1, Name = "one" },
            };

            var configuration = new CsvHelper.Configuration.Configuration()
            {
                Delimiter = "\t"
            };

            using (var writer = new StreamWriter("path\\to\\file.csv"))
            using (var csv = new CsvWriter(writer, configuration))
            {
                csv.WriteRecords(records);
            }
        }

        public class Foo
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
    }
}
...