Запись данных в Excel с использованием Interop C#C#

Место общения программистов C#
Anonymous
Запись данных в Excel с использованием Interop C#

Сообщение Anonymous »

Я могу записывать данные для Excel с помощью Interop в .Net Core, но есть ли способ, позволяющий не изменить существующий шаблон Excel?
На самом деле у меня есть шаблон Excel, и для нескольких пользователей я хочу иметь разные данные Excel, но мой код записывает данные в мой основной файл, что мне не нужно.
Я использовал следующий код для записи:

Код: Выделить всё

using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;
//Microsoft Excel 16 object in references-> COM tab
using Excel = Microsoft.Office.Interop.Excel;

Application xlApp = new Application();
float Left;
float Top;
string FilePath = DefaultImagesPath;

Workbook xlWorkbook = xlApp.Workbooks.Open(FileName);
_Worksheet xlWorksheet = (_Worksheet)xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;

xlWorksheet.Cells[5, 5] = "text";

//For Image
Excel.Range primaryOkImageRange = (Excel.Range)xlWorksheet.Cells[20, 15];
Left = (float)((double)primaryOkImageRange.Left);
Top = (float)((double)primaryOkImageRange.Top);
xlWorksheet.Shapes.AddPicture(FilePath, MsoTriState.msoFalse, MsoTriState.msoCTrue,
Left, Top, 50, 50);

xlApp.Visible = false;
xlApp.UserControl = false;

//cleanup
GC.Collect();
GC.WaitForPendingFinalizers();
//close and release
xlWorkbook.Close();
//quit and release
xlApp.Quit();
Что я пытался очистить существующее значение:

Код: Выделить всё

var rng = (Excel.Range)xlWorksheet.Cells[5, 5];
Left = (float)((double)rng.Left);
Top = (float)((double)rng.Top);
rng.Cells.Clear();
Но это не работает.

Подробнее здесь: https://stackoverflow.com/questions/784 ... op-c-sharp

Вернуться в «C#»