Сохранение данных в Excel - C#
Формулировка задачи:
Пытаюсь сохранить данные в Excel следующим образом:
Однако никакого сохранения не происходит. Если же вставить после выделенной жирным шрифтом строки:
то есть закрыть workbook, то появится дополнительное окно с выбором файла на сохранение и в нем если выбрать тот же самый файл что был выбран в моем savefiledialog то опять же эффекта не произойдет, а если выбрать другой файл, то сохранение произойдет как надо. Есть ли у кого-нибудь какие-нибудь мысли насчет этого? Надеюсь понятно объяснил
string fileName = "";
Thread thread = new Thread(delegate()
{
double tmp = Convert.ToDouble(Storage.Stations.Stations[id].ExpectedExtraPower[addRow]);
tmp = Math.Round(tmp, 2);
[B]objWorkSheet.Cells[numRow, GetIndexBySymbol('S')] = tmp;[/B]
});
if (Storage.SaveSameFile)
fileName = Storage.ThroughPutTablesFileName;
else
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.OverwritePrompt = false;
if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
fileName = sfd.FileName;
else
return;
}
thread.Start();Storage.ObjWorkbook.GetType().InvokeMember("Close", BindingFlags.InvokeMethod, null, Storage.ObjWorkbook, new object[] { true });Решение задачи: «Сохранение данных в Excel»
textual
Листинг программы
//Создаём приложение Storage.ObjExcel = new Microsoft.Office.Interop.Excel.Application(); //Открываем книгу. Storage.ObjWorkbook = Storage.ObjExcel.Workbooks.Open(fileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, true, 0, true, true, false); //Выбираем таблицу(лист). Storage.ObjWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)Storage.ObjWorkbook.Sheets[1]; return Storage.ObjWorksheet;