Проблема при сохранении файла excel с помощью savedialogbox.
Привет,
Я экспортировал значение gridview в файл excel.Но когда я попытался сохранить его с помощью диалогового окна сохранения,он не работает,но никакой ошибки не показывает.Пожалуйста, исправьте мою ошибку.Код, который я использую, приведен ниже.
private void button2_Click(object sender, EventArgs e) { string sd; saveFileDialog1.ShowDialog(); saveFileDialog1.InitialDirectory = "c:"; saveFileDialog1.FileName = ""; saveFileDialog1.Filter = "Excel File|*.xls|All Files|*.*"; Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); ExcelApp.Application.Workbooks.Add(Type.Missing); ExcelApp.Columns.ColumnWidth = 20; for (int i = 1; i < dataGridView1.Columns.Count + 1; i++) { ExcelApp.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText; } for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { ExcelApp.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } } sd = saveFileDialog1.FileName; ExcelApp.ActiveWorkbook.SaveCopyAs(sd); ExcelApp.ActiveWorkbook.Saved = true; ExcelApp.Quit(); MessageBox.Show("Excel file created"); }
Christian Graus
Мне это кажется логичным. Что значит "не работает", вы вообще получаете какой-либо сохраненный файл ? Вам нужно установить, какая книга является "активной" ? Не SaveCopyAs ничего возвращать ?
sreenathpktr
не работает значит,если я выбрал диск c: и сохранил,а файла там нет.Но никакой ошибки не видно.
Christian Graus
Хорошо - тогда вы можете проверить в отладчике или коде, что такое ActiveWorkbook ? Возвращает ли SaveCopyAs какое-либо значение для успеха или есть свойство, которое вы можете проверить, чтобы узнать, что пошло не так ? Является ли SaveCopyAs единственным методом сохранения, который вы можете вызвать ?
sreenathpktr
Я пробовал некоторые другие методы сохранения,но показывает некоторые ошибки.Когда я попробовал обойтись без savedialogbox,файл был создан.