2015-03-16 3 views
0

У меня есть текстовые файлы, которые я конвертирую в Excel путем копирования/вставки их в Excel, затем перейдите к DATA -> Text to Columns.Преобразование текстового файла в Excel

  1. Затем я выбираю разделительный.
  2. Затем выберите вкладку «Разделители» и точку с запятой.
  3. На последнем шаге я выбираю Текст для всех полей.

Теперь я хочу автоматизировать это, создав программу на C#.

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

Каковы относительные преимущества:

прочитать текстовый файл в строке/список проверьте данные затем записать данные в разные файлы Excel?

или

используют метод TextToColumn() в C# затем начать редактирование затем записать его на новый Excel файл?

Если есть какие-либо другие, лучшие способы достижения такой цели, пожалуйста, предложите.

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

+0

Вы можете использовать библиотеку, например [EPPlus] (https://epplus.codeplex.com), чтобы создать файл Excel на C#. – Otiel

+0

Зачем вам нужно вырезать и вставлять или создавать программу? Excel может самостоятельно импортировать текстовые файлы. –

+0

«Что вы пробовали, откуда берутся данные?», Это происходит из текстового файла – Akjell

ответ

0

EPPlus - очень хорошее начало. Это помогает вам создавать файлы Excel программно. Наша компания использует его в течение очень долгого времени, и он зарекомендовал себя хорошо.

Возможно, вы захотите попробовать более старую версию 3.1.3, если вы столкнулись с авариями/ошибками. У нас были некоторые проблемы с текущей версией, как подсказка.

В противном случае вы всегда можете экспортировать в CSV, если по какой-либо причине вы не хотите никаких библиотек. Это не должно быть проблемой для реализации.

0

Если вы знаете, что такое разделители, и я предполагаю, что у вас также есть имена столбцов. Вы можете использовать пакеты nuget, такие как CSVHelper, для быстрого чтения в файле в виде списка объектов, а затем записать его как CSV.

0

EasyXLS библиотека может также использоваться для преобразования TXT в Excel:

ExcelDocument doc = new ExcelDocument(); 

//Read TXT file 
doc.easy_LoadTXTFile(pathToTXTFile, "\t", ";"); 

ExcelWorksheet sheet = (ExcelWorksheet)doc.easy_getSheetAt(0); 
ExcelTable sheetData = sheet.easy_getExcelTable(); 

//Some editing on the data in the excel file 
sheetData.easy_getCell(row, column).setValue("newValue"); 

//Convert to Excel 
doc.easy_WriteXLSXFile(pathToXLSXFile); 

Вы также можете создать несколько файлов Excel, начиная с начальных загруженных данных.

0

Согласен с bytecode77. EPPlus - отличный инструмент для того, чтобы делать то, что вам нужно.

Смежные вопросы