Экспортируйте файл csv с помощью CsvWriter и объединяйте строки в C # - PullRequest
0 голосов
/ 05 сентября 2018

Экспорт в CSV по умолчанию из c #, например: RoomName | EquipmentName | EquipmentCode

Room1 - Телевидение - E01

Room1 - Микроволновая печь - E02

Room2 - Телевидение - E01

Теперь, как я могу экспортировать CSV, как на картинке http://prntscr.com/kqqehf

Как я могу это сделать с помощью csvWriter C #? Пожалуйста, помогите, спасибо.

1 Ответ

0 голосов
/ 05 сентября 2018

Я использую класс, который я нашел в проекте кода, и он был полезен для меня. Я вроде новое программирование, но оно работает очень хорошо! В приведенной ниже ссылке приведен код, который я использовал, просто создайте класс и скопируйте в него код, включите его в основной код формы и начните его использовать. Вы можете найти примеры использования там.

https://www.codeproject.com/Articles/415732/Reading-and-Writing-CSV-Files-in-Csharp

Это не мой код, он был найден в приведенной ссылке :) Я надеюсь, что помог вам! Любой вопрос, не стесняйтесь обращаться ко мне, я буду рад помочь, точно знаю, я работаю над проектом, который экспортирует и импортирует данные из файла CSV, используя этот класс.

Edit: Вот пример вывода и может быть открыт с помощью Excel, просто сохраните его с расширением CSV, используя файл IO C # в Visual Studio Также, чтобы сохранить файл как csv, вы можете сделать это из кода или из свойств диалога сохранения файла.

saveFileDialog1.FileName = "CSVDATA" + DateTime.Now.ToString("yyMMdd");
saveFileDialog1.ShowDialog();
string PathName = Path.GetFullPath(saveFileDialog1.FileName);
string FileName1 = Path.GetFileName(PathName);
using (CsvFileWriter Writer = new CsvFileWriter(FileName1))
{
            CsvRow Header = new CsvRow();
            Header.Add(string.Format("{0}", "#2:30:UPD!"));
            Writer.WriteRow(Header);
            CsvRow NewRow = new CsvRow();
            for (int j = 0; j < Array.GetLength(0); j++)
            {
                NewRow.Add(string.Format("{0}", ("" + Array[j]).PadLeft(5, '0')));
                if (j == 14 || j == 29)
                {
                    Writer.WriteRow(NewRow);
                    NewRow.Clear();
                }                  
            }
}

Выход: (Просто пример, я новый форматирующий код здесь в SO D: его 15 значений в строке.)

#2:30:UPD! 
00001,65506,00010,00010,00001,00001,00001
00000,04000,03000,00600,03500,00900,00900,00150
00400,00050,00080,00001,00030,00100,00040 
00100,00000,00000,00000,00000,00300,00000,00000

Я надеюсь, что смог вам помочь! Я буду рад помочь всем остальным, извините за грязный код, просто нужно, чтобы он работал в этот раз ...

...