3

У меня есть файл .txt, который содержит некоторые ссылки для веб-сайта. Это около 560 ссылок. Я пытаюсь преобразовать мой .txt файл в файл Excel с именем столбца.

Как я могу это сделать?

7 ответов7

6

Вы можете сделать Файл | Откройте текстовый файл, и вы должны увидеть приглашение импортировать файл. Он должен спросить вас, как файл разделяется (например, ',' или '|' или \t и т.д.), И вы можете импортировать в лист Excel.

1

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

0

Это одна ссылка на строку? Вы должны быть в состоянии скопировать / вставить в Excel. Если нет, используйте функцию поиска и замены в приличном текстовом редакторе, чтобы добавить возврат каретки перед каждым "http://", а затем вставьте.

@jiraz, ты первый!

0

Другой вариант - скопировать из txt-файла и вставить в пустой лист. Точно так же вы можете использовать функцию импорта в Excel (Данные> Получить внешние данные).

0

Если вы хотите сделать это вручную, просто откройте его с помощью Excel, и откроется мастер импорта текстовых файлов Excel, который проведет вас до конца. Этот подход является лучшим способом работы с текстовыми файлами фиксированной длины, а также отлично работает с файлами с разделителями (не только csv).

0

Использование OleDb. Это слишком много для одноразовой задачи.
1. Создайте шаблон .xls файла. Используйте верхнюю строку для имен столбцов. Вы должны программно сделать его копию и загрузить копию во время шага 2.
2. using (OleDbConnection conn = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=" + templatefilename + "; Extended Properties=Excel 8.0"))
3. OleDbCommand cmd = new OleDbCommand("insert into...", conn); cmd.ExecuteNonQuery;

0

Предполагая, что вы хотите сделать это программно (в конце концов, это переполнение стека), есть три основных метода:

(i) преобразовать текстовый файл в формат CSV и открыть его в Excel.

(ii) использовать встроенную в COM библиотеку автоматизации Office и вызывать ее из кода (вот пример на C # http://www.c-sharpcorner.com/UploadFile/ggaganesh/CreateExcelSheet12012005015333AM/CreateExcelSheet.aspx, в VB.NET http://www.vbdotnetheaven.com/UploadFile/ggaganesh/ExcelSpreadsheet04182005093012AM/ExcelSpreadsheet.aspx).

(iii) использовать стороннюю библиотеку для создания файла excel (например, http://www.gemboxsoftware.com/GBSpreadsheet.htm).

У каждого есть свои преимущества и недостатки:

(i) Определенно самый простой и дешевый вариант, хотя и наименее гибкий с точки зрения макета, форматирования и т. д. Кроме того, в Excel возникают проблемы с открытием CSV. Например, он будет пытаться быть умным, интерпретируя любую строку числовых символов как число, и поэтому отформатирует ее как таковую. Это раздражает, потому что, если ваш CSV содержит, скажем, номер телефона, начинающийся с нуля (например, 0292630678), Excel удалит начальный ноль. Если у вас нет требования к начальным нулям, и все, что вам нужно для отображения, это базовая таблица в Excel, то этот метод, вероятно, самый простой и легкий.

(ii) Наиболее гибкий подход, хотя, возможно, и самый сложный. Должен дать вам максимальный контроль над выходом. Я полагаю, что вам нужно установить Office на компьютер, который производит ваш файл XLS. Вызов библиотеки COM Office из версии C # до 4.0 является проблемой из-за отсутствия поддержки необязательных параметров, из-за чего интерфейс COM широко используется (поэтому в этом случае обычно лучше использовать VB.NET).

(iii) В зависимости от выбранного вами компонента это может быть проще и, вероятно, обойдется дешевле, если на компьютере, производящем файл, не установлен Office.

Удачи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .