У меня ошибка при экспорте из DgView в Excel

Я пытаюсь экспортировать из DataGridView в Excel, но если я выберу No или Cancel, когда система попросит заменить существующий документ, программа выдает следующую ошибку:

 **System.Runtime.InteropServices.COMException was unhandled ErrorCode=-2146827284 HResult=-2146827284 Message=Exception from HRESULT: 0x800A03EC Source=Consulta Serial StackTrace: at Microsoft.Office.Interop.Excel._Worksheet.SaveAs(String Filename, Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, Object AddToMru, Object TextCodepage, Object TextVisualLayout, Object Local) at Consulta_Serial.BuscaPorSerial.Export_Button_Click(Object sender, EventArgs e) in C:\Users\jimenu\Documents\Visual Studio 2015\Projects\BETAS\SIBA\Consulta Serial\BuscaPorSerial.vb:line 128** 

Код, который я использую:

 Private Sub Export_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Export_Button.Click Dim xlApp As Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet Dim misValue As Object = Reflection.Missing.Value Dim i As Integer Dim j As Integer xlApp = New Excel.Application xlWorkBook = xlApp.Workbooks.Add(misValue) xlWorkSheet = xlWorkBook.Sheets("sheet1") For i = 0 To GridGeneral.RowCount - 2 For j = 0 To GridGeneral.ColumnCount - 1 For k As Integer = 1 To GridGeneral.Columns.Count xlWorkSheet.Cells(1, k) = GridGeneral.Columns(k - 1).HeaderText xlWorkSheet.Cells(i + 2, j + 1) = GridGeneral(j, i).Value.ToString() Next Next Next xlWorkSheet.SaveAs("C:\ReportePorSerial.xlsx") xlWorkBook.Close() xlApp.Quit() releaseObject(xlApp) releaseObject(xlWorkBook) releaseObject(xlWorkSheet) MsgBox("El archivo se genero en la siguiente ruta C:\ReportePorSerial.xlsx") End Sub Private Sub releaseObject(ByVal obj As Object) Try System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) obj = Nothing Catch ex As Exception obj = Nothing Finally GC.Collect() End Try End Sub 

Улисы здесь – простой альтернативный подход, который, надеюсь, вы найдете интересным:

 Private Sub Export_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Export_Button.Click Dim ef = New ExcelFile() Dim ws = ef.Worksheets.Add("Sheet1") ' From DataGridView to ExcelFile. DataGridViewConverter.ImportFromDataGridView(ws, Me.GridGeneral, New ImportFromDataGridViewOptions() With {.ColumnHeaders = True}) ef.Save("C:\ReportePorSerial.xlsx") End Sub 

В коде используется GemBox.Spreadsheet , также здесь вы можете найти полный образец.

  • Сохранение данных DataGridView в базу данных SQL Server Winform
  • Мой экспорт datagridview в Excel имеет неполные данные
  • Вставка данных Excel в пустой DataGridView - исключение из диапазона вне диапазона
  • Загрузить excel в datagridview, используя vb.net как язык и MySQL как базу данных
  • Экспорт Datagridview в Excel в C #
  • Экспорт данных из datagirdview в лист Excel с десятичными знаками, сохраненными
  • Параметр не имеет значения по умолчанию, Excel C #
  • Не удалось удалить несколько записей Excel из Datagridview с помощью флажка C #
  • ошибка при представлении экспорта данных в Excel
  • Экспортируйте dataGridView в Excel со всеми форматами ячеек
  • Упорядочить данные в datagridview в файле excel
  • Interesting Posts

    Выделите ячейки с числовым значением

    Принуждение формата кода региона в Excel

    Добавление проверки данных / макроса в существующий файл xls с использованием python on linux

    Извлечь путь из полного имени файла в VBA

    Почувствуйте себя странно. Скрытие ActiveX combobox в некотором имени не работает

    Задайте имя переменной листа во время соединения с другими книгами

    Изменение данных в вертикальной таблице на отдельные строки

    Итерация через подпапки Outlook и входящие

    Ссылка на ячейку для диапазона в превосходной сумме

    Как преобразовать список Excel в массив?

    PHPExcel как связать столбец листа с ячейкой, используя setFormula1 ()

    Использование ссылки на ячейку в строке подключения

    Поиск диалогового окна предварительного просмотра Excel с C #, который позволяет пользователю изменять принтер

    Excel VBA: копировать несколько таблиц / диапазонов с переменным размером в большой лист данных

    Получение макроса Excel макросов для работы в цикле, немного отличающихся друг от друга

    Давайте будем гением компьютера.