Как экспортировать таблицу данных в существующую таблицу Excel файл
Я задаюсь вопросом, как экспортировать и добавить таблицу данных в существующий файл excel с помощью C# и Функция OpenXML Я генерирую отчеты о продукте и получаю проблемы с сохранением этих новых данных. После успешного добавления новой строки, когда я снова читаю Excel или открываю этот конкретный файл Excel, я не могу найти новую вставленную строку в файле. (означает, что данные записаны неправильно).
Если вы можете предоставить пример кода для этого, это очень полезно для меня.
заранее спасибо.
Что я уже пробовал:
private static void AddRow(SpreadsheetDocument spreadSheetDoc, DataTable table) { workbookPart = spreadSheetDocument.WorkbookPart; IEnumerable<sheet> sheets = spreadSheetDocument.WorkbookPart.Workbook.GetFirstChild<sheets>().Elements<sheet>(); string relationshipId = sheets.Where(s => s.Name == sheetName).SingleOrDefault<sheet>().Id.Value; worksheetPart = (WorksheetPart)spreadSheetDocument.WorkbookPart.GetPartById(relationshipId); workSheet = worksheetPart.Worksheet; sheetData = workSheet.GetFirstChild<sheetdata>(); lastRow = sheetData.ChildElements.Count - 1; var sheet = workbookPart.Workbook.Descendants<sheet>().FirstOrDefault(); if (sheet == null) throw new Exception("No sheed found in the template file. Please add the sheet"); int rowIndex = lastRow + 1, colIndex = 0; List<string> columns = new List<string>(); foreach (System.Data.DataColumn column in table.Columns) { columns.Add(column.ColumnName); } foreach (System.Data.DataRow dsrow in table.Rows) { Row row = new Row(); foreach (String col in columns) { DocumentFormat.OpenXml.Spreadsheet.Cell cell = new Cell(); cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(dsrow[col].ToString()); row.AppendChild<cell>(cell); } sheetData.InsertAt<row>(row, rowIndex); } workbookPart.Workbook.Save(); }