У меня есть таблица данных (dt) и кнопка для экспорта данных в Excel.
Я использую ClosedXML, чтобы выполнить работу.
Но когда я нажимаю на экспорткнопку, я получил сначала saveFileDialog, а затем после нажатия кнопки ОК, я получил второй saveFileDialog.После этого файл экспортируется правильно.
Итак, код ...
Это основной код для действия экспорта кнопки.Я использую saveFileDIalog, чтобы позволить пользователю выбрать каталог для сохранения файла.
private void exportarToolStripMenuItem_Click(object sender, EventArgs e)
{
if(saveFileDialog.ShowDialog() == DialogResult.OK)
{
FileInfo fileInfo = new FileInfo(saveFileDialog.FileName);
SaveToExcel(dt, fileInfo);
}
}
Затем методы
public static void SaveToExcel(System.Data.DataTable dt, FileInfo outputFile)
{
XLWorkbook wb = new XLWorkbook();
var worksheet = wb.Worksheets.Add(dt, "ResultTable");
using (MemoryStream memoryStream = GetStream(wb))
{
File.WriteAllBytes(outputFile.FullName, memoryStream.ToArray());
}
}
И MemoryStream
public static MemoryStream GetStream(XLWorkbook excelWorkbook)
{
using (MemoryStream stream = new MemoryStream())
{
excelWorkbook.SaveAs(stream, new SaveOptions { EvaluateFormulasBeforeSaving = false, GenerateCalculationChain = false, ValidatePackage = false, });
return stream;
}
}
Можетпожалуйста, кто-нибудь, помогите мне понять, почему я получаю 2 saveFileDialog?
Спасибо.