将标头添加到我的c#excel输出文件中

时间:2016-11-03 15:24:26

标签: c# sql excel winforms

我有这段代码,想在写入之前插入标题。我尝试了各种方法,但它不断读取和混合标题与写入文件的数据。我尝试在if块之外添加标题,但它仍然没有区别,我也尝试在创建文件后立即添加它但结果相同。我想知道如何添加它而不与数据混合

  using (StreamWriter stream = new StreamWriter("cross_check.xls", true))
        {

            if (stream == null)
            {

                MessageBox.Show("File can't be written");

            }

            else  
            {

                stream.WriteLine();
                stream.Write(search.Text);
                stream.Write("\t ");
                stream.Write(textBox1.Text);

                MessageBox.Show("Data Added Successfully");

            }

1 个答案:

答案 0 :(得分:1)

将数据写入文件时,可以包含标题。但是,如果您有一些需要修改的现有文件,并且excel文件的内容是文本内容(似乎是基于问题),您可以这样简单地使用File.ReadAllLinesFile.WriteAllLines

var file = @"d:\file.xls";
var lines = System.IO.File.ReadAllLines(file).ToList();
lines.Insert(0, "Some text");
System.IO.File.WriteAllLines(file, lines);

使用File.ReadAllLines您拥有文件的所有行,您也可以对文件内容执行其他处理。例如,您可以通过分隔符拆分所有行并操纵每个单元格或添加新列等。您还可以将结果整形为DataTable这样的数据结构,并将其显示在DataGridView中进行编辑,然后再将其保存回文件。