我有这段代码,想在写入之前插入标题。我尝试了各种方法,但它不断读取和混合标题与写入文件的数据。我尝试在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");
}
答案 0 :(得分:1)
将数据写入文件时,可以包含标题。但是,如果您有一些需要修改的现有文件,并且excel文件的内容是文本内容(似乎是基于问题),您可以这样简单地使用File.ReadAllLines
和File.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
中进行编辑,然后再将其保存回文件。