Я попытался отредактировать файл в Ondrive через Microsoft Graph, загрузив его для редактирования, а затем снова загрузив.
В разделе загрузки xlsx я столкнулся с этой ошибкой при помещении переменной «stream» в IWorkbook.
"System.ArgumentException: 'Update mode requires a stream with read, write, and seek capabilities.'"
ExcelEngine excelEngine = new ExcelEngine();
IApplication application = excelEngine.Excel;
application.UseFastRecordParsing = true;
var stream = await graphClient.Me.Drive.Items["F90FCCBAC810EFDB!41667"].Content
.Request()
.GetAsync();
IWorkbook workbook = await application.Workbooks.OpenAsync(stream);
И в разделе загрузки я попытался загрузить файл из средства выбора файлов в IWorkbook, затем сохранить его в виде потока, наконец успешно загрузил, но он был пустым.
using (ExcelEngine excelEngine = new ExcelEngine())
{
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.SuggestedStartLocation = PickerLocationId.Desktop;
openPicker.FileTypeFilter.Add(".xlsx");
openPicker.FileTypeFilter.Add(".xls");
StorageFile inputStorageFile = await openPicker.PickSingleFileAsync();
Stream fileStream = (await inputStorageFile.OpenReadAsync()).AsStreamForRead();
IWorkbook workbook = await excelEngine.Excel.Workbooks.OpenAsync(fileStream);
workbook.Version = ExcelVersion.Excel2016;
MemoryStream outputStream = new MemoryStream();
await workbook.SaveAsAsync(outputStream);
await graphClient.Me.Drive.Root.ItemWithPath(inputStorageFile.Name).Content
.Request()
.PutAsync<DriveItem>(outputStream);
}
Мне нужно отредактировать файл xlsx на Ondrive, используя Syncfusion.XlsIO.UWP из потока. Может кто-нибудь помочь мне? Большое спасибо.