Aspose.Cells for .NET 17.3.0 Release Notes

Nyckel Sammanfattning Kategori
CELLSNET-45037 Stöd anpassade total- och totala etiketter för pivottabeller Ny funktion
CELLSNET-45156 Synkronisera personsökningen för de två rutnäten (Aspose.Cells.GridWeb) Ny funktion
CELLSNET-45140 Validera endast uppdaterade celler och ignorera validering av andra celler (Aspose.Cells.GridWeb) Ny funktion
CELLSNET-45158 Ändring i pivotdatakälla lägger till ytterligare LinkSource Förbättring
CELLSNET-45168 Formen är sned/lutad lite med dess text “1”-position ändrad Insekt
CELLSNET-45163 Text i en form inverteras medan kalkylblad renderas till bild Insekt
CELLSNET-45161 Vinkeln på bilden i kalkylbladet är något annorlunda Insekt
CELLSNET-45159 Autoformobjekt har renderats felaktigt Insekt
CELLSNET-45138 PrintArea lyckas inte omvandla bilder korrekt Insekt
CELLSNET-45136 Rutor roteras när Excel konverteras till PDF Insekt
CELLSNET-45182 Det resulterande kalkylbladet kan inte laddas i Excel utan reparation Insekt
CELLSNET-45143 Aspose.Cells producerar skadad pivottabell med rapportfilter när den sparas till XLSB Insekt
CELLSNET-45135 Bilder överlappar vid import av HTML som XLSX Insekt
CELLSNET-45134 Kolumnbredder går förlorade vid import av HTML som XLSX Insekt
CELLSNET-45133 Innehållsstil försvinner vid import av HTML som XLSX Insekt
CELLSNET-45132 WrapText aktiverad i HTML går förlorad när den sparas i XLSX-format Insekt
CELLSNET-45127 Teckensnittsstil och storlek ändras efter import av HTML som XLSX Insekt
CELLSNET-45115 Uppdatering av pivottabellen efter att ha lagt till några data genererar en korrupt Excel-fil Insekt
CELLSNET-45109 Fel i uppdateringen av pivottabellen grupperad efter kolumnen Datum Insekt
CELLSNET-45081 Pivottabellens funktion för sammanfogning av etiketter fungerar inte Insekt
CELLSNET-45076 Justering fungerar inte och text går ut ur cellen i Excel till HTML konvertering Insekt
CELLSNET-45057 Konverteringen av HTML till XLSX är inte korrekt Insekt
CELLSNET-45040 Vissa pivotfältsobjekt renderas som datumvärden istället för Numbers Insekt
CELLSNET-40265 Problem med kultur av indatafiler Insekt
CELLSNET-45142 Problem med VLOOKUP-funktionen när extern räckvidd används Insekt
CELLSNET-45150 Omöjligt att expandera eller komprimera de sista raderna i kalkylbladet Insekt
CELLSNET-45139 Personsökning fungerar inte med två GridWebs på en sida Insekt
CELLSNET-45137 Grupperade rader eller kolumner har problem i GridWeb när det körs på Internet Explorer 11 Insekt
CELLSNET-45203 Tecken överlappar när en Excel-fil renderas till PDF Insekt
CELLSNET-45196 Utskriften är förvanskad i exporterade XPS Insekt
CELLSNET-45187 Taggar bör vara i stigande ordning enligt TrueType-specifikationen Insekt
CELLSNET-45169 Varning: Maximal storlek för region är 262144 byte, på SheetRender.ToImage på Mono Insekt
CELLSNET-45167 SheetRender.ToImage gör innehållet förvrängt och ofullständigt på Mono Insekt
CELLSNET-45166 SheetRender.ToImage återger endast sidhuvudet och sidfoten på Mono Insekt
CELLSNET-43732 Att rendera till EMF och klistra in i Word gör att text överlappar i resulterande PDF Insekt
CELLSNET-45186 Ytdiagram visas inte på PDF export Insekt
CELLSNET-45178 Axeletiketter beskärs medan diagram renderas till bild Insekt
CELLSNET-45177 Axeletiketter saknas vid rendering av diagram till bild - II Insekt
CELLSNET-45151 Diagram förlorar all formatering när kalkylbladet renderas till PDF Insekt
CELLSNET-45147 Diagram saknas vid rendering av kalkylark till PDF Insekt
CELLSNET-44998 Diagrammets dataetiketter ändras efter konvertering av kalkylblad till PDF Insekt
CELLSNET-44984 Trendlinjen i det andra diagrammet återges inte korrekt i utgången PDF Insekt
CELLSNET-41539 Grön ellips ordkonst/bild är felaktigt återgiven runt diagrammet i PDF Insekt
CELLSNET-45197 Range.MoveTo flyttar inte datavalidering och villkorlig formatering Insekt
CELLSNET-45183 Attributet “Locked” för ActiveX-kontrollen (ComboBox) ändras inte Insekt
CELLSNET-45179 Att ställa in CodeName på filen XLSX fungerar inte bra Buggar
CELLSNET-45175 Bildformatering fungerar inte för XLSX-filer Insekt
CELLSNET-45174 Print_Area-intervallet bröts efter DeleteRange Insekt
CELLSNET-45173 XLSX-filen är skadad efter att ha sparats Insekt
CELLSNET-45171 Att flytta intervallet gör att de inre intervallen krymper till en cell långa Insekt
CELLSNET-45162 Diagrammet beräknas/uppdateras inte korrekt efter att ett intervall tagits bort Insekt
CELLSNET-45155 Cells.InsertColumns/DeleteColumns orsakar “#REF” för ListObject/Table Insekt
CELLSNET-45154 Att flytta intervallet uppdaterar inte referenserna på ett annat blad Insekt
CELLSNET-45145 Kan inte ta bort CameraTool-objekt Insekt
CELLSNET-45060 Buttons teckensnittsinställningar ändrades efter enkel laddning och lagring Insekt
CELLSNET-43722 Filfel: data kan ha gått förlorade, kastade av Excel när XLS öppnades Insekt
CELLSNET-45190 Undantag inträffade vid beräkning av formeln WORKDAY Undantag
CELLSNET-45199 Excel till PDF - Undantag för index utanför array Undantag

Offentlig API och bakåtinkompatibla ändringar

Följande är en lista över alla ändringar som gjorts för allmänheten API, såsom tillagda, bytt namn, borttagna eller utfasade medlemmar samt alla icke-bakåtkompatibla ändringar som gjorts till Aspose.Cells for .NET. Om du har frågor om någon ändring som anges, vänligen ta upp den på supportforumet Aspose.Cells.

Anpassa globaliseringsinställningarna för en pivottabell

Med den senaste versionen 17.3.0 eller senare kan utvecklare anpassa globaliseringsinställningarna för en pivottabell i en Excel-fil. De kan ändra pivotsumman, delsumman, totalsumman, alla artiklar, flera artiklar, kolumnetiketter, radetiketter, tomma värden enligt kraven. Utvecklare kan införliva den här funktionen i sina .NET-applikationer, oavsett Excel-textspråk. Det kan vara arabiska, hindi, polska, etc. Alla nya metoder som stöds listas nedan:

  1. Lägger till metoden GlobalizationSettings.GetPivotTotalName(). - Den får namnet “Total”-etiketten i pivottabellen. Utvecklare kan åsidosätta denna metod när pivottabellen innehåller två eller flera pivotfält i dataområdet.
  2. Lägger till metoden GlobalizationSettings.GetPivotGrandTotalName(). - Den får namnet “Grand Total”-etiketten i pivottabellen.
  3. Lägger till metoden GlobalizationSettings.GetMultipleItemsName(). - Den får namnet “(Flera artiklar)"-etiketten i pivottabellen.
  4. Lägger till metoden GlobalizationSettings.GetAllName(). - Den får namnet “(Alla)"-etiketten i pivottabellen.
  5. Lägger till GlobalizationSettings.GetColumnLablesName() metod - Den får namnet “kolumnetiketter” i pivottabellen.
  6. Lägger till metoden GlobalizationSettings.GetRowLablesName(). - Den får namnet “Row Labels”-etiketten i pivottabellen.
  7. Lägger till metoden GlobalizationSettings.GetEmptyDataName(). - Den får namnet “(tom)"-etikett i pivottabellen.
  8. Lägger till metoden GlobalizationSettings.GetSubTotalName(PivotFieldSubtotalType subTotalType) - Den får namnet på typen “PivotFieldSubtotalType” i pivottabellen.

Detta kodexempel utvecklar hur man anpassar globaliseringsinställningarna för en pivottabell. Den skapar en klass CustomPivotTableGlobalizationSettings härledd från en basklass GlobalizationSettings och åsidosätter alla nödvändiga metoder. Dessa metoder returnerar den anpassade texten för Pivot Summa, Sub Summa, Totalsumma, Alla artiklar, Flera artiklar, Kolumnetiketter, Radetiketter, Tomma värden. Sedan tilldelar den objektet för den här klassen till egenskapen Workbook.GlobalizationSettings. Koden laddar källexcelfilen som innehåller pivottabellen, uppdaterar och beräknar dess data och sparar den som en utdatafil PDF. Utvecklare kan också spara arbetsboken i valfritt format som stöds.

.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

Kör klientsideskriptet på Page Change Event of GridWeb Control

Genom att använda OnPageChangeClientFunction-egenskapen för GridWeb-kontroll kan utvecklare köra ett skript på klientsidan på sidändringshändelsen eftersom GridWeb-kontrollen kan hålla data på flera sidor. De kan behöva visa det aktuella sidindexet i sina webbapplikationer.

  1. Lägger till en OnPageChangeClientFunction-egenskap i GridWeb Control - den hämtar eller ställer in klientsidans skriptfunktion så att den anropas när sidindexet ändras. Det träder bara i kraft när EnablePaging är sant.

Det här kodexemplet visar användningen av egenskapen OnPageChangeClientFunction. Den ställer in egenskapen med klientsidans funktion som heter MyOnPageChange. Nu, närhelst användaren ändrar GridWeb-sidan, kommer den att anropa klientsidans funktion MyOnPageChange som skriver utaktuellt sidindextrösta:

.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);

}

Validera hela Excel-arbetsbladet

Som standard validerar GridWeb endast de uppdaterade cellerna och validerar inte hela Excel-kalkylbladet. Men om utvecklare kräver att validera hela Excel-arbetsbladet på klientsidan innan GridWeb skickar begäran till servern, bör du ställa in needValidateall-variabeln inuti acwmain.js till true.

Användningsexempel

Kontrollera listan med hjälpämnen som lagts till i Aspose.Cells Wiki-dokument:

  1. Anpassa globaliseringsinställningar för pivottabell
  2. Utför klientsidans funktion på GridWeb-sidaändring
  3. Validera hela kalkylbladet istället för bara de uppdaterade cellerna