控制台应用程序从SP导出数据

时间:2015-12-10 15:14:47

标签: c# excel stored-procedures export console-application

这是我第一次使用c#,我有一个任务是创建一个简单的控制台应用程序,只需单击调试文件中创建的程序按钮,然后从存储的Precedure I中导出数据数据在数据库中创建一个Excel文件。 我的Methode看起来像这样:

    static void Main(string[] args)
    {
        string path = @"\Users\sa\mydocuments\test.xls";
        if (!File.Exists(path))
        {
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path))
            {
                //creating the file contents
            }
        }
        using (StreamWriter sw = File.CreateText(path))
        {
            SqlConnection cn = new SqlConnection("Data Source=server1234;Initial Catalog=MySqlDatabase;Integrated Security=True;Trusted_Connection=True");
            SqlCommand cmd = new SqlCommand("MySqlDataBase.dbo.sp_export_data", cn);
            cmd.CommandType = CommandType.StoredProcedure;
            try
            {
                cn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    sw.WriteLine(dr["name"].ToString() + "\t" + dr["size"].ToString());
                }

                Console.WriteLine("Database has been exported.");
            }
            catch (Exception excpt)
            {
                Console.WriteLine(excpt.Message);
            }

        }
    }

我的程序运行并创建一个excel文件,问题是它是空的,我不知道我的代码是否错误,因为我没有收到任何错误。不确定我的connectionString等中是否遗漏了任何内容。

也许有人可以帮我解决这个问题,或者链接到如何使用存储的程序为控制台应用程序创建导出功能。

1 个答案:

答案 0 :(得分:0)

要写入Excel文件,您需要使用Excel库(Microsoft库或第三方)。

请参阅此处 - Creating xls/xlsx files in c#