首页 > 解决方案 > 如何将excel文件保存到特定位置C#?

问题描述

这是一个使用 .NET 框架的 Windows 窗体应用程序,可将记录保存到 MS 数据库中。还可以选择将数据库导出为 excel 文件。

这是我的“创建 excel 文件”按钮单击功能:

private void button5_Click(object sender, EventArgs e)
    {
        con.Open();
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "select * from [dbo].[Table]";
        cmd.ExecuteNonQuery();

        DataTable dt = new DataTable();
        SqlDataAdapter da = new SqlDataAdapter(cmd);

        DataSet ds = new DataSet("New_DataSet");
        ds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
        da.Fill(dt);
        ds.Tables.Add(dt);
        ExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelFile.xls",ds);

        MessageBox.Show("Archivo excel generado correctamente.");

        con.Close();
    }

使用我发布的应用程序版本,注意到 excel 文件是在我的默认值“C:\Users\userName\AppData\Local\Apps\2.0\ZDTK7LMQ.YEZ\V0BOPT21.N23”中创建的。

我想更改保存位置。有什么线索吗?

PD:我使用的 Excel 库是“ExcelLibrary”。

using ExcelLibrary.CompoundDocumentFormat;
using ExcelLibrary.SpreadSheet;
using ExcelLibrary.BinaryDrawingFormat;
using ExcelLibrary.BinaryFileFormat; 

标签: c#

解决方案


如果您尝试在文件名前添加 \ 一个斜杠或两个斜杠 \ 并查看是否有所不同:“\MyExcelFile.xls”或“\ \ MyExcelFile.xls”。此外,您可能希望取出文件名并将文件名和路径构造为字符串,然后将字符串添加到调用中,如下所示:

var path = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "desired_dir_name"); // bin, etc
string myFileNameAndPath = path + "\\" + "MyExcelFile.xls";
ExcelLibrary.DataSetHelper.CreateWorkbook(myFileNameAndPath ,ds);

通过上面运行调试器以查看设置了哪些路径并根据您的需要修改位置。


推荐阅读