.NET 4.x Сохранение в xlsx и ошибка отсутствия доступа к файлу - C#
Формулировка задачи:
Мне некоторые данные нужно сохранить в xlsx файл
У меня есть класс table, у него следующие поля
затем в конструкторе
Так теперь мне нужно сохранить эту xlsx
сделал метод
Теперь самое интересное
После нескольких записей (у меня отдельный метод) нужно сохранять, соответственно вызываю Save(), но вылетает ошибка (нет доступа к <имя файла>). Если запустить этот метод из конструктора, то все сохраняет, НО после того как все сохранилось процесс (файл открыт [и я не могу ни удалить не записать в него, приходится вручную убивать]) остается висеть. Что можете посоветовать?
private Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application(); private Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; private Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
//Книга. ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); //Таблица. ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1]; string[] buf = { "номер", "X", "X'", "Y", "Y'", "E", "Q", "M", "X(0)", "X(0)'", "Y(0)", "Y(0)'" }; for(int i = 0; i<12; i++) ObjWorkSheet.Cells[2, i+1] = buf[i];
public void Save() { ObjWorkBook.SaveAs(_path); }
Решение задачи: «.NET 4.x Сохранение в xlsx и ошибка отсутствия доступа к файлу»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Microsoft.Office.Interop.Excel; namespace Excel_Tabl { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); //Таблица. ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1]; string[] buf = { "номер", "X", "X'", "Y", "Y'", "E", "Q", "M", "X(0)", "X(0)'", "Y(0)", "Y(0)'" }; for (int i = 0; i < 12; i++) ObjWorkSheet.Cells[2, i + 1] = buf[i]; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д