Изменение исходных данных сводной таблицы программным способом в .NET

Введение

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

Предпосылки

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

  1. Visual Studio: убедитесь, что у вас установлена копия Microsoft Visual Studio, так как мы будем писать код здесь.
  2. Библиотека Aspose.Cells: Вам понадобится загрузить библиотеку Aspose.Cells и указать ее в своем проекте. Вы можете загрузить еездесь.
  3. Базовые знания C#: хотя это руководство и упрощенное, понимание C# поможет вам лучше понять код.
  4. Файл Excel: у вас должен быть образец файла Excel (например, «Book1.xlsx»), содержащий сводную таблицу, которой мы можем управлять. Хорошо, проверив эти предварительные условия, мы можем приступить к импорту необходимых пакетов и написанию кода!

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

Сначала самое главное — импортируем нужные нам пакеты. Откройте свой проект C# в Visual Studio и добавьте следующие директивы using в начало файла кода:

using System.IO;
using Aspose.Cells;
using System.Drawing;

Эти пространства имен предоставят вам доступ к основным классам, необходимым для работы с файлами Excel и управления их содержимым с помощью Aspose.Cells.

Теперь давайте разобьем процесс на управляемые шаги. Мы пройдем через открытие файла Excel, изменение листа, изменение источника данных сводной таблицы и сохранение результатов.

Шаг 1: Определите каталог документов

Сначала вам нужно указать, где находится ваш файл Excel. ИзменитеdataDir переменную, указывающую на папку, содержащую ваш «Book1.xlsx».

// Путь к каталогу документов.
string dataDir = "Your Document Directory";

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

Шаг 2: Укажите путь ввода

Далее давайте создадим строку, указывающую полный путь к входному файлу Excel:

string InputPath = dataDir + "Book1.xlsx";

Это помогает оптимизировать доступ к файлам; вам не придется вводить один и тот же путь несколько раз в коде.

Шаг 3: Создание потока файлов

Теперь пора открыть файл Excel. Мы создадимFileStream которая позволяет вам прочитать содержимое файла Excel:

// Создание файлового потока, содержащего файл Excel, который необходимо открыть
FileStream fstream = new FileStream(InputPath, FileMode.Open);

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

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

После настройки потока файлов следующим шагом станет загрузка рабочей книги:

// Открытие файла Excel через файловый поток
Workbook workbook = new Workbook(fstream);

Эта команда берет ваш файл Excel и загружает его вWorkbook объект. После загрузки вы можете манипулировать файлом по мере необходимости.

Шаг 5: Доступ к рабочему листу

Пришло время погрузиться в детали. Мы получим доступ к первому рабочему листу в рабочей книге:

// Доступ к первому листу в файле Excel
Worksheet worksheet = workbook.Worksheets[0];

Это дает вам прямой доступ к данным на первом рабочем листе, что упрощает их изменение.

Шаг 6: Заполнение новых данных

Далее мы хотим вставить новые данные в ячейки. В этом примере мы добавим некоторые образцы данных:

// Заполнение ячеек рабочего листа новыми данными
worksheet.Cells["A9"].PutValue("Golf");
worksheet.Cells["B9"].PutValue("Qtr4");
worksheet.Cells["C9"].PutValue(7000);

Здесь мы вводим значения «Golf», «Qtr4» и7000 в определенные ячейки. Вы можете изменить эти значения на те, которые вам подходят.

Шаг 7: Измените именованный диапазон

Теперь изменим именованный диапазон, на который ссылается сводная таблица. Это включает в себя создание или обновление диапазона:

// Изменение именованного диапазона «DataSource»
Range range = worksheet.Cells.CreateRange(0,0,9,3);
range.Name = "DataSource";

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

Шаг 8: Сохраните измененный файл Excel.

После всех изменений крайне важно сохранить вашу работу! Давайте сохраним измененную книгу:

// Сохранение измененного файла Excel
workbook.Save(dataDir + "output.xls");

Эта команда сохраняет книгу в новом файле, поэтому вам не придется перезаписывать исходный файл, если вы этого не хотите!

Шаг 9: Закройте поток файлов

Наконец, необходимо закрыть файловый поток, чтобы освободить все используемые вами ресурсы:

// Закрытие потока файлов для освобождения всех ресурсов
fstream.Close();

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

Заключение

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

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

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

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

Могу ли я изменить исходные данные существующих сводных таблиц, используя этот метод?

Конечно! Этот метод позволяет обновить источник данных для существующих сводных таблиц в вашей книге Excel.

Нужно ли мне устанавливать Office для использования Aspose.Cells?

Нет! Aspose.Cells — это автономная библиотека, то есть для работы с файлами Excel вам не нужен установленный Microsoft Office.

Можно ли использовать Aspose.Cells бесплатно?

Aspose.Cells предлагает бесплатную пробную версию, но для полной функциональности вам придется приобрести лицензию. Подробности вы можете найтиздесь.

Где я могу найти больше примеров и поддержки?

Для получения дополнительных примеров и поддержки посетитеДокументация Aspose.Cells и их форум сообществаздесь.