Synfusion XlsIO не поддерживает параметр «Разрешить пользователям изменять диапазоны» в Excel при загрузке файлов Excel - PullRequest
0 голосов
/ 14 апреля 2019

Я хочу, чтобы пользователи могли помечать определенные области как заблокированные в своих шаблонах, но похоже, что Xlsio устанавливает для свойства Range.CellStyle.Locked значение false по умолчанию, даже если вы помечаете диапазон как редактируемый в Excel. Есть ли способ это исправить? Вот мой код:

ExcelEngine excelEngine = new ExcelEngine();
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/Template.xlsx", UriKind.Absolute));

//Loads or open an existing workbook
IWorkbook workbook = await excelEngine.Excel.Workbooks.OpenAsync(file);

workbook.Version = ExcelVersion.Excel2013;

workbook.Protect(true, true, "111");
foreach(var sheet in workbook.Worksheets)
{
    sheet.Protect("111");
}

//Initializes FileSavePicker
FileSavePicker savePicker = new FileSavePicker();
savePicker.SuggestedStartLocation = PickerLocationId.Desktop;
savePicker.SuggestedFileName = "output";
savePicker.FileTypeChoices.Add("Excel Files", new List<string>() { ".xlsx" });

//Creates a storage file from FileSavePicker
StorageFile outputStorageFile = await savePicker.PickSaveFileAsync();

//Saves changes to the specified storage file
await workbook.SaveAsAsync(outputStorageFile);

Some cells are unlocked

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Функция «Разрешить пользователям редактировать диапазоны» не поддерживается в XlsIO.Однако вы можете отредактировать желаемый диапазон на рабочем листе, разблокировав его (т. Е. Установив для Locked свойство CellStyle значение false).Мы подготовили образец по вашему требованию, который можно скачать по следующей ссылке.

Пример ссылки: http://www.syncfusion.com/downloads/support/directtrac/general/ze/Modified_Sample-804271761.zip

Примечание: Я работаю на syncfusion

0 голосов
/ 18 апреля 2019

Кажется, что Xlsio не поддерживает функцию «Разрешить пользователям редактировать диапазоны»: https://www.syncfusion.com/forums/144011/xlsio-doesn39t-respect-excel39s-quotallow-users-to-edit-rangesquot-option-when-loading-excel-files

У нас нет поддержки функции «Разрешить пользователям редактировать диапазоны».Однако вы можете отредактировать нужный диапазон на рабочем листе, разблокировав его (т. Е. Установив для свойства Locked свойства CellStyle значение false).Мы изменили образец в соответствии с вашим требованием, которое можно скачать по следующей ссылке.

Пример ссылки: http://www.syncfusion.com/downloads/support/directtrac/general/ze/Modified_Sample-804271761.zip

...