c# - 如何让用户在 C# 中选择文件位置

标签 c# mysql .net excel

我有这段代码,是从excel中的数据表导出数据,我想做的是自己在@“”中写入位置,我想让用户自己选择位置,谢谢。

DataTable dt = hpl.SearchUserGroup(Convert.ToInt32(txtSearch.Text));
Workbook book = new Workbook();                
Worksheet sheet = book.Worksheets[0];               
sheet.InsertDataTable(dt, true, 1, 1);
book.SaveToFile(@"", ExcelVersion.Version97to2003);  

最佳答案

您可能需要如下所示的内容。 我没有机会在 Visual Studio 中对此进行测试

string folderPath = string.Empty;  

DataTable dt = hpl.SearchUserGroup(Convert.ToInt32(txtSearch.Text));
Workbook book = new Workbook();                
Worksheet sheet = book.Worksheets[0];               
sheet.InsertDataTable(dt, true, 1, 1);

using(var folderLoc = new FolderBrowserDialog())
{
    DialogResult dlgResult = folderLoc.ShowDialog();

    if (dlgResult == DialogResult.OK )
    {
        folderPath = folderLoc.SelectedPath;        
    }
}
//create a temp file with .xls extension
folderPath += Path.GetTempFileName().Replace(".tmp", ".xls");

book.SaveToFile(folderPath, ExcelVersion.Version97to2003);  

如果您遇到任何问题,请告诉我。

关于c# - 如何让用户在 C# 中选择文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513109/

相关文章:

c# - 如果枚举用作方法参数,是否始终需要在 C# 中进行强制转换?

c# - 检索(验证)字符串的一部分

c# - 如何通过Linq查询MongoDB中的BsonExtraElements

.net - ISupportInitialize (BeginInit/EndInit) 和 SuspendLayout/ResumeLayout 的区别

.net - 了解 IIS7.5 上的处理程序映射

c# - 只读列表列表 c#

c# - 文本框/输入文本中的 HTML 标记

mysql 无法连接到 MS Access

mysql - 带 case + union + like 的 where 子句中的未知列

php - mysql_fetch_array($result, MYSQL_ASSOC) 真的很慢