DataSet无法使用ExcelDataReader清除旧数据

时间:2018-08-17 01:43:00

标签: c#

我正在使用ExcelDataReader包读取excel文件,但是由于某些原因,即使在更改文件名并使用其他文件后,即使其中也包含新文件的数据,它仍会继续输出旧文件的数据。我尝试了dataset.clear和dispose方法,但是它们不起作用。

 namespace excel
 {
 class Program
{
    static void Main(string[] args)
    {
        DataSet ds1 = new DataSet();
        DataTable dt1 = new DataTable();
        ds1.Dispose();
        using (var stream = File.Open(@"C:\Users\Admin\Documents\Visual Studio 2017\Projects\excel\ctester.xlsx", FileMode.Open, FileAccess.Read))
        {

            // Auto-detect format, supports:
            //  - Binary Excel files (2.0-2003 format; *.xls)
            //  - OpenXml Excel files (2007 format; *.xlsx)
            using (var reader = ExcelReaderFactory.CreateReader(stream))
            {

                // Choose one of either 1 or 2:

                // 1. Use the reader methods


                // 2. Use the AsDataSet extension method
                ds1.Dispose();
                ds1  = reader.AsDataSet();
                dt1 = ds1.Tables[0];

                // The result of each spreadsheet is in result.Tables
            }
        }

        foreach(DataColumn col in dt1.Columns)
        {
            foreach (DataRow row in dt1.Rows)
            {
                Console.WriteLine(row[col].ToString());
            }

        }
        Console.ReadKey();



    }
}

1 个答案:

答案 0 :(得分:0)

  1. 我看不到代码有问题。
  2. 尝试保存并关闭文件。
  3. 尝试将数据集设置为空
  4. 即使在调试中,您是否也获得了相同的数据?