.txt文件到.xlsx文件(600行和40列)

时间:2013-05-24 16:12:24

标签: c# excel text-files

我有一个程序,它结合了三个文本文件并将它们全部合并为一个,并按字母顺序对它们进行排序。我想知道如何在没有下载和使用excellibrary(如果可能的话)的情况下将其放到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 个答案:

答案 0 :(得分:0)

您可以查看以CSV格式创建它(以逗号分隔的值)。 Excel自然会将其打开并将数据加载到行和单元格中。

基本CSV如下所示:

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

有些内容是可选的,例如将所有内容包装在引号中,但如果您的数据可能包含分隔符,则需要这些内容。

答案 1 :(得分:0)

如果你对comma separated values (CSV)文件没问题,那就很容易用字符串操作生成并将加载到Excel中。如果您需要特定于Excel的格式并且可以使用XLSX,则可以使用一些XML操作和ZIP库填充一个格式。

公平警告,如果您选择传统的CSV文件,则必须小心转义逗号和新行。还有一些库可以处理它。

答案 2 :(得分:0)

您可能需要尝试使用Excel程序包:http://EPPlus.codeplex.com 它是免费的,轻量级的,可以创建xlsx文件。