本文已参与「新人创作礼」活动,一起开启掘金创作之路
C#实现桌面应用的时间 表格的数据和导出是一个十分常用的需求
代码如下:
SaveFileDialog fileDialog = new SaveFileDialog();
fileDialog.Title = "导出Excel";
/* fileDialog.InitialDirectory = "D:\\";//默认保存路径为D盘*/
fileDialog.InitialDirectory = Functions.GetDialogPath();
string dateTime = DateTime.Now.ToString("yyyyMMddhhmmss");
fileDialog.FileName = dateTime + "xx报表";//保存的Excel文件名称
fileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
gcReportDetail.ExportToXls(fileDialog.FileName);
DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
public static string GetDialogPath()
{
string dirPath = "";
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.ShowNewFolderButton = true;
dialog.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //默认路径为用户桌面目录
if (dialog.ShowDialog() == DialogResult.OK)
{
dirPath = dialog.SelectedPath + @"\";
}
return dirPath;
}
首先先创建一个文件弹出框对象
然后设置弹出框的标题 和设置弹出框的初始化目录 这个目录我们可以实现让用户自动选择 因为他本质上是一个字符串
首先是创建一个FolderBrowserDialog对象
然后设置 dialog.ShowNewFolderButton = true;创建新文件夹显示在弹出框里
然后初始化文件位置弹出框的选择位置为系统的桌面位置(Environment.SpecialFolder.Desktop)
如果文件位置弹出框用户在默认选择按钮点击确定(返回结果: // 如果用户在对话框中单击“确定”,则为 System.Windows.Forms.DialogResult.OK;否则为 System.Windows.Forms.DialogResult.Cancel。) 则拼接文件选择的目录 然后返回
这样子我们就实现了用户自定义想要保存的文件位置了 然后我们获取时间并转化为字符串(DateTime.Now.ToString("yyyyMMddhhmmss");)样子可以防止导出的文件名重复 从而出现问题
然后设置文件的保存类型为"Excel文件(.xls)|.xls"; 还可以设置为其它的 具体的可以百度或者查询一下
然后用DevExpress控件包的方法里的ExportToXls方法去导出到我们选择保存文件的目录和地方 而这个方法有一个参数就是文件路径名 然后就实现导出了