Я делаю небольшой проект (.net Core MVC). Одна вещь не будет работать для меня; Я перепробовал множество тем о переполнении стека.
Что я хочу сделать: скопировать данные из листа Excel в документ Word. Я использую Office Interop nuget для этого. Я попробовал это в консольном приложении (.Net) и заставил его работать. Сейчас я пытаюсь сделать то же самое в Core, но это не работает.
Вместо того, чтобы копировать данные из листа Excel, он продолжает копировать мой буфер обмена.
Я использую следующий код (но, как я уже говорил, я пробовал несколько решений). Отчет является экземпляром Word. Экземпляр Excel виден в следующем коде.
static void Main(string[] args)
{
Microsoft.Office.Interop.Word.ApplicationClass wordApplication = new Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Excel.ApplicationClass excelApplication = new Microsoft.Office.Interop.Excel.ApplicationClass();
string workbookPath = @"....\incidenten_aangemaakt.xlsx";
Microsoft.Office.Interop.Excel.Workbook wb = excelApplication.Application.Workbooks.Open(workbookPath);
Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Sheets["Sheet1"];
ws.Select();
ws.Range["a1", "d6"].Copy();
excelApplication.Quit();
Document report = wordApplication.Documents.Open(@"....\exceltest.docx");
report.Bookmarks["test"].Range.PasteExcelTable(false, false, false);
Console.Write("Done");
report.SaveAs(@".....\Ploep.docx");
report.Close(false);
wordApplication.Quit();
}
Вместо вставки данных из листа Excel он вставляет содержимое буфера обмена моей локальной машины. Поиск этой конкретной проблемы мне ничего не даст.
РЕДАКТИРОВАТЬ: я обновил часть кода с более читабельным кодом. Я чувствую, что PasteExcelTable не работает. Если я использую .Paste (); он вставляет обычный буфер обмена, хотя.
РЕДАКТИРОВАТЬ 2: Такое ощущение, что все копирование Excel не работает. Я что-то здесь не так делаю?