0

我有一个程序,它结合了三个文本文件并将它们全部放在一个中,并按字母顺序对它们进行排序。我想知道如何在不下载和使用 Excel 库的情况下将其放入 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();
    }

任何帮助将非常感激。

4

3 回答 3

0

您可能想尝试 Excel 包 plus:http: //EPPlus.codeplex.com 它是免费的、轻量级的,并且可以创建 xlsx 文件。

于 2013-05-24T16:16:26.627 回答
0

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

基本 CSV 如下所示:

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

有些事情是可选的,例如将所有内容都用引号括起来,但如果您的数据可能包含分隔符,则需要这样做。

于 2013-05-24T16:15:46.937 回答
0

如果您对逗号分隔值 (CSV)文件没问题,那么使用字符串操作生成该文件很容易,并将在 Excel 中加载。如果您需要一种特定于 excel 的格式并且可以使用 XLSX,您可以使用一些 XML 操作和一个 ZIP 库来填充一个。

公平警告,如果您选择传统的 CSV 文件,则必须小心转义逗号和换行符。也有一些库可以处理这个问题。

于 2013-05-24T16:15:58.230 回答