Как записать/вставить данные в ячейки электронной таблицы, расположенные в Sharepoint, с помощью C# и Epplus?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как записать/вставить данные в ячейки электронной таблицы, расположенные в Sharepoint, с помощью C# и Epplus?

Сообщение Anonymous »

Я работал над вставкой записей в электронную таблицу, расположенную в Share Point, используя C# с пакетом EpPlus. Я завершил аутентификацию Share Point, загрузил сайт и получил путь к файлу, а также прочитал записи из электронной таблицы. Однако я застрял в вставке записей в электронную таблицу. Проблема, с которой я столкнулся, заключается в том, что код, который у меня есть для вставки, работает и не выдает никаких ошибок. При проверке в Share Point я вижу, что значение «Изменено» обновляется на «Несколько секунд назад» сразу после выполнения логики, но я не могу видеть эти записи на листе.
Изображение
Вот моя функция, которая вставляет запись.

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

 string url = "/sample.xlsx";
SpClient.File dataSheet = M_clientContext.Web.GetFileByServerRelativeUrl(url);
M_clientContext.Load(dataSheet);
M_clientContext.ExecuteQuery();

using (var memoryStream = new MemoryStream())
{
var stream = dataSheet.OpenBinaryStream();
M_clientContext.ExecuteQuery();
stream.Value.CopyTo(memoryStream);
memoryStream.Position = 0;

ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

// Read the Excel file using EPPlus
using (var package = new ExcelPackage(memoryStream))
{
var worksheet = package.Workbook.Worksheets[0]; // Assuming data is in the first worksheet
int rowCount = worksheet.Dimension.Rows;

Console.WriteLine("Before: " + worksheet.GetValue(rowCount, 1));

int newRow = rowCount + 1;
worksheet.Cells[newRow, 1].Value = "1234";
worksheet.Cells[newRow, 2].Value = "ABC";
worksheet.Cells[newRow, 3].Value = "20.09.2024";

memoryStream.Position = 0;
package.SaveAs(memoryStream);
}
memoryStream.Position = 0;

dataSheet.SaveBinary(new FileSaveBinaryInformation() {
ContentStream = memoryStream
});
M_clientContext.ExecuteQuery();
}
Здесь Console.WriteLine("Before: " + worksheet.GetValue(rowCount, 1)); печатает значение последней вставленной записи. Это подтверждает, что данные вставлены, однако я не могу видеть эти данные в электронной таблице. Более того, когда я пытаюсь открыть лист, выдается следующая ошибка!
Изображение


Подробнее здесь: https://stackoverflow.com/questions/790 ... hare-point
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Использование openpyxl для редактирования электронной таблицы. Невозможно записать в ячейки, «ячейка доступна только для
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Объединить ячейки с помощью EPPlus?
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Парные данные, расположенные в одной строке, AWK или другой
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Парные данные, расположенные в одной строке, AWK или другом [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Парные данные, расположенные в одной строке, AWK или другом [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

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