我目前正在使用Microsoft.Office.Core;
和using Excel = Microsoft.Office.Interop.Excel;
将我的数据从windows窗体导出到excel。
当我导出我的文件时,它总是被覆盖。
有人知道解决它的方法吗?
xlWorkBook.SaveAs("d:\csharp-Excel.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
MessageBox.Show("Excel file created , you can find the file d:\csharp-Excel.xls");
您可以首先检查您想要的文件名是否已经存在,如果已经存在,请在其末尾附加一个DateTime。此外,在路径前加一个"@"可以让您像在资源管理器中一样键入路径(不带双"\"(:
string MyExportFile = "csharp-Excel";
string FullPath = @"d:";
if (File.Exists(Path.Combine(FullPath, MyExportFile)))
{
MyExportFile += DateTime.Now + ".xls";
FullPath += MyExportFile;
}
xlWorkBook.SaveAs(FullPath,
Excel.XlFileFormat.xlWorkbookNormal,
misValue, misValue, misValue, misValue,
Excel.XlSaveAsAccessMode.xlExclusive,
misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();