2017-01-23 4 views
0

Я работаю с программным обеспечением, которое генерирует результаты измерений в TXT-файлах. Каждый раз, когда я измеряю что-то, он сохраняет результаты в уникально названном TXT.Как экспортировать определенные значения из TXT в Excel?

example.txt

Date: 2017.01.23.  
Sample ID: ASD-123-YXZ  
Maximum Runs: 7  
Flow Purge: 10.0 min 

И у меня есть лист первенствовать, в котором я должен скопировать результаты вручную. Он содержит все измерения. Из примера: я сделал 10 различных измерений и получил 10 разных TXT. Из этих файлов я копирую/вставляю значения, которые мне нужны, в ONE excel. Подобно столбцу A1 содержит даты и т. Д. Для всех txt.

Моя цель - автоматизировать эту задачу. Есть ли у вас какие-либо советы, как это сделать?

пс: простите за мой английский

+0

Возможный дубликат [Импорт данных из нескольких текстовых файлов в Excel VBA] (http://stackoverflow.com/questions/37220488/importing-data-from- множественные текстовые файлы, в-первенствует-VBA) –

ответ

0

Это короткий C# программа, которая импорта каждого файла TXT из папки и экспортировать их все в файл Excel. Он используется EasyXLS библиотека Excel для экспорта файла Excel:

ExcelDocument excel = new ExcelDocument(); 

//This is a folder where all TXT files are stored 
System.IO.DirectoryInfo folder = new System.IO.DirectoryInfo(folderTXTfiles); 

//Import each TXT file and create a sheet from each one 
foreach (System.IO.FileInfo file in folder.GetFiles()) 
{ 
    try 
    { 
      ExcelDocument txtExcel = new ExcelDocument(); 
      txtExcel.easy_LoadCSVFile(file.FullName);//or easy_LoadTXTFile 
      String sheetName = file.Name.Substring(0, file.Name.IndexOf(".txt")); 
      if (sheetName.Length > 31) 
      { 
       sheetName = sheetName.Substring(0, 31); 
      } 
      ExcelWorksheet sheet = (ExcelWorksheet)txtExcel.easy_getSheetAt(0); 
      sheet.setSheetName(sheetName); 
      excel.easy_addWorksheet(sheet); 
    } 
    catch (Exception ex) 
    { 
      Console.WriteLine(ex.StackTrace); 
    } 
} 

//Export Excel file  
excel.easy_WriteXLSXFile(folder.FullName + "\\" + "Excel.xlsx");