Укажите совместимость файла Excel программным способом в .NET
Введение
В современном мире, управляемом данными, управление и манипулирование файлами Excel программным способом стало необходимым для многих разработчиков. Если вы работаете с Excel в .NET, Aspose.Cells — это мощная библиотека, которая упрощает создание, чтение, изменение и сохранение файлов Excel. Одна из важных функций этой библиотеки позволяет вам программно указывать совместимость файлов Excel. В этом руководстве мы рассмотрим, как манипулировать файлами Excel, уделяя особое внимание управлению совместимостью с помощью Aspose.Cells для .NET. К концу вы поймете, как устанавливать совместимость для файлов Excel, особенно для сводных таблиц, при обновлении и управлении данными.
Предпосылки
Прежде чем приступить к кодированию, убедитесь, что у вас есть следующее:
- Базовые знания C#: поскольку мы будем писать код на C#, знакомство с языком поможет вам лучше понять учебник.
- Библиотека Aspose.Cells для .NET: Вы можете загрузить ее с сайтаСтраница релизов Aspose CellsЕсли вы еще этого не сделали, рассмотрите возможность получения бесплатной пробной версии, чтобы сначала изучить ее возможности.
- Visual Studio: IDE, в которой вы можете эффективно писать и тестировать код C#.
- Образец файла 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
сорт.