Укажите совместимость файла Excel программным способом в .NET

Введение

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

Предпосылки

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

  1. Базовые знания C#: поскольку мы будем писать код на C#, знакомство с языком поможет вам лучше понять учебник.
  2. Библиотека Aspose.Cells для .NET: Вы можете загрузить ее с сайтаСтраница релизов Aspose CellsЕсли вы еще этого не сделали, рассмотрите возможность получения бесплатной пробной версии, чтобы сначала изучить ее возможности.
  3. Visual Studio: IDE, в которой вы можете эффективно писать и тестировать код C#.
  4. Образец файла Excel: Убедитесь, что у вас есть образец файла Excel, желательно содержащий сводную таблицу для демонстрации. Для нашего примера мы будем использоватьsample-pivot-table.xlsx.

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

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

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

Импорт пространства имен Aspose.Cells

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

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

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

Шаг 1: Настройте свой каталог

Первым делом настройте каталог, в котором находятся ваши файлы Excel. Важно указать правильный путь к файлу.

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

Здесь замените"Your Document Directory"с фактическим путем к вашим файлам Excel. Это то место, где должен находиться ваш файл образца сводной таблицы.

Шаг 2: Загрузите исходный файл Excel

Далее нам необходимо загрузить файл Excel, содержащий пример сводной таблицы.

// Загрузите исходный файл Excel, содержащий пример сводной таблицы
Workbook wb = new Workbook(dataDir + "sample-pivot-table.xlsx");

На этом этапе мы создаем экземплярWorkbook класс, который загружает указанный файл Excel.

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

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

// Доступ к первому листу, содержащему данные сводной таблицы.
Worksheet dataSheet = wb.Worksheets[0];

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

Шаг 4: Манипулирование данными ячеек

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

Шаг 4.1: Измените ячейку A3

Начнем с доступа к ячейке A3 и установки ее значения.

// Доступ к ячейке A3 и установка ее данных
Cells cells = dataSheet.Cells;
Cell cell = cells["A3"];
cell.PutValue("FooBar");

Этот фрагмент кода обновляет ячейку A3 значением «FooBar».

Шаг 4.2: Измените ячейку B3 с помощью длинной строки

Теперь давайте поместим в ячейку B3 длинную строку, которая превышает стандартные ограничения Excel на количество символов.

// Доступ к ячейке B3, установка ее данных
string longStr = "Very long text 1. very long text 2.... [continue your long string]";
cell = cells["B3"];
cell.PutValue(longStr);

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

Шаг 5: Проверьте длину ячейки B3.

Также важно подтвердить длину введенной нами строки.

// Распечатать длину строки ячейки B3
Console.WriteLine("Length of original data string: " + cell.StringValue.Length);

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

Шаг 6: Установите другие значения ячеек

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

// Доступ к ячейке C3 и установка ее данных
cell = cells["C3"];
cell.PutValue("closed");

// Доступ к ячейке D3 и установка ее данных
cell = cells["D3"];
cell.PutValue("2016/07/21");

Каждый из этих фрагментов обновляет несколько дополнительных ячеек на листе.

Шаг 7: Доступ к сводной таблице

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

//Доступ ко второму рабочему листу, содержащему сводную таблицу.
Worksheet pivotSheet = wb.Worksheets[1];

// Доступ к сводной таблице
PivotTable pivotTable = pivotSheet.PivotTables[0];

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

Шаг 8: Установите совместимость с Excel 2003

Крайне важно указать, совместима ли ваша сводная таблица с Excel 2003 или нет.

// Свойство IsExcel2003Compatible сообщает, совместима ли сводная таблица с Excel2003 при обновлении сводной таблицы.
pivotTable.IsExcel2003Compatible = true;
pivotTable.RefreshData();
pivotTable.CalculateData();

Вот где начинается настоящая трансформация. УстанавливаяIsExcel2003Compatible кtrue, вы ограничиваете длину символов до 255 при обновлении.

Шаг 9: Проверьте длину после настройки совместимости

После настройки совместимости посмотрим, как она повлияет на данные.

// Проверьте значение ячейки B5 сводной таблицы.
Cell b5 = pivotSheet.Cells["B5"];
Console.WriteLine("Length of cell B5 after setting IsExcel2003Compatible property to True: " + b5.StringValue.Length);

Скорее всего, вы увидите вывод, подтверждающий эффект усечения, если исходные данные превышают 255 символов.

Шаг 10: Измените настройки совместимости

Теперь давайте изменим настройки совместимости и проверим еще раз.

//Теперь установите для свойства IsExcel2003Compatible значение false и снова обновите страницу.
pivotTable.IsExcel2003Compatible = false;
pivotTable.RefreshData();
pivotTable.CalculateData();

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

Шаг 11: Еще раз проверьте длину

Давайте проверим, что данные теперь точно отражают его реальную длину.

// Теперь он напечатает исходную длину данных ячейки. Данные теперь не были усечены.
b5 = pivotSheet.Cells["B5"];
Console.WriteLine("Length of cell B5 after setting IsExcel2003Compatible property to False: " + b5.StringValue.Length);

Вы должны увидеть, что вывод подтверждает удаление усечения.

Шаг 12: Отформатируйте ячейки

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

// Установите высоту строки и ширину столбца ячейки B5, а также переносите ее текст
pivotSheet.Cells.SetRowHeight(b5.Row, 100);
pivotSheet.Cells.SetColumnWidth(b5.Column, 65);
Style st = b5.GetStyle();
st.IsTextWrapped = true;
b5.SetStyle(st);

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

Шаг 13: Сохраните рабочую книгу

Наконец, сохраните книгу с внесенными изменениями.

// Сохранить книгу в формате xlsx
wb.Save(dataDir + "SpecifyCompatibility_out.xlsx", SaveFormat.Xlsx);

Выбор подходящего формата файла имеет решающее значение при сохранении файлов Excel.XlsxФормат широко используется и совместим со многими версиями Excel.

Заключение

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

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

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

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

Почему важна совместимость с Excel?

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

Можно ли программно создавать сводные таблицы с помощью Aspose.Cells?

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

Как проверить длину строки в ячейке Excel?

Вы можете использоватьStringValue собственностьCell объект, чтобы получить содержимое ячейки, а затем вызвать.Length свойство для определения длины строки.

Можно ли настроить форматирование ячеек, выходящее за рамки высоты и ширины строки?

Конечно! Aspose.Cells позволяет расширенное форматирование ячеек. Вы можете изменить стили шрифтов, цвета, границы, форматы чисел и многое другое черезStyle сорт.