Файл.txt в файл.xlsx (600 строк и 40 столбцов)

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

Вот мой код, который объединяет все три файла, если это помогает.

    private void button1_Click(object sender, EventArgs e) // merge files button
    {

        System.IO.StreamWriter output = new System.IO.StreamWriter("OUTPUT.txt");

        String[] parts = new String[1000];
        String[] parts2 = new String[1000];

        parts = File.ReadAllLines(textBox1.Text);       //gets filepath from top textbox
        parts2 = File.ReadAllLines(textBox2.Text);      //gets filepath from middle textbox

        String[] head = File.ReadAllLines(headingFileBox.Text); //header file array


        //merging the two files onto one list, there is no need to merge the header file because no math is being
        //computed on it
        var list = new List<String>();
        list.AddRange(parts);
        list.AddRange(parts2);


        //foreach loop to write the header file into the output file
        foreach (string h in head)
        {
            output.WriteLine(h);
        }
        //prints 3 blank lines for spaces
        output.WriteLine();
        output.WriteLine();
        output.WriteLine();


        String[] partsComb = list.ToArray(); // string array that takes in the list
        Array.Sort(partsComb);
        //foreach loop to combine files and sort them by 1st letter
        foreach (string s in partsComb)
        {
            partsComb.Equals(s);
            output.WriteLine(s);
        }
        output.Close();
    }

Любая помощь приветствуется.

3 ответа

Решение

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

Базовый CSV выглядит так:

"Bob","Smith","12/1/2012"
"Jane","Doe","5/10/2004"

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

Если у вас все в порядке с файлом с разделенными запятыми значениями (CSV), его достаточно легко сгенерировать с помощью манипуляции со строками, и он загрузится в Excel. Если вам нужен специальный формат Excel и все в порядке с XLSX, вы можете заполнить его некоторыми манипуляциями с XML и библиотекой ZIP.

Честное предупреждение, вы должны быть осторожны, избегая запятых и новых строк, если вы выбираете традиционный файл CSV. Есть библиотеки, которые также справляются с этим.

Возможно, вы захотите попробовать пакет Excel Plus: http://epplus.codeplex.com/ Это бесплатный, легкий и может создавать файлы xlsx.

Другие вопросы по тегам