Aspose.Cells for .NET 17.3.0 Примечания к выпуску

Ключ Резюме Категория
CELLSNET-45037 Поддержка настраиваемых меток итога и общего итога для сводных таблиц Новая особенность
CELLSNET-45156 Синхронизируйте пейджинг двух сеток (Aspose.Cells.GridWeb) Новая особенность
CELLSNET-45140 Проверять только обновленные ячейки и игнорировать проверку других ячеек (Aspose.Cells.GridWeb) Новая особенность
CELLSNET-45158 Изменение в сводном источнике данных добавляет дополнительный LinkSource Улучшение
CELLSNET-45168 Фигура немного перекошена/наклонена, а положение текста «1» изменено. Ошибка
CELLSNET-45163 Текст в фигуре инвертируется при рендеринге рабочего листа в изображение Ошибка
CELLSNET-45161 Угол изображения в электронной таблице немного отличается Ошибка
CELLSNET-45159 Объекты автофигур отображались неправильно Ошибка
CELLSNET-45138 PrintArea не может правильно преобразовывать изображения Ошибка
CELLSNET-45136 Ячейки поворачиваются, когда Excel преобразуется в PDF Ошибка
CELLSNET-45182 Результирующая электронная таблица не может быть загружена в Excel без исправления Ошибка
CELLSNET-45143 Aspose.Cells создает поврежденную сводную таблицу с фильтром отчета при сохранении в XLSB Ошибка
CELLSNET-45135 Изображения перекрываются при импорте HTML как XLSX Ошибка
CELLSNET-45134 Ширина столбцов теряется при импорте HTML как XLSX Ошибка
CELLSNET-45133 Стиль содержимого теряется при импорте HTML как XLSX Ошибка
CELLSNET-45132 WrapText, включенный в HTML, теряется при сохранении в формате XLSX. Ошибка
CELLSNET-45127 Стиль и размер шрифта изменены после импорта HTML как XLSX Ошибка
CELLSNET-45115 Обновление сводной таблицы после добавления некоторых данных создает поврежденный файл Excel Ошибка
CELLSNET-45109 Ошибка при обновлении сводной таблицы, сгруппированной по столбцу даты Ошибка
CELLSNET-45081 Функция меток слияния сводной таблицы не работает Ошибка
CELLSNET-45076 Выравнивание не работает, и текст выходит из ячейки в Excel до преобразования HTML Ошибка
CELLSNET-45057 Преобразование HTML в XLSX неверно. Ошибка
CELLSNET-45040 Некоторые элементы сводного поля отображаются как значения даты вместо Numbers. Ошибка
CELLSNET-40265 Проблема с культурой входных файлов Ошибка
CELLSNET-45142 Проблема с функцией ВПР при использовании внешнего диапазона Ошибка
CELLSNET-45150 Невозможно развернуть или свернуть последние строки рабочего листа Ошибка
CELLSNET-45139 Пейджинг не работает с двумя GridWeb на одной странице Ошибка
CELLSNET-45137 Сгруппированные строки или столбцы имеют проблемы в GridWeb при запуске в Internet Explorer 11. Ошибка
CELLSNET-45203 Символы перекрываются при рендеринге файла Excel в PDF Ошибка
CELLSNET-45196 Распечатка искажена при экспорте XPS Ошибка
CELLSNET-45187 Теги должны располагаться в порядке возрастания в соответствии со спецификацией TrueType. Ошибка
CELLSNET-45169 Предупреждение: максимальный размер области составляет 262144 байта, в SheetRender.ToImage на Mono. Ошибка
CELLSNET-45167 SheetRender.ToImage отображает искаженное и неполное содержимое на Mono. Ошибка
CELLSNET-45166 SheetRender.ToImage отображает только верхний и нижний колонтитулы страницы на Mono. Ошибка
CELLSNET-43732 Рендеринг в EMF и вставка в Word приводит к перекрытию текста в результирующем PDF. Ошибка
CELLSNET-45186 Диаграмма с областями не отображается при экспорте PDF Ошибка
CELLSNET-45178 Метки осей обрезаются при преобразовании диаграммы в изображение Ошибка
CELLSNET-45177 Метки осей отсутствуют при рендеринге диаграммы в изображение - II Ошибка
CELLSNET-45151 Диаграммы теряют все форматирование при отображении электронной таблицы на PDF Ошибка
CELLSNET-45147 Диаграмма отсутствует при рендеринге электронной таблицы на PDF Ошибка
CELLSNET-44998 Метки данных диаграммы меняются после преобразования электронной таблицы в PDF Ошибка
CELLSNET-44984 Линия тренда на второй диаграмме неправильно отображается в выходных данных PDF. Ошибка
CELLSNET-41539 Текст/изображение в виде зеленого эллипса неправильно отображается вокруг диаграммы в PDF. Ошибка
CELLSNET-45197 Range.MoveTo не перемещает проверку данных и условное форматирование. Ошибка
CELLSNET-45183 Атрибут «Заблокировано» элемента управления ActiveX (ComboBox) не изменяется. Ошибка
CELLSNET-45179 Установка CodeName в файле XLSX не работает нормально Ошибки
CELLSNET-45175 Форматирование изображения не работает для файлов XLSX Ошибка
CELLSNET-45174 Диапазон Print_Area прервался после DeleteRange Ошибка
CELLSNET-45173 XLSX файл поврежден после сохранения Ошибка
CELLSNET-45171 Перемещение диапазона приводит к тому, что внутренние диапазоны сокращаются до одной ячейки. Ошибка
CELLSNET-45162 График неправильно рассчитывается/обновляется после удаления диапазона Ошибка
CELLSNET-45155 Cells.InsertColumns/DeleteColumns вызывает “#REF” для ListObject/Table Ошибка
CELLSNET-45154 Перемещение диапазона не обновляет ссылки на другом листе Ошибка
CELLSNET-45145 Невозможно удалить объект CameraTool Ошибка
CELLSNET-45060 Настройки шрифта кнопки изменились после простой операции загрузки и сохранения Ошибка
CELLSNET-43722 Ошибка файла: данные могли быть потеряны, выброшены Excel при открытии XLS Ошибка
CELLSNET-45190 Исключение при вычислении формулы РАБДЕНЬ Исключение
CELLSNET-45199 Excel до PDF - Исключение индекса вне массива Исключение

Public API и обратно несовместимые изменения

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

Настройка параметров глобализации сводной таблицы

Используя последнюю версию 17.3.0 или более позднюю, разработчики могут настраивать параметры глобализации сводной таблицы в файле Excel. Они могут изменить сводную сумму, промежуточную сумму, общую сумму, все элементы, несколько элементов, метки столбцов, метки строк, текст пустых значений в соответствии с требованиями. Разработчики могут включить эту функцию в свои приложения .NET независимо от языка текста Excel. Это может быть арабский, хинди, польский и т. д. Все новые поддерживаемые методы перечислены ниже:

  1. Добавляет метод GlobalizationSettings.GetPivotTotalName() - Он получает имя метки «Итого» в сводной таблице. Разработчики могут переопределить этот метод, если сводная таблица содержит два или более сводных полей в области данных.
  2. Добавляет метод GlobalizationSettings.GetPivotGrandTotalName(). - Он получает имя метки «Общий итог» в сводной таблице.
  3. Добавляет метод GlobalizationSettings.GetMultipleItemsName() - Он получает имя метки «(Несколько элементов)» в сводной таблице.
  4. Добавляет метод GlobalizationSettings.GetAllName() - Он получает имя метки «(Все)» в сводной таблице.
  5. Добавляет GlobalizationSettings.GetColumnLablesName() метод — получает имя метки «Метки столбцов» в сводной таблице.
  6. Добавляет метод GlobalizationSettings.GetRowLablesName() - Он получает имя метки «Ярлыки строк» в сводной таблице.
  7. Добавляет метод GlobalizationSettings.GetEmptyDataName() - Он получает имя метки «(пусто)» в сводной таблице.
  8. Добавляет метод GlobalizationSettings.GetSubTotalName (PivotFieldSubtotalType subTotalType) - Он получает имя типа “PivotFieldSubtotalType” в сводной таблице.

В этом примере кода показано, как настроить параметры глобализации сводной таблицы. Он создает класс CustomPivotTableGlobalizationSettings, производный от базового класса GlobalizationSettings, и переопределяет все его необходимые методы. Эти методы возвращают настраиваемый текст для сводного итога, промежуточного итога, общего итога, всех элементов, нескольких элементов, меток столбцов, меток строк, пустых значений. Затем он присваивает объект этого класса свойству Workbook.GlobalizationSettings. Код загружает исходный файл Excel, содержащий сводную таблицу, обновляет и вычисляет ее данные и сохраняет их как выходной файл PDF. Разработчики также могут сохранять книгу в любом поддерживаемом формате.

.NET, C#

 //Load your excel file

Workbook wb = new Workbook("samplePivotTableGlobalizationSettings.xlsx");



//Setting Custom Pivot Table Globalization Settings

wb.Settings.GlobalizationSettings = new CustomPivotTableGlobalizationSettings();



//Hide first worksheet that contains the data of the pivot table

wb.Worksheets[0].IsVisible = false;



//Access second worksheet

Worksheet ws = wb.Worksheets[1];



//Access the pivot table, refresh and calculate its data

PivotTable pt = ws.PivotTables[0];

pt.RefreshDataFlag = true;

pt.RefreshData();

pt.CalculateData();

pt.RefreshDataFlag = false;



//Pdf save options - save entire worksheet on a single pdf page

PdfSaveOptions options = new PdfSaveOptions();

options.OnePagePerSheet = true;



//Save the output pdf 

wb.Save("outputPivotTableGlobalizationSettings.pdf", options);



// it derives a new class, called CustomPivotTableGlobalizationSettings, from the GlobalizationSettings class, as follows:

private class CustomPivotTableGlobalizationSettings : GlobalizationSettings

{

    //Gets the name of "Total" label in the PivotTable.

    //You need to override this method when the PivotTable contains two or more PivotFields in the data area.

    public override string GetPivotTotalName()

    {

        Debug.WriteLine("---------GetPivotTotalName-------------");

        return "AsposeGetPivotTotalName";

    }



    //Gets the name of "Grand Total" label in the PivotTable.

    public override string GetPivotGrandTotalName()

    {

        Debug.WriteLine("---------GetPivotGrandTotalName-------------");

        return "AsposeGetPivotGrandTotalName";

    }



    //Gets the name of "(Multiple Items)" label in the PivotTable.

    public override string GetMultipleItemsName()

    {

        Debug.WriteLine("---------GetMultipleItemsName-------------");

        return "AsposeGetMultipleItemsName";

    }



    //Gets the name of "(All)" label in the PivotTable.

    public override string GetAllName()

    {

        Debug.WriteLine("---------GetAllName-------------");

        return "AsposeGetAllName";

    }





    //Gets the name of "Column Labels" label in the PivotTable.

    public override string GetColumnLablesName()

    {

        Debug.WriteLine("---------GetColumnLablesName-------------");

        return "AsposeGetColumnLablesName";

    }



    //Gets the name of "Row Labels" label in the PivotTable.

    public override string GetRowLablesName()

    {

        Debug.WriteLine("---------GetRowLablesName-------------");

        return "AsposeGetRowLablesName";

    }



    //Gets the name of "(blank)" label in the PivotTable.

    public override string GetEmptyDataName()

    {

        Debug.WriteLine("---------GetEmptyDataName-------------");

        return "(blank)AsposeGetEmptyDataName";

    }



    //Gets the name of PivotFieldSubtotalType type in the PivotTable.

    public override string GetSubTotalName(PivotFieldSubtotalType subTotalType)

    {

        Debug.WriteLine("---------GetSubTotalName-------------");



        switch (subTotalType)

        {

            case PivotFieldSubtotalType.Sum:

                return "AsposeSum";//polish



            case PivotFieldSubtotalType.Count:

                return "AsposeCount";



            case PivotFieldSubtotalType.Average:

                return "AsposeAverage";



            case PivotFieldSubtotalType.Max:

                return "AsposeMax";



            case PivotFieldSubtotalType.Min:

                return "AsposeMin";



            case PivotFieldSubtotalType.Product:

                return "AsposeProduct";



            case PivotFieldSubtotalType.CountNums:

                return "AsposeCount";



            case PivotFieldSubtotalType.Stdev:

                return "AsposeStdDev";



            case PivotFieldSubtotalType.Stdevp:

                return "AsposeStdDevp";



            case PivotFieldSubtotalType.Var:

                return "AsposeVar";



            case PivotFieldSubtotalType.Varp:

                return "AsposeVarp";



        }



        return "AsposeSubTotalName";

    }

}//End CustomPivotTableGlobalizationSettings

Выполнение сценария на стороне клиента в событии изменения страницы элемента управления GridWeb

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

  1. Добавляет свойство OnPageChangeClientFunction в элемент управления GridWeb. - получает или устанавливает функцию скрипта на стороне клиента, которая будет вызываться при изменении индекса страницы. Он вступает в силу только в том случае, если EnablePaging имеет значение true.

В этом примере кода показано использование свойства OnPageChangeClientFunction. Он устанавливает свойство с помощью клиентской функции с именем MyOnPageChange. Теперь всякий раз, когда пользователь будет изменять страницу GridWeb, будет вызываться функция на стороне клиента MyOnPageChange, которая печатаетиндекс текущей страницынаприставка:

.NET, C#

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestGridWeb.aspx.cs" Inherits="TestGridWeb" %>



<%@ Register TagPrefix="acw" Namespace="Aspose.Cells.GridWeb" Assembly="Aspose.Cells.GridWeb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Test GridWeb</title>

    <script type="text/javascript">

        function MyOnPageChange(index) {

            console.log("current page is:" + index);

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

        <div>

            <div>

                <b>GridWeb Version:&nbsp </b>

                <asp:Label ID="lblVersion" runat="server" Text="Label"></asp:Label>

                <br />

            </div>

            <acw:GridWeb ID="GridWeb1"

            runat="server" XhtmlMode="True"

            Height="504px" Width="1119px" EnablePaging="true"

            OnPageChangeClientFunction ="MyOnPageChange">

            </acw:GridWeb>

        </div>

    </form>

</body>

</html>

//........................................................

// It is the client side function MyOnPageChange that will be executed because of setting OnPageChangeClientFunction ="MyOnPageChange"property in GridWeb.

function MyOnPageChange(index) {

    console.log("current page is:" + index);

}

Проверка всего листа Excel

По умолчанию GridWeb проверяет только обновленные ячейки и не проверяет весь лист Excel. Однако если разработчикам требуется проверить весь рабочий лист Excel на стороне клиента, прежде чем GridWeb отправит запрос на сервер, вам следует установить для переменной needValidateall внутри acwmain.js значение true.

Примеры использования

Пожалуйста, проверьте список разделов справки, добавленных в Aspose.Cells вики-документы:

  1. Настройка параметров глобализации для сводной таблицы
  2. Выполнение функции на стороне клиента при изменении страницы GridWeb
  3. Проверять весь рабочий лист, а не только обновленные ячейки