Получать предупреждения при загрузке файла Excel
Возможные сценарии использования
Иногда пользователь пытается загрузить книгу, которая отчасти повреждена, но загружаема. В таком случае Aspose.Cells выдает предупреждения при загрузке рабочей книги. Можно перехватить эти предупреждения, реализовав интерфейс IWarningCallback и установив свойство LoadOptions.WarningCallback.
Получение предупреждений при загрузке файла Excel
Приведенный ниже образец кода объясняет, как получить предупреждения при загрузке файла Excel. Код загружает образец файла Excel, который выдает предупреждение DuplicateDefinedName при загрузке. Это предупреждение затем перехватывается методом IWarningCallback.Warning(), который выводит сообщения предупреждения в консоль. Затем код сохраняет книгу в виде выходного файла Excel. Если вы откроете образец файла Excel в Microsoft Excel, он также отобразит вам это предупреждение, как показано на этом скриншоте. Пожалуйста, также проверьте вывод консоли кода ниже для более полного понимания.
Образец кода
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Implement IWarningCallback interface to catch warnings while loading workbook | |
private class WarningCallback : IWarningCallback | |
{ | |
public void Warning(WarningInfo warningInfo) | |
{ | |
if (warningInfo.WarningType == WarningType.DuplicateDefinedName) | |
{ | |
Console.WriteLine("Duplicate Defined Name Warning: " + warningInfo.Description); | |
} | |
} | |
}//WarningCallback | |
//------------------------------------------------------------------ | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
//Create load options and set the WarningCallback property | |
//to catch warnings while loading workbook | |
LoadOptions options = new LoadOptions(); | |
options.WarningCallback = new WarningCallback(); | |
//Load the source excel file | |
Workbook book = new Workbook(dataDir + "sampleDuplicateDefinedName.xlsx", options); | |
//Save the workbook | |
book.Save(dataDir + "outputDuplicateDefinedName.xlsx"); | |
Вывод в консоль
Ниже приведен вывод консольного вывода вышеуказанного кода при выполнении с предоставленным образцом файла Excel.
Duplicate Defined Name Warning: Name:PRINT_AREA;ReferTo:Introduction!$D$16:$D$17
Duplicate Defined Name Warning: Name:PRINT_AREA;ReferTo:Panel!$B$228
Duplicate Defined Name Warning: Name:PRINT_AREA;ReferTo:'Queries '!$D$14:$D$16