Получить диапазон с внешними ссылками на рабочем листе

Введение

В современном мире, где все основано на данных, эффективное управление файлами Excel имеет решающее значение как для предприятий, так и для отдельных лиц. С помощью таких мощных инструментов, как Aspose.Cells for .NET, работа с файлами Excel становится легкой. Независимо от того, создаете ли вы отчеты, управляете данными или просто анализируете цифры, понимание того, как манипулировать и извлекать данные из рабочих листов, может сэкономить вам время и головную боль. В этом руководстве мы рассмотрим, как получить диапазон с внешними ссылками на рабочем листе с помощью Aspose.Cells for .NET.

Предпосылки

Прежде чем мы углубимся в код и различные примеры, вам необходимо убедиться, что выполнены следующие предварительные условия:

  1. .NET Framework: убедитесь, что вы используете версию .NET Framework, совместимую с Aspose.Cells.
  2. Библиотека Aspose.Cells: Вам необходимо установить библиотеку Aspose.Cells. Вы можете взять ее здесьздесь.
  3. Visual Studio или аналогичная IDE: полезно иметь подходящую IDE для написания и выполнения кода C#.
  4. Пример файла Excel: для этого урока используйте файл Excel под названиемSampleExternalReferences.xlsx, который должен содержать некоторые внешние ссылки для демонстрационных целей. Разобравшись с этим контрольным списком, давайте приступим к написанию кода!

Импортные пакеты

Чтобы начать использовать функциональность Aspose.Cells, вам нужно импортировать необходимые пространства имен в ваш проект. Это позволит вам получить доступ к таким классам, какWorkbook, Name , иReferredArea. Вот как настроить импорт:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

Убедитесь, что в вашем проекте правильно указана библиотека Aspose.Cells. Теперь, когда мы импортировали необходимые пакеты, давайте начнем с загрузки рабочей книги, содержащей данные, с которыми мы хотим работать. Этот шаг имеет решающее значение, поскольку если файл не загружен правильно, то ничего больше работать не будет.

Шаг 1: Определите исходный каталог

Сначала укажите каталог, в котором находится ваш файл Excel. Это простое назначение строки, но оно задает этап загрузки вашей рабочей книги.

string sourceDir = "Your Document Directory";

Шаг 2: Загрузите рабочую книгу

Далее вы создадите экземплярWorkbook передав путь к файлу Excel. Обязательно соедините каталог с именем файла.

Workbook workbook = new Workbook(sourceDir + "SampleExternalReferences.xlsx");

Теперь рабочая тетрадь загружена и готова к работе!

Итерация по именованным диапазонам

Именованные диапазоны могут содержать внешние ссылки, и для проверки этих ссылок вам необходимо выполнить цикл по именованным диапазонам на рабочем листе.

Шаг 3: Доступ к именованным диапазонам

Вы будете использоватьforeach цикл для перебора именованных диапазонов, содержащихся вworkbook.Worksheets.Names. Вот где происходит волшебство!

foreach (Name namedRange in workbook.Worksheets.Names)

Шаг 4: Получите рекомендованные области

Внутри этого цикла вы можете вызвать методGetReferredAreas(true)на именованном диапазоне. Этот метод возвращает массивReferredArea объекты, указывающие на внешние ссылки.

ReferredArea[] referredAreas = namedRange.GetReferredAreas(true);

Шаг 5: Проверьте наличие референтных областей

Вот проверка безопасности. Всегда проверяйте, что указанные области не являются нулевыми, прежде чем приступать к их обработке.

if (referredAreas != null)

Цикл по указанным областям

Теперь, когда у вас есть указанные области, пришло время копнуть еще глубже, пройдя по этим областям и извлекая соответствующие данные.

Шаг 6: Повторите все указанные области

Используйте простой цикл for для прохождения каждогоReferredArea объект вreferredAreas множество.

for (int i = 0; i < referredAreas.Length; i++)

Шаг 7: Извлечение информации из каждой области

Здесь вы создадите переменную для каждогоReferredArea а затем начните извлекать необходимую информацию, например, является ли это внешней ссылкой, название листа и сведения о диапазоне.

ReferredArea referredArea = referredAreas[i];
Console.WriteLine("IsExternalLink: " + referredArea.IsExternalLink);
Console.WriteLine("IsArea: " + referredArea.IsArea);
Console.WriteLine("SheetName: " + referredArea.SheetName);
Console.WriteLine("ExternalFileName: " + referredArea.ExternalFileName);
Console.WriteLine("StartColumn: " + referredArea.StartColumn);
Console.WriteLine("StartRow: " + referredArea.StartRow);
Console.WriteLine("EndColumn: " + referredArea.EndColumn);
Console.WriteLine("EndRow: " + referredArea.EndRow);

Завершение операции

После обработки всех указанных областей хорошей практикой будет завершить операцию подтверждением того, что она была выполнена успешно.

Шаг 8: Подтверждающее сообщение

Наконец, вам нужно вывести на консоль сообщение, подтверждающее успешное выполнение операции.

Console.WriteLine("GetRangeWithExternalLinks executed successfully.\r\n");

Заключение

И вот вам! Мы только что прошли полное руководство о том, как получить диапазоны с внешними ссылками из листа Excel с помощью Aspose.Cells для .NET. Выполнив эти шаги — загрузив книгу, пройдя по именованным диапазонам, извлекая ссылающиеся области и выводя результаты — вы сможете легко управлять внешними ссылками в файлах Excel. Aspose.Cells делает эти задачи бесшовными, позволяя вам больше сосредоточиться на анализе и меньше на извлечении данных.

Часто задаваемые вопросы

Что такое Aspose.Cells?

Aspose.Cells — это надежная библиотека для создания, обработки и преобразования электронных таблиц Excel в приложениях .NET.

Как установить Aspose.Cells?

Вы можете скачать библиотеку с сайтаэта ссылка и следуйте инструкциям по установке, представленным на сайте.

Какие типы файлов Excel поддерживает Aspose.Cells?

Поддерживает широкий спектр форматов файлов, включая XLS, XLSX, CSV и другие.

Могу ли я получить внешние ссылки из именованного диапазона?

Да, вы можете использоватьGetReferredAreasметод для доступа к внешним ссылкам, связанным с именованным диапазоном.

Существует ли бесплатная пробная версия Aspose.Cells?

Да, вы можете начать сбесплатная пробная версия здесь.