【发布时间】:2019-05-23 18:29:03
【问题描述】:
我正在尝试设置一个按钮,以便轻松地将我的应用程序中的数据库导出到 Excel 工作表。但是我在让它工作时遇到了问题。 而且我无法弄清楚出了什么问题,因为我没有看到任何错误。
{
string cs = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf";
SqlConnection con = new SqlConnection(cs);
con.Open();
SqlCommand command = new SqlCommand("SELECT * FROM AvSites", con);
SqlDataAdapter dataadpter = new SqlDataAdapter(command);
DataTable datatable = new DataTable("AvSites");
dataadpter.Fill(datatable);
datatable.WriteXml(Application.StartupPath + "AvSitesDbExport.xlsx");
MessageBox.Show("export data");
}
当我在调试模式下运行应用程序时,该按钮会在我的桌面上创建一个 xml (xlsx) 文件,我想这可以吗?由于它处于调试模式,因此不确定此处适用哪些规则。
但如果我发布应用程序,我看不到在任何地方创建的文件。
我做错了吗? Application.StartupPath 应该返回执行 .exe 的目录,对吧?
【问题讨论】:
-
是的,但是如果你的exe没有写入权限,它就不能创建文件。在调试模式下,它可以因为 Visual Studio 权限。我认为这与 application.startuppath 无关
标签: c# sql winforms export writexml