Informacje o wydaniach HotXLS
Historia wersji dla widocznych dla użytkownika funkcji HotXLS, poprawek, ulepszeń XLS/XLSX, aktualizacji eksportu, zmian zgodności oraz aktualizacji dokumentacji
Ostatnie wydanie
- Najnowsza wersja: 2.384.120; Data wydania: 2026-10-09
Wersja 2.384.120
Dodano
- Przenośne przechwytywanie klasycznego XLS obsługuje zwykłe wykresy kolumnowe, słupkowe, liniowe, punktowe, kołowe, pierścieniowe i warstwowe o jednej serii — z walidowanymi lokalnie zapisanymi wartościami, podstawowym wyglądem oraz granicami obszaru kreślenia, tytułu i legendy zadeklarowanymi przez wywołującego
- Deklaracje wyglądu wykresu w trybie tylko do odczytu zachowują tożsamości arkusza i wykresu, jawne wymiary ramki, efektywne rozmiary punktów legendy i natywną geometrię czcionki — na potrzeby niezależnego wyjścia PDF, SVG i PNG
- Ograniczone funkcje pomocnicze badają proste zapisane odwołania formuł i zbuforowane komórki wykresu bez liczenia formuł ani rozszerzania rzadkich komórek
Naprawiono
- Przechwytywanie klasycznych wykresów zachowuje ułamkowe zapisane rozmiary czcionek i znaczników, własność źródła oraz dzierżawy odczytu, a przed wygenerowaniem wyjścia odrzuca uszkodzone rekordy, nierozstrzygnięty wygląd i wyczerpane budżety zasobów
- Aktualizacje właściwości wykresu przechowujących wartości double odrzucają wartości niebędące liczbami skończonymi, zanim dojdzie do porównania czy modyfikacji
- Powtórna natywna inicjalizacja komórek w wariancie przenośnym zwalnia wcześniej zarządzane ciągi w trakcie przechwytywania
Wersja 2.384.119
Naprawiono
- Inspekcja klasycznych wykresów waliduje zapisany tekst serii, nazwy linii trendu i separatory etykiet danych, zanim zastosuje stan typowany, a gdy uszkodzony tekst rzuci błąd, zwalnia częściowe modele
- Skompresowane separatory etykiet danych Unicode zachowują swoje kompletne zapisane znaki
Wersja 2.384.118
Dodano
- Inspekcja klasycznych wykresów udostępnia średnice znaczników w punktach, łącznie z rozmiarami ułamkowymi, przy zachowaniu oryginalnych zapisanych jednostek
Naprawiono
- Obsługiwane natywne tabele wypełnień klasycznych wykresów dekodują właściwości po złożonych wpisach, a uszkodzone tabele zachowują poprzednie typowane wypełnienie
Wersja 2.384.117
Dodano
- Jawne funkcje pomocnicze kodowania bajtowego zachowują osadzone znaki null i odrzucają tekst, którego wybrana strona kodowa nie potrafi zapisać
Zmieniono
- Tekst, formuły i metadane skoroszytu w klasycznym BIFF5 używają zadeklarowanego kodowania na Windows, Linux i macOS, z długościami w zakodowanych bajtach i granicami kompletnych znaków
- Obsługiwany starszy tekst wykresów zachowuje swoje pierwotne dekodowanie po zmianach strony kodowej i kopiowaniu, a przed zapisem w innym kodowaniu jest jawnie transkodowany
Naprawiono
- Skompresowany Unicode w BIFF8 zachowuje dokładne jednostki kodowe, a starsze style niestandardowe, tekst wykresów i kontynuacje cache formuł dwubajtowych używają swoich rzeczywistych układów rekordów
- Natywne obliczenia tekstu Unicode, kryteria, klucze wyszukiwania, lokalne powiązania formuł oraz klasyczne wyszukiwanie i zamiana zachowują obsługiwane dopasowanie wielkości liter
- Wyszukiwanie stylów nazwanych rozwiązuje pierwszy zapisany wpis zamiast traktować go jako nieistniejącą nazwę
- Powtórzone odczyty wpisów ZIP zwalniają wcześniejsze metadane nagłówka, zachowując przy tym współbieżne zachowanie strumieni przechowywanych i deflate
Wersja 2.384.116
Dodano
- Lokalne pola obliczeniowe SUM w tabelach przestawnych wyliczają formuły z sum kontekstowych: liści, sum częściowych i sumy całkowitej — w tym z zależności nieobecnych wśród wyświetlanych miar
- Elementy obliczeniowe należące do pamięci podręcznej zachowują natywne tożsamości elementów, ukryte zależności i globalną kolejność rozwiązywania w obsługiwanych niepogrupowanych polach o elementach tekstowych
- Obsługiwane obliczenia wyświetlania elementów obliczeniowych i filtry agregujące zachowują kolejność widocznych elementów, pierwotną kolejność filtrów i jednoznaczne tożsamości wyświetlanych miar
Naprawiono
- Natywne rzutowanie dat w formułach przestawnych zachowuje system dat skoroszytu przez import pamięci podręcznej, klonowanie i obliczenia
- Czyszczenie pamięci podręcznej z brakujących elementów zachowuje zwalidowaną własność zmaterializowanych raportów w obu systemach dat skoroszytu i w starszych zapisanych raportach
- Nieobsługiwane metadane pól obliczeniowych przestawnych i edytowane natywne wyjście są odrzucane, zanim zmiany trafią do wyników arkusza
Wersja 2.384.115
Dodano
- Przenośne natywne wyjście PDF, SVG i PNG obsługuje tekst sformatowany, modelowane kształty, zwykłe obrazy, obrazy w komórkach, pola wyboru Boolean oraz siedem obsługiwanych rodzin zbuforowanych wykresów XLSX
- Niezmiennne plany wydruku skoroszytu stosują na Linux i macOS kompletne obszary wydruku, powtarzane tytuły wierszy i kolumn, podziały stron, ustawienia papieru, marginesy, orientację, wyśrodkowanie, skalowanie i kolejność stron
- Jawna natywna geometria czcionek obsługuje przechwytywanie z kontrolą generowania bez zmiany dostawcy geometrii skoroszytu
Naprawiono
- Tryb dopasowania do strony przeżywa round-trip skoroszytu i ignoruje nieaktualne skalowanie procentowe, w tym nieograniczone wymiary dopasowania
- Obsługiwane czcionki tytułów wykresów, wygląd linii oraz wypełnienia i obramowania znaczników zachowują jawne wartości zaimportowane i ustawione przez kod, w tym kolor czarny
- Tekst sformatowany zachowuje jawne nadpisania na fałsz i rozróżnia efektywny wygląd segmentów przy ponownym użyciu ciągu oraz porównaniu semantycznym
Wersja 2.384.114
Dodano
- Aplikacje natywne na Linux x64 i macOS ARM64 wczytują, edytują, liczą i zapisują klasyczne skoroszyty BIFF8, w tym obsługiwane właściwości dokumentu i szyfrowanie RC4
- Przenośny magazyn złożony (compound storage) obsługuje zagnieżdżone zakresy przechowywania, duże łańcuchowo łączone kontenery DIFAT, metadane i jawną własność natywnego interfejsu magazynu
Naprawiono
- Skoroszyty 128-bitowe CryptoAPI deklarują kompatybilnego dostawcę kryptograficznego i zachowują czytelne niezaszyfrowane właściwości dokumentu
- Natywne znaczniki czasu dokumentu używają poprawnej epoki FILETIME i zachowują wartości UTC między platformami
- Klasyczne nazwy zdefiniowane współdzielą kanoniczną tożsamość Unicode między wyszukiwaniem w zakresie nazwy, formułami i ponownym otwarciem skoroszytu
- Separatory formatu daty zapisane sekwencjami ucieczki i osadzone literały w cudzysłowach zachowują wybrany, kompletny format daty
Wersja 2.384.113
Dodano
- Czyszczenie zakresu i wklejanie tekstu Unicode obsługują ograniczone, atomowe cofanie i ponawianie z kontrolą wstępną ochrony i struktury
- Typowane lokalne obrazy w komórkach i formaty Checkbox obsługują round-trip XLSX, metadane dostępności oraz edycje zawartości świadome własności
- Rzadkie formaty Checkbox dla całych wierszy i kolumn zachowują pierwszeństwo, jawne zerowania i nieobecne komórki przez edycje i round-trip XLSX
- Rozszerzona obsługa XLSB obejmuje formuły i ich cache, nazwy, scalenia, hiperłącza, okienka, tabele i filtry
- Natywne API skoroszytów na Linux x64 i macOS ARM64 wczytuje, edytuje, liczy i zapisuje obsługiwane pliki XLSX, XLSB i ODS
- Natywne wyjście przestawne obsługuje grupowanie liczbowe, datowe i ręczne oraz wszystkie jedenaście niestandardowych funkcji sum częściowych
Naprawiono
- Nazwy o zakresie ważności używają spójnej normalizacji Unicode i dopasowania wielkości liter na Windows, Linux i macOS, bez wyrzucania znaków diakrytycznych ani symboli
- Nowoczesne formuły agregujące kompilują się spójnie pod Free Pascal na Windows
- Otwarcie innego skoroszytu zastępuje style nazwane, zamiast trzymać definicje stylów z poprzedniego pliku
- Nowoczesna zawartość obrazów i kontrolek przeżywa cofanie zakresu i zapis bez materializowania nieobecnych komórek
- Zaimportowane cache formuł zachowują pierwotne metadane wartości, a zwykłe metadane są odróżniane od zawartości obrazów w komórkach
- Porównanie semantyczne rozróżnia lokalną zawartość obrazów, metadane dostępności i efektywne odziedziczone formaty kontrolek przy ograniczonym, rzadkim przechodzeniu drzewa
Wersja 2.384.112
Dodano
- Testowanie, wyciąganie i zamiana wyrażeniami regularnymi obsługują tekst UTF-16, grupy przechwytujące, broadcasting tablic i ograniczoną ewaluację na Windows, Linux x64 i macOS ARM64
- GROUPBY i PIVOTBY obsługują agregujące callbacki o zakresie, wiele miar, nagłówki, filtry, sumy hierarchiczne, sortowanie i procenty względne
Naprawiono
- Skalarne argumenty SUM zachowują koercję wartości Boolean i tekstu liczbowego, a agregacja po zakresach i tablicach trzyma swoje dotychczasowe reguły ignorowania
- Literały Boolean o zakresie i formuły callbacków agregujących przeżywają zapis funkcji przyszłych i ponowne otwarcie skoroszytu
Wersja 2.384.111
Dodano
- Natywne lokalne wyjście przestawne obsługuje różnice i procenty względem elementu bazowego, sumy narastające, procenty wiersza i kolumny, indeks, procenty względem elementu nadrzędnego, skumulowane procenty i gęste rankingi
Naprawiono
- Obliczenia wyświetlania zachowują natywną semantykę sum, brakujących wartości, dzielnika zero i posortowanych elementów, w tym średnie nieaddytywne
- Rozszerzone tryby wyświetlania i tożsamości pól bazowych przeżywają zapis, ponowne otwarcie i jawne odświeżenie w Excelu
Wersja 2.384.110
Dodano
- Natywne lokalne wyjście przestawne obsługuje układy kompaktowy, tabelaryczny i konspektowy, powtarzane etykiety przodków, domyślne rozmieszczenie sum częściowych i wiele miar na każdej z osi danych
Naprawiono
- Ustawienia powtarzania etykiet przeżywają zaimportowane aliasy przestrzeni nazw oraz cykl zapis/otwarcie, a natywne wyjście odróżnia nieobecne przecięcia od zera liczbowego
- Etapowane metadane układu utrzymują spójność podpisów pól i danych, gdy Excel jawnie odświeża wygenerowane raporty
Wersja 2.384.109
Dodano
- Porównywanie skoroszytów rozróżnia wartości typowane i dokładne duże liczby całkowite, obsługuje skończone tolerancje liczbowe oraz opcjonalne porównanie zapisanych cache formuł, stylów i geometrii
- Ograniczone porównanie semantyczne obejmuje obsługiwane nazwy, reguły, tabele, kolejność rysowania, regiony stylów pustych, efektywne segmenty tekstu sformatowanego, lokalne modele przestawne, zaznaczenia slicerów i stan Timeline
Zmieniono
- Porównanie zachowuje spakowane i nieobecne komórki, rozwiązuje tożsamości zasobów do efektywnych wartości i przy nieobsługiwanych modelach albo wyczerpaniu zasobów zatrzymuje poprzedni udany wynik
Naprawiono
- Walidacja precyzji typowanych parametrów REAL bazy danych kompiluje się pod Delphi XE5, zachowując kontrole dokładnej wartości, przepełnienia i wartości null
Wersja 2.384.108
Dodano
- Round-trip ODS zachowuje zwykły tekst notatek i autorów, dające się zapisać filtry wartości i niestandardowe, jawną ochronę komórek oraz równoważną ochronę arkusza bez hasła
- Raporty konwersji zachowują dokładne informacje o stratach metadanych przez kopie arkuszy i późniejsze zapisy, w tym nieobsługiwane wyrażenia filtrów i nieodpowiedniki ochrony
Naprawiono
- Anulowane lub nieudane zapisy strumieniowe ODS zachowują bajty, rozmiar i pozycję celu dzięki ograniczonej, etapowanej pracy na plikach tymczasowych
- Udane zapisy ODS startujące od niezerowej pozycji strumienia zachowują prefiks i poprawne przesunięcia wpisów ZIP
Wersja 2.384.107
Dodano
- Inspekcja zapisanych formuł i agregaty przestawne świadome odwołań działają w klasycznym XLS, XLSX oraz kontekstach tylko do odczytu i izolowanej ewaluacji — w tym z dostępnymi wynikami tablicowymi i typowanymi błędami
- Zapytania agregujące przestawne respektują modelowane widoczne elementy, filtry raportu i obsługiwane sumy częściowe dzięki ograniczonej ewaluacji na odłączonym cache — bez odświeżania danych źródłowych
Naprawiono
- Natywne pamięci podręczne przestawne w XLS Excela zachowują kolejne wartości liczbowe zapisane inline i bieżące metadane ważności cache, zamiast zwracać błędne sumy powtórzonych wartości
- Odwołania przestawne obejmują modelowany obszar filtru raportu nad lokalizacją tabeli głównej
Wersja 2.384.106
Dodano
- Automatyczne zapytania bazodanowe wiążą typowane parametry literałów i zapisanych komórek w kolejności pozycyjnej, zachowując Unicode, pusty tekst, zero, Boolean, daty i wartości null — bez podstawiania wartości do tekstu SQL
- Parametry komórkowe czytają dostępne cache formuł i zwarte zapisane wartości bez przeliczania ani materializowania, z ograniczoną walidacją metadanych i transakcyjnym zastosowaniem wyniku
Naprawiono
- Parametry dat w Jet i ACE zachowują wartości DATE, TIME i TIMESTAMP dzięki typowanym powiązaniom OLE DATE, niezależnie od zależnych od lokalizacji rzutowań znaczników czasu
Wersja 2.384.105
Dodano
- Metadane formuł odczytują w kontekstach ewaluacji XLS i XLSX rzeczywistą tożsamość wskazywanego pliku, obsługiwane podstawowe formaty liczbowe, kolory ujemne, nawiasy dodatnie, wyrównanie tekstu, stan blokady, szerokość kolumny i tryb obliczeń
- Odłączona inspekcja stylów bazowych i rzadkiego śladu osi zachowuje zapisane i spakowane komórki, domyślne ustawienia arkusza, kolory motywu oraz pożyczoną własność skoroszytu
Zmieniono
- Metadane szerokości kolumny zwracają zaokrągloną szerokość w znakach i flagę domyślnej szerokości jako tablicę dwukolumnową; niedostępne informacje o środowisku aplikacji Excel i formaty nie dające się sklasyfikować zgłaszają jawne błędy
Wersja 2.384.104
Dodano
- Walidacja importu obsługuje ścisłe typy skalarne, granice liczbowe i datowe, jawne systemy dat Excela, złożoną unikalność i relacje między kolumnami
- Ustrukturyzowane naruszenia wskazują arkusz, komórkę, regułę, powiązaną kolumnę i pierwszy zduplikowany wiersz, a walidacja zapisanych wartości zachowuje spakowane komórki i zgłasza niedostępne cache formuł bez niejawnego przeliczania
Wersja 2.384.103
Dodano
- Automatyczne zapytania tekstowe odświeżają pliki o stałej szerokości przy użyciu zadeklarowanych początków pól, obsługiwanych kodowań znaków, typowanej konwersji pól, pomijanych pól oraz wyboru nagłówka lub pierwszego wiersza
- Odświeżanie plików o stałej szerokości zachowuje literałowe cudzysłowy, przystrzyga wypełnienie pól i odrzuca nieprawidłowe granice, przesadnie duże dane oraz anulowanie, zanim zmiany trafią do arkusza
Wersja 2.384.102
Zmieniono
- Audyty symboli klasycznych formuł skanują szybciej, zachowując wyniki dla funkcji i nazw, deduplikację bez rozróżniania wielkości liter, zakresy i kolejność znalezisk
Naprawiono
- Zapisy skoroszytów na Windows, bezpośrednie łatanie pakietu, wyjście PDF i wyjście do obrazów stron potrafią atomowo podmienić istniejący plik trzymany przez metadane delete-sharing albo uchwyty czytników na obsługiwanych systemach plików, zachowując przy tym kontrole blokad, ochronę przed zapisem i starszą ścieżkę na systemach nieobsługiwanych
Wersja 2.384.101
Dodano
- Tablice selektorów obszarów w INDEX broadcastują z selektorami wierszy i kolumn po tablicach obliczonych i obsługiwanych uniah odwołań w obrębie jednego arkusza, zachowując orientację, typy wybranych wartości i pojedyncze błędy
- Nazwy zdefiniowane i powiązania LET zachowują obsługiwaną tożsamość odwołań wieloobszarowych, a skalarne CHOOSE zachowuje wybrane odwołanie dla dalszych obliczeń
Naprawiono
- INDEX przyjmuje jawny argument obszaru równy 1 dla źródeł obliczonych i rozróżnia selektory obszarów nieprawidłowe, brakujące, ułamkowe i poza zakresem
- Unie między arkuszami i unie tablic obliczonych kończą się błędem zgodnie ze swoim obsługiwanym kontraktem, zamiast nabierać nieprawidłowej tożsamości odwołania
- Nieprawidłowe odwołania kwalifikowane istniejącymi lokalnymi arkuszami zachowują swoje błędy odwołań w bezpośrednich formułach i nazwach zdefiniowanych, także przy nazwach arkuszy w cudzysłowach — bez zmieniania tekstów formuł i bez interpretowania nieznanych kwalifikatorów jako arkuszy lokalnych
Wersja 2.384.100
Dodano
- Wyjście PDF, SVG i PNG headless w wariancie przenośnym na Linux, z jawnymi plikami czcionek, natywnym kształtowaniem tekstu, ograniczonymi zasobami i etapowaną publikacją pliku z wyłącznym dostępem
- Przechwytywanie tylko do odczytu na Windows obsługiwanych prostokątów klasycznych XLS i XLSX do niezmiennych, przenośnych migawek — wraz z zapisanymi wynikami formuł, tabelami (Table) i wyglądem warunkowym w zakresie, wymiarami fizycznymi oraz pełnymi scaleniami
Naprawiono
- Walidacja wyglądu w wariancie przenośnym spójnie odrzuca nieprawidłowe reprezentacje enum w różnych zoptymalizowanych kompilacjach
Wersja 2.384.99
Dodano
- Jawne automatyczne odświeżanie zapytań dla obsługiwanych połączeń Windows Text, ADO, ODBC i Web, z rejestracją własnych dostawców i ograniczonymi wynikami
Naprawiono
- Natywne relacje wyników zapytań i tożsamości kolumn przetrwają obsługiwany zapis i ponowne otwarcie — zarówno przy tabelach jako nośniku, jak i samodzielnie
- Nieprawidłowe rodzaje połączeń dostawcy są odrzucane przed wysłaniem, bez zmieniania wyników arkusza
Wersja 2.384.98
Dodano
- Lokalne tworzenie Timeline dla tabel przestawnych, połączenia współdzielonych widoków, filtrowanie całych dni włącznie oraz zabezpieczone usuwanie — czyszczące zaznaczenie albo je zachowujące
- Jawne natywne odświeżanie elementów bez danych slicera we wszystkich połączonych widokach, z kumulatywnymi limitami zasobów, anulowaniem oraz zachowaniem zaznaczenia i tożsamości elementów
Naprawiono
- Natywna obsługa relacji Timeline i własności filtrów zachowuje obsługiwane zaimportowane zaznaczenia przez materializację, zapis i ponowne otwarcie
- Ustawienia filtrów krzyżowych slicerów przestawnych przetrwają dzięki swojej natywnej reprezentacji tabelarycznej
- Wykrywanie Timeline zachowuje dekodowanie UTF-16 skoroszytu i powiązanych części podczas ładowania Open XML
Wersja 2.384.97
Dodano
- Skalarne i tablicowo obliczone nazwy zdefiniowane w obsługiwanych obliczeniach agregujących liczbowych i zliczających, z natywną koercją, śledzeniem zależności i limitami zasobów
Naprawiono
- Agregacja liczbowa propaguje typowane błędy z lokalnych odwołań arkuszowych, puste średnie zwracają błędy dzielenia przez zero, a nieudane odwołania nazwane zachowują swoje błędy bez restartowania częściowego przejścia
Wersja 2.384.96
Dodano
- Argumenty tablicowe (obliczane) dla łączenia tekstu oraz obsługiwanych obliczeń mediany, statystyk kolejności, percentyli, kwartyli, rangi procentowej, wielokrotnej dominanty i kowariancji populacyjnej
Zmieniono
- Zbieranie tablic i odwołań zachowuje natywną koercję skalarną, typowane błędy, pierwotne parowanie kowariancji i limity zasobów obliczeń
Naprawiono
- Skończone obliczenie środka mediany unika przepełnienia przy tych samych znakach, a percentyle wyłączne akceptują poprawne rangi końcowe i pojedyncze
Wersja 2.384.95
Dodano
- Transakcyjne natywne wyjście raportu przestawnego w układzie kompaktowym, z zsynchronizowanymi wartościami arkusza, metadanymi układu i trwałą własnością komórek
- Dostępność elementów slicera w trybie tylko do odczytu we wszystkich połączonych widokach przy innych aktywnych filtrach
- Jawne czyszczenie historycznych elementów pamięci podręcznej przestawnej z konfigurowalnym czasem przechowywania i skoordynowanym przemapsowaniem powiązanych zaznaczeń
Zmieniono
- Obsługiwane natywne wyjście przestawne zachowuje bieżące filtry ręczne i podpisy, odrzucając nieobsługiwane układy albo edytowane własne komórki, zanim cokolwiek zmieni
Wersja 2.384.94
Dodano
- Widoki PivotTable ze współdzielonym cache i lokalne tworzenie slicerów przestawnych z jawnymi granicami arkusza
- Transakcyjne usuwanie slicera, które albo czyści jego ograniczenie, albo zachowuje zaznaczenie jako zwykłe filtry przestawne — łącznie z polityką wobec przyszłych elementów
- Deterministyczna przebudowa grupowanych pamięci podręcznych — liczbowych, datowych i dyskretnych — ze stabilnymi tożsamościami elementów
- Odłączone podglądy natywnych metadanych kompaktowego układu przestawnego, z użyciem dokładnych tożsamości elementów i agregatów
Naprawiono
- Ponowne otwarcie wypełnionego skoroszytu zastępuje teraz wcześniejsze typowane pamięci podręczne przestawne, a utworzone w kodzie natywne linki slicerów pozostają rozpoznawane przez Excela
- Serializacja grupowanego cache zachowuje zadeklarowane natywne domeny elementów oraz oficjalne atrybuty sumy całkowitej i osi danych
Wersja 2.384.93
Dodano
- Zwalidowany czytnik i moduł zapisu XLSB dla typowanych wartości komórek, podstawowych stylów, zwykłych widoków arkusza i wymiarów
- Jawne wyjście binarne przy zapisie skoroszytu do pliku i strumienia, z automatycznym wykrywaniem danych binarnych na wejściu i raportami wierności konwersji
Zmieniono
- Konwersja XLSB etapuje kompletne pakiety i odrzuca nieobsługiwane funkcje albo ustawienia obliczeń przed wyjściem — także przy zapisach bez kontroli albo z dozwolonymi stratami
Naprawiono
- Skonfigurowane poziomy kompresji ZIP są stosowane przed inicjalizacją deflatera
Wersja 2.384.92
Dodano
- Transakcyjne odświeżanie pamięci podręcznej przestawnej i bezpieczna materializacja arkusza dla obsługiwanych lokalnych źródeł typu nazwa zdefiniowana i tabela
- Wyszukiwanie nazw zdefiniowanych w zakresie arkusza oraz granice źródła rozwiązywane przez wywołującego przy odświeżaniu cache
Naprawiono
- Tożsamość lokalnego źródła i zakres nazw zdefiniowanych przetrwają przenoszenie i zmiany nazw arkuszy, w tym nazwy w cudzysłowach i Unicode
- XML formuł nazw zdefiniowanych pomija opcjonalny wiodący znak równości, wymagany wyłącznie przez składnię formuł w pamięci
- Przynależność wiersza sum tabeli podąża za rzeczywistą liczbą wiersza sum, zachowując wszystkie wiersze danych, gdy obecna jest tylko podpowiedź UI wiersza sum
Wersja 2.384.91
Dodano
- Wejścia tablicowe (obliczane) i typowane wyniki dla transpozycji, mnożenia macierzy, wyznaczników i odwracania macierzy
- Uporządkowane wektory selektorów, duplikaty i ujemne indeksy przy wyborze wierszy i kolumn
- Obliczane wektory wyszukiwania i żądania wyszukiwania o wartościach tablicowych, w tym kompletne skalarne wycinki wyszukiwania i typowane wartości awaryjne
Zmieniono
- Praca na macierzach, skanowanie wyszukiwania, przechodzenie selektorów, kopiowanie i uzupełnianie respektują limity kroków ewaluacji i pamięci tablic na każdym poziomie kompozycji
Naprawiono
- Cache tekstu formuł i wyników tablicowych wyświetlają się w Excelu poprawnie przed przeliczeniem
- Cache nowoczesnych błędów rozszerzonych zawierają wersję skoroszytu i deklaracje funkcji obliczeniowych wymagane do natywnego wyświetlania z cache
- Opcje wyszukiwania i spłaszczania odrzucają wartości poza zakresem przed zawężaniem liczbowym, a opcje ułamkowe podlegają natywnemu obcinaniu
- Puste wyniki TAKE, DROP i spłaszczania zachowują swoje typowane błędy obliczeń
Wersja 2.384.90
Dodano
- Izolowane podglądy wyników przestawnych zachowują współdzielone zaznaczenia slicerów i filtry wywołującego, nie ruszając żywego, liczonego cache
- Bezpieczna materializacja arkusza dla obsługiwanych lokalnych źródeł przestawnych etapuje wyniki, odrzuca konfliktową zawartość i struktury oraz zachowuje istniejące obiekty komórek, formatowanie i komentarze
- Dokładna własność wartości typowanych przetrwa zapis i ponowne otwarcie XLSX, co umożliwia bezpieczne zmiany rozmiaru i przenoszenie wyników oraz jawne przejmowanie istniejących skalarnych wartości przestawnych
Naprawiono
- Usunięcie ostatniego powiązanego widoku slicera przestawnego kończy się odmową, zanim zniknęłyby jego rysunek, cache, zarezerwowana nazwa albo zaznaczenie
- Czyszczenie widoków slicerów waliduje każdy dotknięty cache przed modyfikacją i sprząta dozwolone widoki, rysunki i niepowiązane cache razem
Wersja 2.384.89
Dodano
- INDEX przyjmuje selektory wierszy i kolumn o wartościach tablicowych po tablicach obliczonych i zakresach arkusza — łącznie z parami wyborów i iloczynami krzyżowymi wiersz-kolumna
Naprawiono
- Wyniki selektorów zachowują wartości i błędy wraz z typami, uzupełniają brakujące pozycje selektorów wartością #N/A i respektują limity pamięci obliczeń oraz kroków ewaluacji
- Ułamkowe skalarne selektory obcinane do zera dają pełne rozlania wiersza lub kolumny, a selektory ujemne zwracają #VALUE! przed obcięciem
- Skalarne wybory zakresów zachowują zachowanie odwołań, a rozlania selektorów dochodzą do siebie po usunięciu przeszkód, zmieniają rozmiar i przeliczają się po zapisie i ponownym otwarciu
Wersja 2.384.88
Dodano
- Typowana inspekcja elementów, wybór elementów współdzielonych i czyszczenie dla obsługiwanych, zaimportowanych nie-OLAP pamięci podręcznych slicerów przestawnych
- Obliczenia połączonego PivotTable przecinają zaznaczenia slicerów z niezależnymi ograniczeniami na innych polach oraz z filtrami rekordów podanymi przez wywołującego
Zmieniono
- Zmiany zaznaczenia walidują każde połączenie i element przed zatwierdzeniem, odrzucają wieloznaczne zaimportowane maski w obrębie tego samego pola i zachowują nieobsługiwane reprezentacje cache
- Zmiany kolekcji cache slicerów respektują ochronę przed zapisem skoroszytu, gdy dotykają połączonych obliczeń PivotTable
- Usuwanie powiązanych nie-OLAP pamięci podręcznych slicerów przestawnych jest odrzucane atomowo, by zachować spójny stan filtrów w pamięci i w zapisanym pliku
Naprawiono
- Edytowane zaznaczenia slicerów przestawnych i maski elementów połączonych widoków zapisują się razem, zachowując zaimportowane przestrzenie nazw i nieznane rozszerzenia
- Obsługiwane połączenia slicerów podążają za zapisanymi tożsamościami arkuszy i rozwiązują rozszerzone identyfikatory cache niezależnie od zwykłych identyfikatorów cache skoroszytu
- Zaimportowane definicje PivotTable pozostają powiązane ze swoimi pierwotnymi widokami po zmianie kolejności arkuszy
Wersja 2.384.87
Zmieniono
- Lokalne odświeżanie prostokątnego cache przestawnego zachowuje istniejące tożsamości pól i elementów, dodaje nowe typowane elementy na końcu i utrzymuje filtry oraz zaznaczenia współdzielonych widoków związane z pierwotnymi elementami po zmianie kolejności źródła, usunięciu albo ponownym wprowadzeniu elementów
- Nagłówki źródła dopasowują się do pól bazy po nazwie, co pozwala zmieniać kolejność kolumn, a pola obliczeniowe zachowują swoje formuły i dostają świeże puste placeholdery rekordów do dalszej ewaluacji
- Odświeżanie waliduje i etapuje kompletne źródło przed aktualizacją cache, odrzucając nieobsługiwane schematy, typy źródeł, grupowanie pochodne i nowe niezmapowane elementy grup dyskretnych — bez zmian częściowych
Naprawiono
- Wartości błędów przestawnych zachowują swoje typy i kody w elementach współdzielonych i rekordach przez zapis i ponowne otwarcie XLSX
- Odświeżone domeny elementów współdzielonych przeliczają flagi typów i dające się zapisać granice, a metadane cache XLSX dokładnie opisują wartości mieszane, daty, błędy, wartości Boolean i puste
- Odświeżanie źródła czyta nieobecne komórki bez tworzenia komórek arkusza i porównuje nagłówki pól Unicode bez zawężania ich tekstu
- Zapisane odświeżone widoki PivotTable zawierają nowe elementy cache przed elementami sum częściowych, zachowując istniejącą kolejność elementów, flagi ukrycia i zaimportowane rozszerzenia układu
- Zaznaczenia stron pozostają związane z właściwym elementem, gdy kolejność widoku różni się od kolejności cache, pola obliczeniowe nie przesuwają już zapisanych rekordów źródła, a znaczniki czasu odświeżenia używają liczbowej reprezentacji XLSX
Wersja 2.384.86
Dodano
- INDEX przyjmuje tablice obliczone i stałe — z wyborem skalarnym, wyborem całej tablicy i wyciąganiem wiersza lub kolumny — zachowując przy tym zachowanie odwołań dla źródeł zakresowych
- SORT i UNIQUE przyjmują tablice obliczone i stałe, co pozwala łączyć je bezpośrednio z FILTER, SEQUENCE, LET i innymi wyrażeniami produkującymi tablice
Zmieniono
- Złożone wyrażenia tablicowe zachowują automatyczną zmianę rozmiaru rozlań w XLSX, obliczenia tablicowe w stałym zakresie, typowane błędy i przeliczanie po zapisie i ponownym otwarciu
Naprawiono
- Wybór i sortowanie tablic obcinają ułamkowe opcje liczbowe, nieprawidłowy tekst opcji Boolean zwraca #VALUE!, a operacje na tablicach obliczonych respektują limity pamięci i kroków ewaluacji
Wersja 2.384.85
Dodano
- Tablice dynamiczne XLSX liczą się teraz do automatycznie zmienianych zakresów rozlania, zachowują komórki blokujące użytkownika przez #SPILL!, obsługują odwołania do rozlania i jawne niejawne przecięcie oraz po ponownym otwarciu odzyskują własność zbuforowanego rozlania
- Kontrola wstępna konwersji zgłasza znane straty formatu docelowego, a kontrolowany zapis może te straty odrzucić, zanim cokolwiek zostanie zapisane do istniejącego pliku albo strumienia
- Jawne wyjście szablonów z makrami zachowuje istniejące projekty VBA w pakietach XLTM
- Odświeżanie tabel zapytań dostarczane przez wywołującego obsługuje ograniczone wyniki o stałym schemacie, zsynchronizowane zakresy tabeli i filtru, postęp, anulowanie i transakcyjny rollback
Zmieniono
- Powtarzane pasma raportu klonują kompletne wątkowe konwersacje z przemapsowanymi tożsamościami i zachowują rollback, gdy cel zawiedzie
- Niestandardowa walidacja Boolean w ODS, obsługiwane granice o wartościach formuł, źródła list i kwalifikowane odwołania są tłumaczone z przeliczeniem komórki bazowej; nieobsługiwane definicje i odwołania do komórek są pomijane razem
Naprawiono
- Formuły tablicowe w stałym zakresie liczą surową arytmetykę zakresów element po elemencie, MAP po wielu tablicach przyjmuje pasujące parametry lambdy, a FILTER liczy tablice obliczone i maski
- Nowoczesne błędy #SPILL! i #CALC! zachowują typowane metadane wartości rozszerzonych XLSX, chroniąc przy tym niezwiązane, zaimportowane metadane i grupy wartości rozszerzonych
- Nowo tworzone formuły XLSX zapisują się z kanonicznymi separatorami argumentów i prefiksami funkcji przyszłych dla współpracy z Excelem; zapis zachowuje wyrażenie w pamięci, a ponowne otwarcie zwraca kanoniczną składnię formuły
- Obsługiwane lokalne serie wykresów odświeżają cache liczb, tekstu, dat, błędów, bąbelków i hierarchicznych kategorii po edycjach i przeliczeniu
- Natywna paginacja renderuje scalone obszary przez ich pierwotną kotwicę, przycina fragmenty stron i ukrywa wewnętrzne obramowania oraz linie siatki
Wersja 2.384.84
Zmieniono
- Przykłady wprowadzające dla Delphi i C++Buildera zawierają teraz praktyczne zamówienie sprzedaży z typowanymi datami, cenami, rabatami i wyliczonymi sumami oraz weryfikują zapisane skoroszyty XLS i XLSX po ponownym otwarciu
- Przykład faktury łączy teraz drukowalną fakturę z edytowalnymi warunkami płatności i rejestrem wpłat, wyliczając rabaty, podatek, płatności i saldo należności
- Przykład układu arkusza pokazuje teraz tworzenie scalonych nagłówków, ich wyliczanie, usuwanie i zachowanie po ponownym otwarciu
- Kolejnych dziewięć rodzin przykładów API trafiło do Miscellaneous, dzięki czemu główny katalog pozostaje skupiony na kompletnych przepływach biznesowych i narzędziach interaktywnych
Usunięto
- Minimalistyczne samodzielne przykłady scalonych komórek i tekstu sformatowanego zostały skonsolidowane w przykładach układu arkusza i dashboardu
Wersja 2.384.83
Zmieniono
- Katalog demo rozdziela teraz kompletne doświadczenia i rozbudowane przepływy od punktowych przepisów API w folderze Miscellaneous każdej platformy, z bezpośrednią nawigacją i gotowymi do zbudowania projektami w obu warstwach
Usunięto
- Usunięto trzy redundantne demo zakresów i układu arkusza; ich kompletne scenariusze pozostają dostępne w RangeOps i SheetLayout
Wersja 2.384.82
Zmieniono
- Galerie dashboardów w Delphi i C++Builderze otwierają się bezpośrednio na wypełnionym skoroszycie z żywymi sumami, wyrenderowanymi wykresami, edytowalnymi szczegółami, scenariuszami cenowymi i eksportem bieżącego wyniku
- Wycieczka po API daje bezpośrednią nawigację do dashboardu, danych sprzedażowych, podglądu wykresu i przepisów API, z powtarzalnym zbiorem danych obejmującym wszystkie dwanaście miesięcy
- Przykłady noszą ze sobą lokalnie wymagane jednostki scenariuszy i zasoby manifestu, więc każdy projekt można skopiować bez osobnego katalogu wspólnego
Naprawiono
- Wycieczka po API tworzy dane sprzedażowe przed wejściem w formuły dashboardu, dzięki czemu jej żywa prezentacja startuje poprawnie
- Wykresy żywej prezentacji odświeżają zbuforowane wartości i etykiety po przeliczeniu, a powtarzane eksporty galerii C++Buildera zachowują bieżące edycje, bez nagromadzania wygenerowanych arkuszy raportów
Wersja 2.384.81
Zmieniono
- Przykłady kopiowania arkuszy weryfikują po ponownym otwarciu wyjścia niezależną zawartość, przemapsowane formaty, formuły i osadzone obiekty
- Przykłady systemu dat, wyszukiwania, grupowania, formuł tablicowych i obrazów weryfikują swoje specyficzne zachowanie i zgłaszają nieudane wyjście niezerowym kodem wyjścia
Naprawiono
- Zakresy AutoFilter klasycznego XLS zachowują pełne granice wierszy i kolumn po zapisie i ponownym otwarciu, włącznie ze skopiowanymi filtrami z aktywnymi kryteriami
- Galerie dashboardów tworzą wskazywane arkusze przed wejściem w formuły, liczą sumy przed eksportem i generują wszystkie żądane formaty towarzyszące, nawet gdy inne wyjście zawiedzie
- Galeria dashboardu w C++Builderze produkuje udokumentowane pliki towarzyszące CSV, HTML i RTF
- Kompilowane raporty zachowują zwykłe zgłaszanie porażek w klasycznych statycznych buildach Win64 C++Buildera, gdy nie da się podmienić pliku docelowego
- Interaktywne przykłady API zgłaszają niepowodzenia eksportu PDF, HTML i CSV, zamiast twierdzić, że pliki zostały zapisane
- Przegląd funkcji kończy swoją demonstrację obsługiwanego hashu semantycznego i waliduje zapisane skoroszyty bez wywoływania nieobsługiwanych migawek nowoczesnych rysunków
Wersja 2.384.80
Zmieniono
- Katalog przykładów grupuje projekty według zadania do nauki i wskazuje polecane punkty wejścia, lekcje specyficzne dla formatów oraz kompatybilne nazwy projektów
- Przykłady układu arkusza i przenoszenia zakresów współdzielą kompletne scenariusze, zachowując przy tym swoje istniejące nazwy projektów i wyjść
- Przykłady pamięci, zaawansowanego CSV, drukowania, właściwości dokumentu, pól tekstowych i ochrony arkusza demonstrują kompletne przepływy, z weryfikacją zapisanych danych i jawnym zgłaszaniem porażek
Naprawiono
- Ponownie otwarte pola tekstowe XLSX zachowują swoje relacje rysunkowe przy kolejnym zapisie, dzięki czemu adnotacje przetrwają powtarzane cykle zapisu i otwarcia — bez zduplikowanych deklaracji przestrzeni nazw XML
- Przykłady konwersji wsadowej respektują Skip existing przed otwarciem źródeł albo wywołaniem pisarzy i weryfikują kody sukcesu skoroszytu, zanim zgłoszą zakończenie
- Przykład faktury zawiera warunki płatności i swój pełny tytuł w obszarze druku
- Konsolowy przykład ustawień strony startuje ze zwykłymi uprawnieniami użytkownika, zamiast wyzwalać wykrywanie instalatora Windows
Wersja 2.384.79
Naprawiono
- Zapisy plików ODS z opcjami eksportu zachowują istniejący cel, gdy serializacja zawiedzie albo zapisywanie zostanie anulowane, i konsekwentnie zgłaszają błędy podmiany celu
- Opcje eksportu ODS używają zwykłego cyklu życia zapisu, obejmującego zasadę przeliczania, anulowanie postępu, diagnostykę oraz ochronę zapisu skoroszytu przy wyjściu do pliku i strumienia
- Strumieniowe zapisy XLSX honorują skonfigurowaną zasadę przeliczania: w trybie ręcznym zachowują buforowane wartości, a na żądanie odświeżają nieaktualne formuły
- Zakończone powiadomienia zapisu XLSX i ODS nie zamieniają już przekazanego wyjścia w porażkę z powodu anulowania
- Nieudana inicjalizacja i finalizacja łatki arkusza w pisarzu strumieniowym zwalniają uchwyty plików źródłowych, dzięki czemu wywołujący mogą posprzątać swoje tymczasowe źródła i ponownie użyć pisarza po nieudanej inicjalizacji
Wersja 2.384.78
Naprawiono
- Kopie i klony zakresów zachowują przecinające się formatowanie wirtualne i podmieniają wcześniejsze formatowanie nakładkowe tylko wewnątrz celu, łącznie z nakładającymi się kopiami i formatowaniem między skoroszytami
- Jawne zerowania formatowania pozostają skuteczne po zapisaniu i ponownym otwarciu skoroszytów z domyślnym formatowaniem wierszy lub kolumn
- Komórki XLSX, które jawnie używają domyślnego formatowania skoroszytu, zachowują jego niestandardowe czcionki, wypełnienia i formaty liczbowe
Wersja 2.384.77
Naprawiono
- Zakresy docelowe formatowania warunkowego i walidacji danych obejmujące cały wiersz i całą kolumnę nadążają za edycjami wierszy i kolumn oraz klonowaniem zakresów, gdy w całości mieszczą się w źródle, z ograniczoną geometrią celu i zachowanymi względnymi kotwicami formuł
- Skończone powtórzone puste style zaimportowane z ODS zachowują swój pełny zasięg używanego zakresu, a nowo utworzone lub wyzerowane skoroszyty podają bieżącą wersję biblioteki we właściwościach dokumentu
- Kopie komórek całego wiersza, całej kolumny i całego arkusza zachowują rzadkie przechowywanie, czyszczą podmienianą zawartość celu bez rozszerzania pustych współrzędnych i chronią nakładające się dane źródłowe oraz formatowanie między skoroszytami
Wersja 2.384.76
Naprawiono
- Reguły formatowania warunkowego i walidacji danych stosują się teraz konsekwentnie do celów bezwzględnych, odwróconych, całych wierszy, całych kolumn i rozdzielonych białymi znakami podczas wyszukiwania, usuwania, obliczeń warunkowych i sprawdzania walidacji
- Zniekształcone i wykraczające poza siatkę obszary docelowe nie dopasowują się już do komórek, a poprawne obszary w tej samej regule pozostają aktywne; statystyki warunkowe dla pełnej siatki zachowują rzadkie przechowywanie komórek
- Cele walidacji ODS używają poprawnych kotwic komórek dla całych wierszy i kolumn, a równoważne nakładające się cele warunkowe nie tworzą już zduplikowanych reguł po ponownym otwarciu
Wersja 2.384.75
Naprawiono
- Reguły porównania komórek i wyrażeń ODS zachowują swoje pełne zakresy docelowe obejmujące cały wiersz, całą kolumnę i szerokie zakresy w wyjściu zgodnym z Excelem; nośniki powtórzonych pustych utrzymują rzadkie zakresy w zwarcie i chronią nakładające się reguły oraz metadane arkusza
- Ponowne otwieranie regionów powtórzonych sformatowanych pustych w ODS zachowuje ich formatowanie bazowe w zwarcie, a standardowe reguły warunkowe zachowują nakładający się priorytet i pokrycie wewnątrz regionów scalonych
Wersja 2.384.74
Naprawiono
- Formatowanie warunkowe ODS zachowuje obsługiwane nadpisania czcionki, tła i formatu liczbowego po zapisaniu i ponownym otwarciu, łącznie z jawnymi zerowaniami; reguły o różnych wyróżnieniach lub zakresach docelowych pozostają rozdzielne
- Formatowanie warunkowe XLSX zachowuje wbudowane i niestandardowe formaty liczbowe, w tym formaty używane wyłącznie przez regułę warunkową; zapisywanie nie usuwa już tych niestandardowych formatów ani nie kieruje reguł na inny format
- Style procentowe ODS zawierają symbol procenta wymagany przez inne programy do arkuszy kalkulacyjnych i otwierają się ponownie bez zdublowania tego symbolu
Wersja 2.384.73
Naprawiono
- Kopiowanie tekstu do schowka, odczytywanie tekstu ze schowka i wklejanie tekstu albo danych XML Spreadsheet nie zawodzą już losowo w Windows 10 i 11. Po każdej zmianie schowka Eksplorator i usługa Clipboard User Service (historia schowka) otwierają schowek na kilka milisekund, aby go odczytać; operacje na tekście próbowały otworzyć go tylko raz i mogły właśnie w tym momencie zakończyć się błędem „odmowa dostępu”
- Wszystkie operacje na schowku używają teraz tej samej zasady co kopiowanie i wklejanie BIFF8 (format Excela): przez około 500 ms próbują otworzyć schowek. Gdy inna aplikacja trzyma schowek dłużej, operacja nadal zawodzi, a istniejąca zawartość schowka pozostaje bez zmian
Wersja 2.384.72
Naprawiono
- Otwieranie pliku ODS poprawnie czyta format liczbowy Ogólne. Excel i LibreOffice zapisują Ogólne jako styl liczbowy bez liczby miejsc dziesiętnych, co było czytane jako dwie stałe cyfry po przecinku, więc wartość taka jak 1.5 wyświetlała się jako 1.50; takie komórki nie mają teraz żadnego formatu liczbowego, jak w aplikacji źródłowej
- Tekst wokół liczby Ogólne jest zachowywany, na przykład
General" kg"
Wersja 2.384.71
Naprawiono
- Pliki ODS zapisane przez Excel lub LibreOffice nie zgłaszają już używanego zakresu obejmującego cały arkusz. Oba programy nadają każdemu wierszowi i kolumnie rozmiar aż do wiersza 1048576 i kolumny 16384; puste wiersze o automatycznej wysokości zachowują teraz wysokość domyślną, a rozmiary kolumn ciągnące się do ostatniej kolumny stają się standardową szerokością kolumny arkusza. Plik Excela o 10 wierszach otwarty i zapisany ponownie zmniejsza się z około 2,8 MB do kilku KB
- Wysokości wierszy ustawione ręcznie oraz automatyczne wysokości wierszy z zawartością (na przykład wiersze rozrośnięte, aby pomieścić zawijany tekst), są nadal zachowywane
- Zapis do ODS wpisuje standardową szerokość kolumny arkusza (
StandardWidth) w kolumnach, które nie mają własnej szerokości; wcześniej była pomijana, ponieważ ODS nie ma domyślnej szerokości kolumny dla całego arkusza
Wersja 2.384.70
Naprawiono
- Pliki ODS zapisane przez Excel lub LibreOffice otwierają się znów w milisekundach. Oba programy dopełniają każdy wiersz do kolumny 16384 i dodają blok wypełnienia aż do wiersza 1048576; plik o 10 wierszach z Excela otwierał się wcześniej ponad 5 minut, a ten z LibreOffice w ogóle się nie kończył
- Puste komórki wypełnienia wyglądające dokładnie jak domyślny styl komórki dokumentu nie są już zamieniane w sformatowane puste komórki; arkusz Excela o 10 wierszach zyskiwał ich wcześniej około 180 000. Puste komórki z własnym wypełnieniem, obramowaniem, czcionką, wyrównaniem, formatem liczbowym lub ochroną są nadal zachowywane
Wersja 2.384.69
Naprawiono
- Formaty warunkowe zapisane do ODS są teraz widoczne w Excelu. Reguły wartości (równe, między, większe niż i tak dalej) oraz reguły formuł są dodatkowo zapisywane jako standardowe warunki ODF
style:mapna objętych przez nie komórkach — to jedyna postać, którą czyta Excel; Excel otwierał wcześniej pliki ODS HotXLS bez żadnej z tych reguł - LibreOffice importuje teraz reguły wartości ODS zapisane przez HotXLS z ich rzeczywistym operatorem i granicami; wcześniej zamieniał każdą z nich w „równe 0”
- Otwieranie pliku ODS czyta formaty warunkowe zapisane jako warunki
style:map, tak jak piszą je Excel i inni producenci ODF. Gdy plik niesie dodatkowo te same reguły we własnej postaci LibreOffice, każda reguła jest czytana raz - Otwieranie pliku ODS czyta zapis reguł wartości w wersji LibreOffice (
=5,between(1,10),!="x"); pliki z wcześniejszych wersji HotXLS otwierają się jak wcześniej
Wersja 2.384.68
Naprawiono
- Formuły stosujące operator do zakresu wielu komórek lub tablicy wbudowanej, takie jak
=SUM(A1:B1*{10,100}),=SUM((A1:B2>2)*1)czy=MAX(A1:B2-1), są przechowywane tak jak przechowuje je Excel 365, więc Excel pokazuje ten sam wynik co HotXLS: w XLSX jako formuły tablic dynamicznych pojedynczej komórki, w XLS jako jednokomórkowe formuły tablicowe. Excel otwierał je wcześniej z niejawnym przecięciem (=SUM(@A1:B1*@{10,100})) i pokazywał #VALUE! albo błędną wartość - Formuły tablicowe XLS zapisują swoje odwołania i stałe tablicowe w postaci tablicowej, tak jak robi to Excel; Excel obliczał wcześniej formuły tablicowe zapisane przez HotXLS z niejawnym przecięciem
- Pliki XLSX z formułami tablic dynamicznych (w tym utworzonymi przez
SetDynamicArrayFormula) otwierają się w Excelu; Excel odrzucał wcześniej cały plik, ponieważ metadane tablic dynamicznych używały identyfikatora rozszerzenia o innej wielkości liter
Wersja 2.384.67
Naprawiono
- Porównania tekstu w obu silnikach trzymają się kolejności z Excela: ignorują wielkość liter i używają słownego sortowania z ustawień regionalnych systemu, więc myślniki i apostrofy rozstrzygają tylko remisy (
"a-b">"ab"daje TRUE), a pozostała interpunkcja sortuje się przed cyframi i literami ("a~b">"ab"i"a_b">"ab"dają FALSE). Dotyczy to operatorów porównania, kryteriów>text/<textw COUNTIF, SUMIF, rodzinie *IFS i funkcjach baz danych, porównań tablic, wyszukiwań, funkcji typu SORT i sortowania zakresów - VLOOKUP i HLOOKUP porównują tekst bez rozróżniania wielkości liter, więc
VLOOKUP("ABC",...)znajduje „abc” tak jak w Excelu
Wersja 2.384.66
Naprawiono
- Formatowanie warunkowe oparte na formułach zapisywane do ODS jest teraz rozpoznawane przez LibreOffice: reguła jest zapisywana jako
formula-is(...)wraz ze swoją komórką bazową, czyli w postaci, którą sam LibreOffice zapisuje. Wcześniej LibreOffice czytał każdą taką regułę jako prostą regułę „wartość komórki równa 0” - Formuły formatowania warunkowego zapisywane do ODS tłumaczą wbudowane tablice, sumy odwołań oraz odwołania do całych kolumn i całych wierszy i zachowują znaczniki
$tak samo jak formuły komórek (COUNTIF($A:$A,A1)>1staje sięCOUNTIF([.$A:.$A];[.A1])>1) - Podczas otwierania pliku ODS czytane jest teraz formatowanie warunkowe oparte na formułach zapisane przez LibreOffice (
formula-is), a także to z plików wcześniejszych wersji HotXLS
Wersja 2.384.65
Naprawiono
- Odwołania do całych kolumn i całych wierszy (
A:A,$A:$B,1:1,$1:$2) w formułach zapisywanych do ODS używają postaci odwołania OpenFormula ([.A:.A]). Excel otwierał wcześniej takie komórki jako=SUM(A:(A))z #NAME?, albo wyrzucał formułę; pliki ODS zapisane przez HotXLS pokazują teraz te same formuły i wartości w Excelu i LibreOffice
Wersja 2.384.64
Naprawiono
- Funkcje baz danych (DSUM, DCOUNT, DCOUNTA, DAVERAGE, DGET i pozostałe) traktują kryterium tekstowe bez operatora jako „zaczyna się od”, jak Excel:
abw zakresie kryteriów dopasowuje abc, ab i AB, a symbole wieloznaczne nadal działają (a?dopasowuje każdy wpis mający co najmniej dwa znaki i zaczynający się od a).=abi<>abdalej porównują cały wpis
Wersja 2.384.63
Dodano
- Formuły mogą zawierać wbudowane stałe tablicowe takie jak
{1,2;3,4}(kolumny oddzielone przecinkami, wiersze średnikami, z liczbami, tekstem, wartościami TRUE / FALSE i wartościami błędów) oraz sumy odwołań takie jak(A1:B2,D4), w obu silnikach, XLS i XLSX; wprowadzanie ich kończyło się wcześniej błędem „invalid formula syntax” - Stałe tablicowe są liczone jako tablice (
=SUM({1,2}*{3,4}),=ROWS({1,2,3;4,5,6}),=SUMPRODUCT(A1:A2,{1;10})), a sumy odwołań działają w SUM, COUNT, AVERAGE, MIN, MAX i COUNTA, w AREAS, w ISREF i w argumencie area_num funkcji INDEX
Naprawiono
- Pliki XLS zapisują stałe tablicowe tak, żeby Excel je poprawnie czytał: stała była wcześniej zapisywana jako odwołanie, więc Excel pokazywał
=#N/A; formuły XLS zawierające stałe tablicowe lub sumy odwołań czytają się z powrotem razem z tekstem formuły
Wersja 2.384.62
Naprawiono
- Operator przecięcia (spacja między dwoma odwołaniami) zwraca komórki wspólne dla obu odwołań, jak w Excelu:
=SUM(A1:B2 B1:B2)daje 6 zamiast 2, odwołania bez wspólnej komórki dają #NULL!, a przecięcie można przekazać funkcjom przyjmującym odwołania, takim jak ROWS, COLUMNS czy INDEX. Dotyczy to obu silników, formuł obliczanych oraz formuł zapisanych w komórkach - Pliki XLS zachowują formuły przecięcia w formie użytecznej w Excelu: wskazywane zakresy są teraz zapisywane jako odwołania, więc Excel nie czyta już
=SUM(A1:B2 B1:B2)jako=SUM(@A1:B2 @B1:B2)i nie pokazuje #VALUE! - Przecięcie użyte jako pojedyncza wartość przy więcej niż jednej wspólnej komórce wybiera komórkę leżącą w wierszu albo kolumnie formuły, jak każde odwołanie do wielu komórek
Wersja 2.384.61
Naprawiono
- SUMPRODUCT przyjmuje wyrażenia tablicowe takie jak
(B1:B2>0)*1,--(B1:B2>0),B1:B2*C1:C2oraz pojedynczy argument, w silnikach XLS i XLSX; wcześniej zwracało to #N/A. Argumenty o różnych kształtach zwracają #VALUE!, błąd wewnątrz dowolnego argumentu jest zwracany, a tekst i wartości logiczne liczą się jako 0, jak w Excelu - Wyrażenia operatorowe na zakresach wewnątrz SUM, COUNT, AVERAGE, MIN, MAX i COUNTA są liczone element po elemencie, jak przy dynamicznych tablicach Excela:
=SUM((B1:B2>0)*1)liczy oba wiersze zamiast brać tylko pierwszą komórkę - TRUE liczy się jako 1 w arytmetyce:
=TRUE*1zwracało -1 - Porównania element po elemencie traktują pusty element jako 0, "" albo FALSE, żeby dopasować się do drugiej strony, i porównują wartości logiczne jako wartości logiczne; sklejenie wartości logicznej za pomocą
&w tablicy daje TRUE / FALSE
Wersja 2.384.60
Naprawiono
- Znajdź i zamień z symbolami wieloznacznymi i dopasowaniem całej komórki (
FindText,ReplaceText,FindTextIn,ReplaceTextInw obu silnikach) dopasowuje całą komórkę tak jak Excel:a*bznajduje terazabcb, co wcześniej było odrzucane, bo dopasowanie zatrzymywało się na pierwszymb - W wyszukiwaniu z symbolami wieloznacznymi
~czyni literałem znak, który następuje po nim, a końcowe~jest ignorowane, jak w Excelu:a~bznajdujeab, aa~~bznajdujea~b
Wersja 2.384.59
Naprawiono
- Czasy utworzenia i modyfikacji dokumentu XLSX (
Created,Modified) oraz niestandardowe właściwości z wartością daty czytają się poprawnie, gdy znacznik ma ułamki sekund (2026-03-15T08:30:00.123Z) albo przesunięcie strefy (+08:00,-05:00): czas jest konwertowany na czas lokalny, zamiast być bez zmian brany za czas lokalny - Znaczniki samej daty (
2026-07-01) czytają się jako ta data; znaczniki z czasem, ale bez strefy, których format W3CDTF nie przewiduje, dalej czytają się jako czas lokalny
Wersja 2.384.58
Naprawiono
- AutoFit XLSX przez
TXLSAutoFit(FitXlsxSheet,FitXlsxSheetColumns,FitXlsxSheetRows,MarkSheet) mierzy każdą komórkę w czcionce, w jakiej jest wyświetlana; od 2.384.46 brał następną czcionkę z listy czcionek skoroszytu, więc pogrubiony nagłówek mógł zostać zmierzony małą czcionką innej komórki i wyjść za wąski - AutoFit używa też czcionki, którą komórka dziedziczy ze stylu wiersza albo kolumny
Wersja 2.384.57
Naprawiono
- Z "dokładnością jak wyświetlana" (
FullPrecision = False) silnik XLSX zaokrągla teraz tak jak Excel i silnik XLS: formaty procentowe zachowują dwa dodatkowe miejsca dziesiętne (0.1234 wyświetlany jako0.0%zapisuje 0.123, a nie 0.1), wartości ujemne i zero używają własnej sekcji formatu, a połówki zaokrąglają się od zera (2.5 wyświetlany jako0zapisuje 3, a nie 2) - Oba silniki honorują przecinki skalujące tysiące przy "dokładności jak wyświetlana": 12345.678 wyświetlany jako
0.0,(12.3) zapisuje 12300, jak w Excelu - Logiczny wynik formuły w komórce z formatem liczb nie jest już zamieniany na -1 przez "dokładność jak wyświetlana" silnika XLS
Wersja 2.384.56
Naprawiono
- Pliki ODS zapisywane przez HotXLS deklarują przestrzenie nazw swoich prefiksów formuł, więc LibreOffice liczy formuły zamiast pokazywać #VALUE! w każdej komórce z formułą
Wersja 2.384.55
Naprawiono
- Formuły zapisywane do ODS zachowują sens: tablice wbudowane używają separatora wierszy OpenFormula (
{1,2;3,4}staje się{1;2|3;4}zamiast pojedynczego wiersza), suma odwołań taka jak(A1,B2)staje się operatorem~zamiast dwóch argumentów funkcji, a odwołania bezwzględne zachowują znaczniki$ - Czytanie takiej sumy z powrotem z ODS nie dodaje już drugiej pary nawiasów, więc te formule przetrwają niezmienione round-trip z XLSX do ODS i z powrotem do XLSX
Wersja 2.384.54
Naprawiono
- Pliki XLS chronione hasłem zapisane w formacie Excel 5.0/95 (zaciemnienie XOR) otwierają się teraz w Excelu. Klucz zapisany w pliku jest wyliczany z hasła zamiast być losowy, a tablica zaciemniająca używa rotacji bitów, której oczekuje Excel; wcześniej Excel zgłaszał złe hasło dla każdego takiego pliku, a po poprawieniu samego klucza zgłaszał plik jako uszkodzony
- Skoroszyty z zaciemnieniem XOR czytają się tą samą poprawioną tablicą, więc pliki, których klucz pasuje do hasła, dekodują się tak, jak Excel je szyfruje; pliki XOR zapisane przez wcześniejsze wersje HotXLS-a dalej się otwierają
Wersja 2.384.53
Naprawiono
- Porównanie pustej komórki z wartością logiczną traktuje pustą jako FALSE w obu silnikach, XLS i XLSX, jak Excel: przy pustym A1
=A1=FALSEi=A1<TRUEdają teraz TRUE, a=A1=TRUEdaje FALSE. Wcześniej pusta porównywała się jako 0, które stoi poniżej każdej wartości logicznej
Wersja 2.384.52
Naprawiono
- COUNTIF, COUNTIFS, SUMIF, SUMIFS, AVERAGEIF, AVERAGEIFS i funkcje baz danych dopasowują kryteria tekstowe według zasad symboli wieloznacznych Excela w obu silnikach, XLS i XLSX:
~*i~?dopasowują dosłowną gwiazdkę albo znak zapytania, nawiasy kwadratowe to zwykłe znaki, a kryterium bez*ani?to zwykłe porównanie bez rozróżniania wielkości liter. Wcześniej kryterium takie jak"[x]"czytało się jako zestaw znaków,"~*"nie dopasowywało gwiazdki, a zdeformowany wzorzec po cichu nie dopasowywał niczego - Kryteria
"<>text"liczą liczby, wartości logiczne i puste komórki jako nierówne, a gołe"<>"liczy każdą niepustą komórkę, jak w Excelu; porównanie tekstu przy<>nie rozróżnia już wielkości liter - Dopasowanie wieloznaczne MATCH i XLOOKUP traktuje
~jako escape dla znaku, który po nim następuje, i ignoruje końcowe~, jak Excel
Wersja 2.384.51
Zmieniono
- Migawki komórek tylko do odczytu zachowują nazwy arkuszy we współdzielonym magazynie UnicodeString; SheetName to teraz właściwość WideString do odczytu i zapisu, z tą samą zwykłą składnią odczytu i przypisania co wcześniej, ale surowy adres pola i poprzedni układ rekordu nie są obsługiwane; wywołujący muszą przekompilować się względem tego wydania
- Wyjście raportu do pustego strumienia docelowego pomija niepotrzebną migawkę zapasową, zachowując wycofanie zawartości i pozycji celu, gdy wyjście się nie powiedzie
- Głębokie audyty formuł przetwarzają liczbowe bufory sprawniej, zachowując zbuforowane wartości Variant, wyniki obliczeń i zgłaszane ustalenia
Naprawiono
- Wklejanie ze schowka w XLS i XLSX łapie dane BIFF8 i tekst zapasowy razem pod jednym blokowaniem schowka, więc oba formaty pochodzą z tego samego stanu schowka; czytelny BIFF8 pozostaje używalny, gdy towarzyszącego mu tekstu nie da się pobrać, samotny niedostępny tekst nie wstawia komórek, a istniejąca polityka ponawiania otwierania schowka się nie zmienia
- Nieudana publikacja wymaganego tekstu albo BIFF8 w schowku zachowuje oryginalny kod błędu Win32 przez sprzątanie, więc wywołujący mogą pobrać diagnostykę błędu od razu po wywołaniu
- Czytnik tekstu schowka o pojedynczej próbie zachowuje natywne błędy pobierania danych przez sprzątanie schowka, nie zmieniając swojego zachowania przy ponawianiu
Wersja 2.384.50
Zmieniono
- Audyty symboli formuł działają szybciej na rzadkich skoroszytach XLS, zachowując przy tym zgłaszane ustalenia i ich kolejność
Wersja 2.384.49
Naprawiono
- Dema WorkbookAudit (Delphi i C++Builder):
AuditReport.jsonzapisuje się teraz bez BOM UTF-8, więc rygorystyczne parsery JSON go przyjmą; arkusze XLS zgłaszają swój zakres AutoFiltera; nazwy zdefiniowane XLSX wskazujące na inny skoroszyt pokazują podpięty plik zamiast swojego indeksu; uruchomienia z wiersza poleceń nie nadpisują już zapisanych ustawień; puste pole z folderem wraca do folderu programu zamiast do katalogu głównego dysku; nieudany zapis przykładu trafia do logu zamiast być zgłaszanym jako utworzony - Dema ApiTour: przebudowa skoroszytu pokazowego zostawia poprzedni skoroszyt, gdy się nie powiedzie, więc przyciski eksportu już niczego nie wywalają; skoroszyty są zwalniane, gdy budowanie rzuci wyjątkiem; eksport HTML loguje swoje błędy; log wymienia pięć formatów warunkowych, które faktycznie powstają
- Dema ExcelGraphics: nieobsługiwany typ obrazu jest zgłaszany zamiast zapisać pusty arkusz, a okno otwierania wymienia tylko obsługiwane formaty
- Dema OdsExport porównują rozmiar czcionki w kontrolnym zapisie i odczycie i zwracają niezerowy kod wyjścia, gdy kontrola albo zapis się nie powiedzie; demo OdsImport w C++Builderze sprawdza wynik zapisu i nie tworzy już pustych komórek podczas raportowania
- Dema DataExport / ExportWithColoring zwężają tylko pierwszą kolumnę, tak jak mówią ich komentarze, a dema eksportu w C++Builderze otwierają okno zapisu w folderze programu
- Readme dem wymieniają API i pliki wyjściowe, których dema faktycznie używają
Wersja 2.384.48
Naprawiono
- Czasy utworzenia i ostatniego zapisu dokumentu zapisują się teraz w UTC, jak wymagają formaty plików, a przy odczycie wracają jako czas lokalny:
Created/ModifiedXLSX-a i niestandardowe właściwości dat orazCreatedDate/LastSavedDateXLS-a. Wcześniej czas lokalny był zapisywany tak, jakby był UTC, więc Excel i Eksplorator Windows pokazywały znaczniki przesunięte o różnicę stref; wartości zapisywane i odczytywane przez samego HotXLS-a pozostają bez zmian
Wersja 2.384.47
Naprawiono
- Pliki XLS z zaciemnieniem XOR (ochrona hasłem skoroszytów Excela 5.0/95,
EncryptionType = xletXor): pozycja klucza używana dla każdego rekordu trzyma się teraz specyfikacji formatu pliku, tak samo jak czytają ją i zapisują inne aplikacje arkuszowe. Wcześniej HotXLS czytał tylko własne pliki XOR, a każdy rekord o długości niebędącej wielokrotnością 16 dekodował się gdzie indziej jako śmieci
Wersja 2.384.46
Naprawiono
- AutoFit XLSX (
FitXlsxSheet,FitXlsxSheetColumns,FitXlsxSheetRows,MarkSheet) mierzy każdą komórkę w jej własnej czcionce, rozmiarze, pogrubieniu i kursywie zamiast zawsze w Arial 10, więc tekst Calibri 11, pogrubione nagłówki i duże tytuły nie wychodzą już za wąskie - AutoFit XLSX mierzy tekst tak, jak wyświetla go format liczb (daty, waluty, procenty), a nie surową zapisaną wartość
- AutoFit XLSX trzyma dopasowane szerokości kolumn w granicach
MaxWidth; margines komórki był wcześniej dodawany dopiero po nałożeniu limitu - AutoFit XLSX wymiaruje wiersze komórek z zawiniętym tekstem w kolumnach bez jawnie ustawionej szerokości względem domyślnej szerokości arkusza; wcześniej takie komórki były mierzone jako jedna linia i wiersz wychodził za niski
Wersja 2.384.45
Naprawiono
- Skoroszyty XLS: kryteria
ApplyAutoFiltertakie jak'>=100'czy'=2.5'zapisują się teraz jako warunki liczbowe; wcześniej trafiały na dysk jako tekst, a Excel porównuje tekst jak tekst, więc filtr chował każdy wiersz liczbowy. Wartość bez operatora porównania (taka jak'North'czy'100') dalej zapisuje się jako tekst, tak jak Excel trzyma element wybrany z listy Criteria1.DataTypezgłasza dla takich kryteriów 4 (liczba) zamiast 6 (tekst);Criteria1.Valueczyta się dalej jako 100
Wersja 2.384.44
Naprawiono
INDIRECTz tekstem odwołania A1 czytał komórkę o wiersz niżej i kolumnę dalej (INDIRECT("D1")zwracał E2) w skoroszytach XLS i XLSX; tekst R1C1 był już poprawny. Odwołanie poza ostatnim wierszem lub kolumną zwraca teraz#REF!
Wersja 2.384.43
Naprawiono
- Skoroszyty XLSX: formuły mogą teraz odwoływać się do całego arkusza 1048576 × 16384. Odwołania poza kolumną IV lub wierszem 65536 (
=XFD1,=A100000,=SUM(XFC1:XFD1),Data!C1048576) były wcześniej odrzucane przy wejściu jako nieznane nazwy albo dawały błąd; teraz parsują się, liczą, przesuwają razem z wstawianymi wierszami i kolumnami i zapisują się tak, jak zostały wpisane - Skoroszyty XLSX: odwołania do całych kolumn i wierszy (
A:A,1:1) obejmują pełny arkusz, więcROWS(A:A)zwraca 1048576, aSUM(A:A)uwzględnia wartości poniżej wiersza 65536;ADDRESSzwraca kolumny trzyliterowe, jak$XFD$1 - Skoroszyty XLS: odwołania do ostatniego wiersza i kolumny arkusza 65536 × 256 (
=A65536,=IV1) są przyjmowane; wcześniej były odrzucane jako nieznane nazwy
Wersja 2.384.42
Naprawiono
- Stare jednostki
lxRows/lxCols(zostawione dla zgodności źródeł; klasy skoroszytu ich nie używają): indeks wiersza powyżej 1048575 rzucaERangeErrorzamiast zawijać się na wiersz 1, rekord ROW nie oznacza już każdej zmiany poziomu konspektu jako zwiniętej, a zapis COLINFO dla kolumny bez własnych ustawień używa wartości domyślnych zamiast wywalać program
Wersja 2.384.41
Naprawiono
- Buildy Lazarus / Free Pascal kompilowane w trybie ciągów ANSI: pliki tymczasowe, których ścieżka zawiera znaki spoza strony kodowej systemu, są teraz usuwane przy sprzątaniu; wcześniej ich nazwy były zapisywane z utratą znaków i pliki zostawały w folderze temp
Wersja 2.384.40
Naprawiono
TlxCellMMU(spakowany magazyn komórek) rzucaEInvalidOperation, gdy komórka jest zapisywana poza kolejnością wierszy w bloku 256 wierszy albo na miejscu istniejącej komórki, aERangeErrordla ujemnej pozycji lub kolumny powyżej 65534; wcześniej taki zapis po cichu psuł sąsiedni wiersz. Własne zapisy hurtowe biblioteki już trzymają kolejność wierszy i nic ich nie dotyka
Wersja 2.384.39
Zmieniono
- Skoroszyty XLSX: przypisanie
TXLSXWorksheet.TabColorustawia teraz przy okazjiTabColorIsAutona False, więc kolor karty pokazuje się bez drugiego przypisania, na wzór właściwości koloru czcionki, wypełnienia i obramowania. Ustawienie późniejTabColorIsAutona True dalej usuwa kolor karty
Wersja 2.384.38
Zmieniono
- Skoroszyty XLS:
TXLSWorksheet.AddPivotTabletraktuje terazDestRowiDestColjako liczone od 1, tak jakCells[Row, Col], dokumentacja i silnik XLSX;AddPivotTable('Data!A1:C9', 3, 1, ...)kotwiczy tabelę przestawną na A3. Kod, który podawał pozycje liczone od 0, musi dodać 1, a kotwica równa 0 lub poza arkuszem zwraca teraznil - Skoroszyty XLS: pozycje na
TXLSPivotTable(odFirstRowdoFirstDataCol) i zakres źródłowy naTXLSPivotCache(odSourceFirstRowdoSourceLastCol) są teraz liczone od 1 dla nowych i otwartych tabel przestawnych, więc ten sam kod czyta te same komórki w obu silnikach, a tabela przestawna skopiowana między nimi trzyma swoje miejsce
Wersja 2.384.37
Naprawiono
- Skoroszyty XLSX: tabela przestawna umieszczona poniżej wiersza 65535 albo wepchnięta tam przez wstawianie wierszy trzyma swoją prawdziwą pozycję; wcześniej kotwica była ucinana do 16 bitów i zapisana tabela przestawna lądowała w złych wierszach
- Właściwości pozycji tabeli przestawnej (
FirstRow,FirstCol,LastRow,LastCol,FirstHeaderRow,FirstDataRow,FirstDataCol) są terazIntegerzamiastWord - Skoroszyty XLSX:
AddPivotTableiAddPivotTableCopyzwracająnil, gdy kotwica wypada poza arkusz albo kopiowany blok wychodziłby poza ostatni wiersz lub kolumnę, zamiast zapisać tabelę przestawną, którą Excel odrzuca
Wersja 2.384.36
Naprawiono
- Dema C++Buildera XlsTables, XlsCondFormat12, XlsCreateChart i InteractiveFeatures zapisują swoje kolumny tekstowe jako tekst; przekazanie
const wchar_t*doOleVariantłapało konstruktorbooli każdy nagłówek oraz etykieta wychodziły jako TRUE - Demo DefinedNames wymienia nazwy XLS od indeksu 1 zamiast wywalać się na indeksie 0, WorkbookAudit liczy zewnętrzne odwołania w nazwach skoroszytu XLS, a FileMonitor zapisuje
Monitored.xlsxzamiast przekręconego.xlsxx, przez który każdy odczyt nazwy arkusza kończył się błędem - Dema Pictures i OdsExport osadzają poprawny PNG; literał bajtowy był psuty przez konwersję ciągu, a długości chunków w Pictures były złe
- ApiTour liczy swój krok
DEMOADDna arkuszu API Tour zamiast na aktywnym arkuszu Dashboard, gdzie argument tekstowy mógł zabić start; klasyczna wycieczka w C++Builderze pokazuje teraz wynik kroku - FreezePanes, QuickStart i ApiTour mrożą dokładnie swoje wiersze i kolumny nagłówkowe;
FreezePanesprzyjmuje liczby, a nie pierwszą przewijalną komórkę - Kolory formatów warunkowych w ApiTour, CondFormatGallery, OdsExport i WorkbookAudit są podawane w BGR, jak oczekuje API, więc paski danych i skale kolorów pokazują zamierzone kolory; CondFormatGallery daje swoim regułom top-N, duplikatów i powyżej średniej widoczne wyróżnienie
- MemoryDataExport i HtmlExport nie zgłaszają już udanych eksportów CSV, HTML i RTF jako porażek (te writery zwracają 0 przy sukcesie), a MemoryDataExport zapisuje wszystkie trzy pliki, nawet gdy jeden padnie
- Dema, które zapisują, a potem raportują albo otwierają plik (QuickStart, ExcelGraphics, HotXLSInMemory, OrderCalc, PurchaseOrder i kilka konsolowych), sprawdzają wynik zapisu zamiast ogłaszać sukces, gdy plik jest zablokowany
- ConversionWorkbench traktuje każdy ujemny wynik writera jako porażkę i najpierw usuwa stare wyjście, więc stary plik nie ukrywa już nieudanej konwersji; wersja C++Buildera eksportuje każdy arkusz do HTML
- InvoiceTemplate, OrderCalc i DataExport nie zależą już od formatu liczb i dat Windowsa: formuły podatkowe, ceny i progi dat działają na systemach z przecinkiem jako separatorem dziesiętnym albo z datą zaczynającą się od roku
- Mniejsze poprawki: sumy w QuickStart używają ciemnego tekstu na jasnym wypełnieniu, DateSystems pokazuje surowe numery seryjne i poprawną datę epoki 1904, CrossWorkbookCopy trzyma swoje scalone komórki poza tabelą, CrossWorkbookCopyXls używa listy rozdzielanej przecinkami i prawdziwego jasnoniebieskiego, Hyperlinks pokazuje zamierzony tekst łącza, SheetProtection poprawnie opisuje i ustawia dozwolone akcje, OdsImport nie tworzy już pustych komórek przy skanowaniu, InteractiveFeatures zapisuje skoroszyt bez zawartości VBA jako .xlsx, WorkbookAudit raportuje zaszyfrowane pliki XLS i ich projekty VBA, ChartTypes trzyma swoje wykresy z dala od danych, dema eksportu danych w C++Builderze znajdują Demos.mdb z folderu wyjściowego IDE, a FormulaFunctions sprawdza ponownie otwartą komórkę i liczy nieudane ponowne otwarcia
Wersja 2.384.35
Naprawiono
- Przypisanie koloru do czcionki, wypełnienia, krawędzi obramowania albo przebiegu rich text w XLSX od teraz działa samo z siebie. Te obiekty startują z kolorem automatycznym, a jawne
Color,ForegroundColorlubBackgroundColorbyło po cichu wyrzucane, chyba że skasowano też odpowiadającą flagęColorIsAuto/ForegroundIsAuto/BackgroundIsAuto - Przypisanie koloru RGB kasuje też wcześniejsze źródło koloru z motywu albo indeksu, które inaczej brałoby na nie górę; przypisanie slotu motywu lub indeksowanego o wartości 0 lub większej kasuje flagę automatyczną
- Kolory obramowania wklejone do skoroszytu XLSX ze schowka, kolory obramowania klasycznych skoroszytów eksportowanych do XLSX i kolor czcionki przekazany do
TXLSXComment.SetFontsą teraz zapisywane zamiast ginąć na rzecz koloru automatycznego
Wersja 2.384.34
Naprawiono
- Elementy sum częściowych, sumy całkowite i puste na liście elementów pola przestawnego nie są już czytane jako elementy danych; kopiowanie takiej tabeli przestawnej zapisywało element wskazujący na indeks -1 pamięci podręcznej
- Pola przestawne z plików Excela trzymają swoje domyślne sumy częściowe: Excel pomija
defaultSubtotal, gdy jest włączone, a HotXLS czytał brak atrybutu jako wyłączenie - Pola pamięci podręcznej pivotów, których elementy współdzielone pomijają
containsString, są czytane jako pola tekstowe, zgodnie z domyślną wartością schematu, zamiast jako pola mieszane
Wersja 2.384.33
Naprawiono
- Tabele przestawne zapisywane przez silnik XLSX używają wartości osi ze schematu (
axisRow,axisCol,axisPage); wcześniejsze wersje zapisywałyrowAxis/colAxis/pageAxis, które nie są poprawnym OOXML. HotXLS dalej czyta pliki ze starymi wartościami - Pola przestawne używane w obszarze wartości są oflagowane
dataField="1", a pola bez elementów nie dostają już pustej listy<items>, której schemat nie pozwala - Ukryte i zwinięte elementy przestawne trzymają swój stan przy kopiowaniu lub przebudowie tabeli przestawnej, a lista elementów każdego pola kończy się elementami sum częściowych, których Excel oczekuje dla swoich funkcji sum częściowych
- Pola pamięci podręcznej pivotów niosą liczbowy
numFmtIdzamiast tekstuGeneral
Wersja 2.384.32
Naprawiono
- Import ODS poprawnie konwertuje wiersze tablic inline:
{1;2|3;4}zmienia się w{1,2;3,4}zamiast w formułę, której Excel nie sparsuje - Import ODS konwertuje operator unii odwołań:
SUM([.A1:.B2]~[.C3])zmienia się wSUM((A1:B2,C3))
Wersja 2.384.31
Naprawiono
- Import ODS czyta komórki czasu, których czas trwania niesie część daty, jak
P0Y0M0DT12H30M15S, i czasy trwania w tygodniach, jakP1W, zamiast schodzić do tekstu wyświetlanego Mprzed separatoremTw czasie trwania ODS to miesiąc, nie minuta; niezerowe lata i miesiące, które nie mają stałej długości, schodzą teraz do tekstu wyświetlanego zamiast zmieniaćP1Mw jedną minutę
Wersja 2.384.30
Naprawiono
TGWmfEmfReadzamyka metaplik, gdy plik jest za krótki albo uszkodzony, zamiast trzymać go zablokowanego do wyjścia procesuTGWmfEmfReadtraktuje placeable WMF, którego nagłówek podaje zero jednostek na cal, jako bez rozmiaru zamiast dzielić przez zeroTGWmfEmfReadtrzyma 32-bitowe rozmiary i granice wBSEWMF, zgodnie z nagłówkiem obrazu, który opisuje
Wersja 2.384.29
Naprawiono
- Obrazy WMF i EMF o rozmiarze 64 KB i większym w klasycznych skoroszytach XLS przeżywają otwarcie i zapis; ich rozmiary zapisane i po dekompresji były ucinane do 16 bitów, więc Excel nie potrafił zdekodować obrazu w zapisanym pliku
- Granice obrazów metaplikowych spoza zakresu -32768..32767 są zachowywane zamiast się zawijać
Wersja 2.384.28
Naprawiono
TXMLWriternie produkuje już zniekształconego XML-a, gdy wartości tekstu lub atrybutów zawierają znaki kontrolne, niesparowane surogaty albo U+FFFE / U+FFFF; znaki, których XML 1.0 nie potrafi przedstawić, są pomijaneTXMLWriterzapisuje CR w tekście elementu jako odwołanie znakowe, więc tekst czyta się z powrotem bez zmian, zamiast mieć CR zamienione w LFTXMLWriterrzuca błąd, gdy strumień docelowy przyjmuje mniej bajtów niż zapisano, na przykład na pełnym dysku, zamiast zostawić plik po cichu obcięty
Wersja 2.384.27
Naprawiono
- Kopiowanie zakresu, którego formuły wskazują powyżej lub na lewo od kopiowanego bloku, jak
=B4+1skopiowany z B5, wkleja się teraz z odwołaniem dalej o wiersz wyżej; wcześniej odwołanie zostawało przyklejone do pierwotnej komórki i formuła mogła skończyć jako odwołująca się sama do siebie - Dane Excela na schowku publikowane przez HotXLS trzymają skopiowane komórki na ich pozycji w arkuszu, więc aplikacje czytające je widzą oryginalne adresy
Wersja 2.384.26
Naprawiono
- Pomocniki stringowe zlib (
ZCompressStr,ZDecompressStri warianty in-place) przetwarzają teraz cały ciąg; przy ciągach Unicode kompresowała się tylko pierwsza połowa tekstu, więc przejście tam i z powrotem gubiło dane
Wersja 2.384.25
Naprawiono
- Hiperłącza w klasycznych skoroszytach, których tekst wyświetlany jest oflagowany bez flagi witryny, czytają się poprawnie, a hiperłącza o nietypowym typie celu nie wywalają już całego otwarcia ani nie zwracają pokiereszowanego podadresu
Wersja 2.384.24
Naprawiono
- Wyjątek rzucony przez procedurę obsługi zmian monitora plików nie zatrzymuje już po cichu monitora; dalej obserwuje i zgłasza późniejsze zmiany
Wersja 2.384.23
Naprawiono
- Kolory motywu z tintem poniżej -1 w uszkodzonym pliku są przycinane do czerni zamiast dawać losowe kolory przy eksporcie lub drukowaniu
Wersja 2.384.22
Naprawiono
- Połączenia danych utworzone przez API zapisują się z atrybutem wersji odświeżania, którego wymaga format pliku
- Połączenie z brakującą lub powtórzoną nazwą albo id nie wysypuje już całego otwarcia skoroszytu; wpis zostaje taki, jaki był, i wraca na dysk bez zmian
Wersja 2.384.21
Naprawiono
- Zmiana kodu źródłowego modułu VBA od teraz daje efekt w Excelu: projekt jest zapisywany tak, żeby Office skompilował nowe źródło zamiast odpalać skompilowany kod starego z pamięci podręcznej
- Źródło modułu VBA zapisuje się teraz w postaci skompresowanej zdefiniowanej przez format; ostatni blok każdego modułu był zapisywany w sposób, który Office traktuje jako uszkodzenie
- Uszkodzony strumień katalogu VBA nie zawiesza już otwierania skoroszytu, a wpis modułu bez informacji o strumieniu nie zostawia już pustego modułu w projekcie
Wersja 2.384.20
Naprawiono
- Nazwy zdefiniowane wczytane z klasycznego skoroszytu trzymają swoje przesunięte odwołania po wstawieniu lub usunięciu wierszy czy kolumn i zapisie skoroszytu; wcześniej plik dalej zawierał pierwotne odwołanie
Wersja 2.384.19
Naprawiono
- Dopasowanie tylko wierszy albo tylko kolumn arkusza XLSX nie ustawia już szerokości każdej mierzonej kolumny ani wysokości każdego mierzonego wiersza na zero, gdy nie miały jawnie ustawionego rozmiaru
Wersja 2.384.18
Naprawiono
- Kryteria AutoFiltera w klasycznych skoroszytach łączą się tak, jak zostały ustawione: warunki AND były zapisywane jako OR i odwrotnie, więc Excel pokazywał złe wiersze
- Logiczne kryteria AutoFiltera zapisują się jako TRUE lub FALSE; były trzymane w postaci, którą Excel czyta jako wartość błędu
Wersja 2.384.17
Naprawiono
- Daty utworzenia i ostatniego zapisu klasycznych skoroszytów zgadzają się teraz z Excelem; były zapisywane dzień za późno i czytane dzień za wcześnie
- Data ostatniego zapisu leży pod swoją właściwą właściwością dokumentu; trafiała do pola liczby stron, gdzie Excel i Windows nie pokazywały jej jako daty
- Łączny czas edycji jest zapisywany jako czas trwania, więc Excel i Windows pokazują prawdziwą liczbę minut zamiast około 299 lat; czasy zapisane przez wcześniejsze wersje czytają się dalej poprawnie
Wersja 2.384.16
Naprawiono
- Reguła unikatowych wartości kontroli importu porównuje teraz wartości komórek; wcześniej każda wartość po pierwszej w kolumnie była zgłaszana jako duplikat
- Dodanie drugiej reguły dla tej samej kolumny czysto zastępuje pierwszą; stara reguła była zwalniana, ale dalej sprawdzana, a zwolnienie kontrolera rzucało błąd nieprawidłowego wskaźnika
- Sprawdzanie arkusza nie tworzy już pustych komórek dla pustych wartości, które czyta
- Zostawianie tylko wierszy naruszających reguły nie zapisuje już poza swoją tabelą wierszy, gdy naruszenie leży poniżej używanego zakresu, a wiersz nagłówka jest wstawiany nad danymi zamiast nadpisywać pierwsze naruszenie
Wersja 2.384.15
Naprawiono
- Czytanie wpisu ZIP w małych kawałkach nie gubi już ostatnich bajtów wpisu, gdy dane skompresowane kończą się w środku powtarzającej się sekwencji, co potrafiło zrobić z poprawnego XLSX-a błąd rozmiaru wpisu
- Dekompresja danych rozszerzających się ponad 2 GB rzuca teraz błąd zamiast wywalić proces 64-bitowy
- Strumień dekompresji zwraca wszystkie pozostałe dane po wyczerpaniu wejścia zamiast kończyć za wcześnie
Wersja 2.384.14
Naprawiono
- PNG z przeplotem o 1, 2 lub 4 bitach na piksel nie zapisują już poza buforem obrazu, co mogło wywalić program albo popsuć sąsiednie piksele przy eksporcie lub drukowaniu skoroszytu, który je zawiera
- PNG z przeplotem dekodują się poprawnie, gdy przebieg zaczyna filtrem Average albo Paeth
- PNG w skali szarości o 2 bitach renderują teraz swoje prawdziwe poziomy szarości, a czytanie pojedynczych pikseli obrazów 2-bitowych w skali szarości i paletowych zwraca właściwe kolory
- PNG, których dane skompresowane mają bajty na końcu, nie zawieszają już dekodera, a poprawne obrazy z dużym chunkiem danych obrazu nie są już odrzucane błędem CRC
- Obrazy z niepoprawną głębią bitową albo długością chunku wykraczającą poza koniec pliku są odrzucane zgrabnie zamiast wywalać program albo alokować gigabajty pamięci
- Chunki tekstowe zapisywane do obrazów PNG nie są już obcinane ani psute
Wersja 2.384.13
Naprawiono
- Klasyczne skoroszyty szyfrowane RC4 używają teraz poprawnego hashu hasła dla haseł od 28 znaków wzwyż, więc otwierają się w Excelu; hasła od 32 znaków dawały wcześniej pliki, których nie otwierał nawet HotXLS
- Hasła RC4 do 255 znaków są przyjmowane przy otwieraniu, a pliki z hasłami 28–31 znakowymi zapisane przez wcześniejsze wersje dalej się otwierają
- Uszkodzony nagłówek RC4 CryptoAPI z przesadzoną długością jest zgłaszany jako zepsuty plik zamiast rzucać ogólny błąd
Wersja 2.384.12
Naprawiono
- Skoroszyty szyfrowane trybem Agile deklarujące SHA-256 odszyfrowują się teraz poprawnie; segmenty danych były zawsze odszyfrowywane wektorami inicjalizacyjnymi SHA-512, więc skoroszyt nie chciał się otworzyć nawet z poprawnym hasłem
- Pliki Agile, których dane klucza i szyfrator klucza hasła używają różnych algorytmów hashujących, nie są już zgłaszane jako otwierane złym hasłem
- Spin count ponad limit 10000000 formatu jest odrzucany od razu zamiast zaprzątać CPU na godziny
- Obcięty weryfikator hasła nie czyta już poza swoim buforem, a klucz integralności zapisywany przez
SaveAsEncryptedAgilema teraz długość, jakiej wymaga format
Wersja 2.384.11
Naprawiono
- Skoroszyty zapisane przez
SaveAsEncryptedotwierają się teraz w Excelu. Klucz ECMA-376 Standard Encryption był wyliczany bez swojego ostatniego kroku, a rozmiar pakietu był szyfrowany razem z danymi, więc Excel odrzucał hasło; skoroszyty zaszyfrowane w ten sposób przez Excela 2007 też dają się teraz otworzyć - Zaszyfrowane skoroszyty zapisane przez wcześniejsze wersje HotXLS dalej otwierają się z poprawnym hasłem
- Uszkodzony nagłówek szyfrowania z przesadzoną długością nie powoduje już access violation przy otwieraniu
Wersja 2.384.10
Naprawiono
- Kopiowanie i wklejanie formuł między komórkami oraz sortowanie z kopiowanymi formułami nie przesuwa już odwołań bezwzględnych:
$A$1zostaje na miejscu,A$1przesuwa tylko swoją kolumnę, a$A1tylko swój wiersz, jak w Excelu - Nazwy funkcji wyglądające jak adresy komórek, jak
LOG10(, nie są już przesuwane jako odwołania przy wklejaniu formuły, więc wklejona formuła nie zamienia się już wLOG11(i#NAME? - Odwołania z nazwą arkusza, jak
Sheet2!A1czy'My Sheet'!B3, przesuwają się teraz przy wklejaniu tak samo jak zwykłe - Wklejanie tekstu zaczynającego się od
=lub apostrofu do klasycznego skoroszytu zostawia go jako tekst; wcześniej zamieniał się w formułę albo gubił pierwszy znak
Wersja 2.384.9
Naprawiono
- Formaty liczb czasu trwania, jak
[h],[mm]i[ss].00, są teraz rozpoznawane jako formaty czasu zamiast być brane za nazwy kolorów; przy wyłączonej precyzji wyświetlania (FullPrecisionustawione naFalse) czas trwania sformatowany jako[ss].00nie jest już zaokrąglany jak zwykła liczba z dwoma miejscami po przecinku, co wcześniej zamieniało wartości rzędu kilku sekund w zero - Tokeny minut oddzielone od godziny lub sekundy literałem, jak w
h:mmimm:ss, są teraz czytane jako minuty, a nie miesiące, przy analizie formatu liczbowego
Wersja 2.384.8
Naprawiono
- Kopiowanie tekstu, HTML-a albo danych arkuszowych do schowka Windows używa teraz poprawnego tymczasowego właściciela, także w programach konsolowych i wątkach roboczych bez okna aplikacji; skopiowane dane zostają dostępne po zniszczeniu tego właściciela
- Nieudana publikacja na schowku zwalnia teraz każdy przydzielony blok danych, którego Windows nie przyjął, w tym towarzyszące bloki tekstu i HTML, gdy publikacja danych arkuszowych się nie powiedzie
Wersja 2.384.7
Naprawiono
- Kompilacja biblioteki ze źródeł w RAD Studio od XE5 do RAD Studio 12 Athens wywalała się po wejściu wsparcia Free Pascal i poprawki dnia przestępnego
DATE: te kompilatory parsują sprawdzanie wersji Free Pascal mimo że je pomijają, i odrzucają rzutowanie liczbowe stojące za szczególnym przypadkiemDATE(1900,2,29). Oba miejsca używają teraz form, które przyjmuje każdy wspierany kompilator, więc cały zakres RAD Studio buduje się znowu
Wersja 2.384.6
Naprawiono
- Kopiowanie komórek z komentarzem w klasycznym skoroszycie .xls, czy to w obrębie skoroszytu, do innego skoroszytu, czy przez przesuwanie wierszy i kolumn, zachowywało tekst komentarza, ale gubiło jego sformatowane przebiegi, więc każda kopia pokazywała całą notatkę jedną czcionką; przebiegi podróżują teraz razem z tekstem, a przy kopiowaniu między skoroszytami ich czcionki są dodawane do skoroszytu docelowego
- Kopiowanie całego arkusza przez
Sheets.AddCopyw klasycznym skoroszycie .xls gubiło komentarze w komórkach, które nie miały wartości ani formatowania; te komentarze są teraz również kopiowane - Komentarze w skoroszytach .xlsx po ponownym otwarciu były bez nazwy czcionki, przekreślenia i koloru swoich sformatowanych przebiegów, a zapisywane przebiegi nigdy nie niosły podkreślenia ani indeksu górnego/dolnego; to wszystko teraz przeżywa zapis i ponowne otwarcie, w tym przebiegi skopiowane z innego skoroszytu przez
CloneRangeTo
Wersja 2.384.5
Naprawiono
- Sformatowane przebiegi w komentarzach i polach tekstowych w klasycznych skoroszytach .xls nie tracą już czcionek przy zapisie. Czcionka używana tylko przez taki przebieg mogła wypaść z zapisywanej listy czcionek, najczęściej gdy HotXLS zapisywał ponownie skoroszyt, który już raz zapisał, a przebieg pokazywał wtedy w Excelu czcionkę domyślną albo łapał czcionkę dodaną w międzyczasie; te czcionki są teraz zachowywane, a przebiegi są numerowane od nowa razem z resztą listy czcionek
TextRuns.FontIndexw komentarzach i polach tekstowych trzyma się numeracji czcionek pliku, gdzie indeks 4 nie jest nigdy używany, a piąta czcionka ma indeks 5; rezerwacja palety dla indeksowanych kolorów czcionek czyta teraz te indeksy tak samo
Wersja 2.384.4
Naprawiono
- Zmiana numeracji czcionek w 2.384.1 była sama w sobie błędem: klasyczne pliki .xls numerują czcionki tak jak Excel ([MS-XLS] §2.5.129), gdzie indeks 4 nie jest nigdy używany, a piąta czcionka ma indeks 5, ale 2.384.1 przeszło na zwykłe liczenie od zera; zapisane skoroszyty pokazywały wtedy w Excelu każdą czcionkę niestandardową o jedno miejsce za wcześnie (pierwsza spadała na czcionkę domyślną), a skoroszyty napisane przez Excela otwierały się z każdą czcionką niestandardową przesuniętą o jedno miejsce za późno. Zapis i odczyt znów trzymają się numeracji Excela, co zweryfikowano względem skoroszytów zapisanych i odczytanych przez samego Excela
- Komórki z tekstem sformatowanym zachowują czcionkę każdego sformatowanego przebiegu przez otwarcie, zapis i kopiowanie arkuszy między skoroszytami, w tym przebiegi, których czcionką nie posługuje się bezpośrednio żadna komórka
- Skoroszyty zapisane przez wersje od 2.384.1 do 2.384.3 z pięcioma lub więcej czcionkami mają już przesuniętą numerację, której od poprawnych danych nie odróżni ani Excel, ani HotXLS; wygeneruj je ponownie z ich źródła albo nałóż jeszcze raz dotknięte czcionki i zapisz ponownie
Wersja 2.384.3
Naprawiono
- Daty od 1900-01-01 do 1900-02-28 były o dzień niezgodne z Excelem w obu silnikach skoroszytów, bo kalendarz roku 1900 w Excelu liczy zmyśloną datę 1900-02-29; odczyt i zapis stosują teraz udokumentowaną korektę,
DATE(1900,2,29)odpowiada wartością 1900-02-28 zamiast#VALUE!, a tabela ciągów współdzielonych przeżywa osadzone znaki NUL i dwubajtowe strony kodowe przez granice rekordów bez rozsynchronizowania - Porównania łańcuchują się od lewej do prawej, tak jak liczy je Excel, więc
=1<2<3czyta się teraz jako(1<2)<3i daje FALSE jak Excel (TRUE wyprzedza każdą liczbę w porównaniu), podczas gdy wcześniej grupowało się to jako1<(2<3)i dawało TRUE; pusty operand w porównaniach równa się zarówno 0, jak i pustemu ciągowi; kryteria z symbolami wieloznacznymi działają przy "nierównym" wCOUNTIFiSUMIFdokładnie tak, jak już działały przy "równym"; zakres sumySUMIFi jego krewnych zmienia rozmiar od lewej górnej komórki do kształtu zakresu kryterium zamiast się zaciskać, aINDIRECTrespektuje swój drugi argument (bezwzględny tekst R1C1) i odrzuca śmieci za odwołaniem YEARFRACz podstawą 0 stosuje te same korekty NASD przy końcu lutego, któreDAYS360już wdrożył, więc okresy dotykające końca lutego liczą się poprawnie- Tekst "endstream" w komórce nie potrafi już uciąć strony PDF podczas kompresji strumienia, poprawka tokena całkowitej liczby stron trzyma spójną długość strumienia, gdy kompresja jest pomijana, przesunięcia obiektów ponad 32 bity wysypują się głośno zamiast psuć tablicę odwołań krzyżowych, a JPEG-i w skali szarości albo CMYK dostają znacznik prawdziwej przestrzeni barw zamiast
/DeviceRGB - Skoroszyt, któremu odebrano albo utnęto magazyn pamięci podręcznej pivotów, otwiera się z oznaczonymi jako niekompletne dotkniętymi pamięciami zamiast wywalać całe wczytanie, i zapisuje te pamięci ponownie przez stary układ inline zamiast rzucać błędem
- Tabela ciągów współdzielonych, której zadeklarowana liczba ciągów przewyższa to, co dostarcza łańcuch rekordów, kończy się teraz błędem przy otwarciu zamiast po cichu rozwiązywać pozostałe komórki na puste ciągi
Wersja 2.384.2
Naprawiono
- Konwersja klasycznego skoroszytu .xls do .xlsx po cichu gubiła scalone komórki leżące na lewo od wcześniejszego scalenia w niższym wierszu; skan nie używa już swojej zmiennej used range do obszaru scalenia
- Komentarz XML na liście rozszerzeń skoroszytu był wypisywany ponownie z podwojonymi znacznikami
<!--przy każdym zapisie, co dawało plik wymagający naprawy przez Excel; węzły komentarzy przechodzą teraz round-trip bajt w bajt - Nieznane rekordy arkusza przechwycone z otwartego .xls wypadały z każdego kolejnego zapisu, mimo że były trzymane do odtworzenia, i przeciekały pamięć przy każdym otwarciu; teraz się utrwalają i odtwarzają słowo w słowo przez standardowy zapisywacz rekordów
- Zdefiniowane nazwy dłuższe niż 255 znaków i komentarze nazw dłuższe niż 65535 znaków psuły oprawę rekordu NAME przy zapisie; oba są teraz odrzucane z góry
- Przerwany zapis przeciekał buforami rekordów skoroszytu i arkusza, gdy w połowie zapisu wychodziła niezgodność szyfrowania; zapis zwalnia teraz swoje bufory na każdej ścieżce wyjścia
- Pisarz łatający w miejscu usuwał oryginalny plik przed zmianą nazwy zastępcy na właściwą, więc nieudane przemianowanie niszczyło skoroszyt; zamiana to teraz pojedyncza atomowa podmiana, która przy porażce zachowuje oba pliki
- Odwołania do komórek w bezpośrednim czytniku pilnują granic 16384 kolumn i 1048576 wierszy zamiast przyjmować przepełnionych współrzędnych, zniekształcone atrybuty całkowitoliczbowe wracają do wartości domyślnych zamiast przerywać całe czytanie, a daty między 1900-01-01 a 1900-02-28 przeliczają się z uwzględnieniem zmyślonego dnia przestępnego Excela w obie strony
- Wartości atrybutów zawierające tabulator, line feed albo carriage return przechodzą round-trip bez zmian zamiast zlewać się w spacje, a niedomknięta encja w tekście elementu jest teraz odrzucana tak samo jak w gałęzi atrybutów
- Dosłowne kopie wpisów ZIP o rozmiarze 4 GiB lub większym, których ścieżka kopiowania nie potrafi poprawnie oprawić, są teraz odmawiane jak przez pisarza strumieniowego zamiast dać uszkodzone archiwum
- Corpus runner zapisuje swoje wyniki atomowo, więc przerwane uruchomienie nie może zniszczyć zachowanych dowodów, rejestruje timeouty budowania zamiast się wysypywać i toleruje zniekształcone linie stage-trace; weryfikator LibreOffice zapisuje swoje dowody atomowo, a sonda podmiany plików znowu faktycznie zbiera listę produktów antywirusowych
Wersja 2.384.1
Naprawiono
- Każda czcionka od piątej wzwyż była zapisywana z indeksem rekordu o jeden za końcem listy czcionek, więc Excel naprawiał skoroszyt, a niestandardowe czcionki wracały jako domyślne; zapis i odczyt używają teraz udokumentowanego indeksu od zera, więc niestandardowe czcionki przeżywają round-trip, a pliki autorstwa Excela zachowują swoje czcionki przy otwarciu w HotXLS
- Liczenie
=0^-1albo ujemnej podstawy z ułamkowym wykładnikiem wywalało przeliczanie wyjątkiem zmiennoprzecinkowym zamiast zwracać#DIV/0!albo#NUM! - Reguły wyrażeń formatowania warunkowego wczytane z istniejącego .xls były zapisywane ponownie jako sieroca rekord CF12 pod gołym nagłówkiem legacy, który Excel wyrzuca; teraz zachowują postać rekordu legacy i swoje podświetlenie
- Operator przecięcia odwołań oraz niejawne przecięcie przemianowanych wyników
OFFSETi wielokomórkowychINDIRECTszły po złej osi albo odrzucały poprawne zakresy o jednym wierszu lub jednej kolumnie, zwracając złą komórkę albo#REF! - Strumieniowy czytnik wierszy zgłaszał każdą zbuforowaną wartość logiczną formuły jako FALSE, a każdy zbuforowany błąd jako
#NULL!przy czytaniu klasycznych plików .xls - Dużych plików .xls, których kontener pliku złożonego przekracza 109 sektorów FAT mieszczących się w nagłówku, nie dało się otworzyć samowystarczalnym czytnikiem plików złożonych, bo łańcuch rozszerzeń DIFAT nie był nigdy śledzony
- Niestandardowe style tabel wczytywały swoje kolory wypełnienia i czcionki z zamienionymi kanałami czerwonym i niebieskim, więc zapisany styl wracał w złym kolorze
- Zniekształcone obrazy PNG osadzone w skoroszycie mogły wywalić proces zapisem poza granice podczas osadzania obrazów PDF albo nieograniczonym skanowaniem chunków tekstowych; osadzone PNG-i są teraz sprawdzane pod względem wymiarów, a zniekształcone chunki są odrzucane
- Regiony EMF z wielu prostokątów renderowały się jako swój prostokąt otaczający, obrazy EMF bez jawnego zakresu viewport skalowały się źle, a tekst w indeksie górnym renderował się poniżej linii bazowej na wyjściu canvas, wydruku i metapliku
- Automatycznie priorytetyzowane reguły formatowania warunkowego BIFF nosiły wszystkie priorytet 1, co Excel flaguje jako naprawę; priorytety automatyczne są teraz unikalne na arkusz jak ich odpowiedniki w XLSX
- Styl obramowania
xlSlantDashDotbył zapisywany jakoxlDashDotDotw wyjściu obramowań klasycznego .xls - Ucięty rekord nagłówka zaszyfrowanego skoroszytu rzucał wyjątkiem przez
Openzamiast zwracać kod błędu hasła, a kilka ścieżek błędów przeciekało pamięcią przy parsowaniu zniekształconych plików obrazów lub skoroszytów
Wersja 2.384.0
Zmieniono
- Pamięci podręczne pivotów w klasycznym XLS-ie zapisują się tak, jak zapisuje je Excel: rekordy każdej pamięci trafiają do własnego strumienia magazynu, a identyfikator strumienia, zakres pamięci oraz definicja źródła — arkusz albo zakres nazwany — są zapisywane raz w sekcji globalnej skoroszytu; pamięci zapisane przez starsze wersje HotXLS zachowują swój dotychczasowy układ inline, chyba że włączono dobrowolną aktualizację ramki
- Skoroszyty chronione hasłem szyfrują strumień każdej pamięci podręcznej pivotów jako osobny strumień rekordów zaczynający od zera na początku strumienia, zamiast kontynuować pozycję szyfrowania strumienia skoroszytu
Naprawiono
- PivotTable mógł wskazywać złą pamięć podręczną po zapisaniu skoroszytu, który mieszał pamięci wczytane z istniejącego pliku z pamięciami utworzonymi w kodzie; odwołanie z widoku do pamięci podręcznej podąża teraz za rzeczywistą kolejnością zapisu
- Każdy pakiet HotXLS wciąż dźwigał zasób wersji 2.379.7, a przebudowanie pakietu w C++Builder mogło zedrzeć zasób wersji w całości; wszystkie pakiety niosą teraz bieżącą wersję
Wersja 2.383.4
Naprawiono
- Głębokie audyty formuł utrzymują teraz zmienione wyniki dostępne dla formuł zależnych nawet wtedy, gdy zmiany mieszczą się w tolerancji raportowania, a jawne zastosowanie odświeża te niezgłoszone wyniki
- Tolerancja względna jest teraz honorowana dla zbuforowanych wyników o podwójnej precyzji w obu silnikach skoroszytów, a niezmienione wyniki omijają dublujące się porównanie
Wersja 2.383.3
Naprawiono
- Zapisy skoroszytów oparte na plikach zachowują teraz natywny błąd Windows, gdy gotowe wyjście XLSX, XLTX albo ODS nie może zastąpić swojego celu, także gdy sprzątanie albo callback postępu zmienia stan błędu wątku
Wersja 2.383.2
Naprawiono
- Powtarzalne kopie pasów raportu i zakresów ponownie używają wyszukiwań po sufiksach zdefiniowanych nazw zamiast przeskanować każdą wcześniejszą kopię, zachowując pierwszą dostępną nazwę, zakres arkusza i ponowne użycie nazw uwolnionych przez późniejsze edycje
Wersja 2.383.1
Naprawiono
- Przebudowa zależności formuł unika wielokrotnego skanowania poprzedzających wierszy formuł, co obniża koszt dużych łańcuchów obliczeń przy zachowaniu odwołań wyjść tablicowych, zależności między arkuszami i kolejności wyszukiwania
Wersja 2.383.0
Dodano
- Szablony Excela bez makr można zapisywać jako XLTX poprzez jawny wybór formatu wyjściowego, z użyciem plików lub strumieni oraz wyjścia buforowanego albo strumieniowego
- Wyjście szablonu zachowuje formuły, zdefiniowane nazwy, obszary wydruku i metadane arkusza, pozostawiając domyślne zachowanie zapisu skoroszytu bez zmian; skoroszyty zawierające VBA są odrzucane, zanim cokolwiek trafi do pliku docelowego
Wersja 2.382.5
Naprawiono
- Ustawienia fonetyczne zachowują wymagany indeks czcionki domyślnej, dzięki czemu Excel nie odrzuca zapisanych skoroszytów, gdy indeks ma wartość zero
- Dynamiczne formule obszaru wydruku i unie zakresów z kwalifikacją arkusza przeżywają round-trip bez dodawania prefiksu arkusza do funkcji ani obcinania odwołań wewnątrz wyrażenia
- Generowane i zachowywane części pakietu współdzielą unikalne deklaracje content-type, a właściwości niestandardowe nie kolidują już z nieprzejrzystymi identyfikatorami relacji root
Wersja 2.382.4
Naprawiono
- Skalarne odwołania do zdefiniowanych nazw używają przecięcia z bieżącym wierszem lub kolumną, podczas gdy argumenty zakresowe zachowują swoje pełne zakresy, co pozwala uniknąć fałszywych cykli zależności w szablonach kredytowych
- Arytmetyka formuł mieszająca liczby całkowite i zmiennoprzecinkowe zachowuje precyzję zmiennoprzecinkową zamiast być obcinana do czterech miejsc dziesiętnych
- Ponowne przeliczanie najpierw honoruje dostępne precedenty wyszukiwania, a dopiero potem czyta ich cache, co eliminuje nieaktualne liczby płatności i podobne wyniki wyszukiwania
Wersja 2.382.3
Naprawiono
- AGGREGATE obsługuje błędy z nieprzeliczonych komórek oraz zagnieżdżoną agregację z niezależnymi ustawieniami wyboru, zachowuje obliczenia tablicowe i propaguje oryginalne typy błędów
- Zapis klasycznego XLS zachowuje istniejące cache formuł do czasu jawnego przeliczenia, w tym korzenie formuł współdzielonych i tablicowych; formuły współdzielone tłumaczą odwołania względne dla swoich komórek docelowych
- Odwołania strukturalne obsługują backslashe i kropki w nazwach tabel, zagnieżdżoną składnię bieżącego wiersza oraz escapowane nazwy kolumn, bez zmieniania podobnego tekstu wewnątrz ciągów formuł
- Formatowanie warunkowe w XLSX zachowuje kolory RGB, jawne flagi czcionki, style podkreślenia, nazwy czcionek, rozmiary i schematy
- Niemodyfikowane wykresy zachowują swoje oryginalne definicje i niezerowe przesunięcia kotwic, co zapobiega zmianom kolorów, pozycji i rozmiarów serii
- Ustawianie marginesów strony nie zapisuje już nieokreślonej orientacji strony, a klasyczny XLS zachowuje brakujące zaimportowane marginesy strony zamiast dodawać domyślne wartości zmieniające rozmieszczenie wydruku
Wersja 2.382.2
Naprawiono
- Skoroszyty ODS zawierające duże powtarzane zakresy pustych wierszy otwierają się i zapisują bez rozwijania każdej wysokości wiersza i dziedziczonego stylu pustych komórek do osobnych obiektów
- Wynik ODS zachowuje jawne wysokości wierszy i kompaktowe powtarzane sformatowane wiersze, w tym nadpisania pojedynczego wiersza i wyczyszczone wysokości; zakresy wysokości wierszy przeżywają też kopiowanie arkusza, wstawianie i usuwanie wierszy, tiling oraz eksport do XLSX
Wersja 2.382.1
Naprawiono
- Otwieranie i zapisywanie skoroszytów XLSX z ustawieniami kolumn o pełnej szerokości nie skanuje już wielokrotnie metadanych kolumn ani nie kopiuje rosnącego XML-a kolumn, co eliminuje timeouty round-trip w skoroszytach z datami i szablonach przy zachowaniu ustawień kolumn
- Definicje tabel przestawnych w ODS zachowują odziedziczone deklaracje przestrzeni nazw XML, w tym rozszerzenia producenta, więc zapisany XML pozostaje well-formed
Wersja 2.382.0
Naprawiono
- Zapis klasycznego skoroszytu XLS trzyma teraz zagnieżdżone komórki
SUBTOTALpoza otaczającymi wynikami sum częściowych, zachowując oryginalne buforowane sumy zamiast podwójnego liczenia wierszy grup - Wykresy XLSX są ładowane wyłącznie przez relację rysowania wskazywaną przez każdy arkusz, więc niepowiązana klasyczna część rysunku nie może już zduplikować wykresu podczas round-tripu
- Definicje tabel data-pilot OpenDocument przeżywają zapis ODS, w tym ich zakresy źródłowe, pola, zakresy docelowe, przyciski i atrybuty rozszerzeń producenta
- Opcje 0-7 funkcji
AGGREGATEstosują teraz udokumentowane reguły wyboru dotyczące ukrytych wierszy, błędów oraz zagnieżdżonychSUBTOTAL/AGGREGATEw formach obliczeń referencyjnej i tablicowej
Wersja 2.381.0
Dodano
- Slicery tabel (Excel 2013+):
Worksheet.Slicers.Add(Table, ColumnName)tworzy widok slicera dla dowolnej kolumny tabeli end-to-end — zapasowa pamięć podręczna slicera o nazwieSlicer_<column>, zarezerwowana nazwa zdefiniowana#N/A, rozszerzenieslicerListarkusza oraz zakotwiczenie rysunku ze zgodnością znaczników, niosące notę fallback dla starszych wersji Excela, są zapisywane automatycznie, a widok można pozycjonować, podpisywać i stylować przezCaption,ColumnCount,StartItem,StyleName,RowHeightiSetBounds - Model round-trip slicerów: widoki i pamięci podręczne slicerów parsują się z powrotem przy otwarciu pliku (współdzielone pamięci podręczne są ponownie używane przez wiele widoków, a usunięcie ostatniego widoku usuwa jego pamięć podręczną), niemodyfikowane części i zakotwiczenia slicerów odtwarzają się bajt po bajcie, a pamięć podręczna tabeli utrzymuje ważność swojego powiązania z tabelą nawet wtedy, gdy zapis ponownie numeruje identyfikatory tabel
Naprawiono
- Pamięci podręczne slicerów zapisywane przez wcześniejsze wersje odwoływały się do identyfikatora tabeli, który plik nosił w chwili otwarcia; gdy zapis ponownie numerował identyfikatory tabel w skali całego skoroszytu, nieaktualny
tableIdmógł wywołać w Excelu tryb naprawy. Powiązanie śledzi teraz tabelę przez całą ponowną numerację
Wersja 2.380.0
Dodano
- Wykresy waterfall i treemap: rozszerzone typy wykresów z Excela 2016 można tworzyć, zapisywać i ponownie otwierać. Są serializowane jako dedykowane części wykresów rozszerzonych z własnym typem zawartości, powiązaniem danych arkusza oraz zakotwiczeniem rysunku ze zgodnością znaczników, które niesie notę fallback dla starszych czytników
- Wykresy treemap obsługują kategorie hierarchiczne: każdy poziom kategorii serii jest zapisywany i odczytywany z powrotem jako osobny poziom wewnątrz wymiaru kategorii, z zachowaniem etykiet liści i rodziców
Wersja 2.379.4
Naprawiono
- Uszkodzony lub złośliwy klasyczny kontener XLS nie uszkadza już pamięci podczas otwierania. Czytnik plików złożonych kopiował cały sektor do mini-strumienia, nawet gdy należała tam tylko jego część, podążał za tablicą alokacji mini poza koniec tego strumienia, akceptował rozmiary sektorów niezdefiniowane przez format i wymiarował tablicę alokacji na podstawie niesprawdzonej liczby. Łańcuchy sektorów i mini-sektorów są teraz chronione przed cyklami, a nazwa strumienia wypełniająca swoje pole bez terminatora jest ograniczana
- Rekord stylu podający indeks formatu komórki poza tabelą formatów nie zapisuje już przez ten indeks. Liczniki odwołań na listach współdzielonych formatów i kluczy sprawdzały tylko dolną granicę, więc 12-bitowy indeks z pliku mógł sięgnąć poza tablicę
- Nagłówek lokalnego pliku zapisany z rozszerzonymi informacjami ZIP64 nie przepełnia już swojego bufora: zadeklarowany rozmiar nagłówka uwzględnia teraz 28-bajtowe pole dodatkowe, które moduł zapisu dokleja. Przesunięcia wpisów i pozycje strumieni są śledzone jako wartości 64-bitowe, wpis ZIP64 jest odczytywany z długością z pola dodatkowego, a nie z wartości wypełniacza, a wpis większy niż 4 GiB jest odrzucany zamiast być zapisywanym jako jego reszta
- Nazwa wpisu ZIP zawierająca separator systemu Windows jest normalizowana. Pojedynczy ukośnik odwrotny nigdy nie był konwertowany na ukośnik zwykły, więc
..\..\nameprzechodził kontrolę przechodzenia przez katalogi, która dzieli po ukośnikach zwykłych - Zakres maski bez górnej granicy, taki jak
[a-, nie czyta już poza końcem maski, a budowanie maski zaczynającej się od zestawu znaków nie traci już jednego zestawu na maskę. Oba przypadki są osiągalne przez kryteria COUNTIF i SUMIF - Wyszukiwanie obejmujące całą komórkę z symbolami wieloznacznymi wymaga teraz, aby wzorzec pasował do całej komórki, co jest zgodne zarówno z udokumentowanym zachowaniem, jak i z porównaniem całej komórki bez symboli wieloznacznych.
FindTextze wzorcemabcpasował wcześniej także do komórki zawierającejabcdef - Precyzja wyświetlania nie zaokrągla już komórek, których format liczbowy nie ma symbolu zastępczego cyfry. Komórka sformatowana jako
Generalprzez nazwę, jako tekst z@albo formatem zawierającym wyłącznie tekst stały była zaokrąglana do liczby całkowitej - Tabela współdzielonych ciągów nie zgłasza już większej liczby unikalnych ciągów, niż zapisuje, nie przypisuje już przebiegów tekstu sformatowanego usuniętego ciągu temu ciągowi, który akurat ponownie użyje jego slotu, i nie emituje już rekordu kontynuacji zawierającego nic poza bajtem opcji, gdy ciąg przekracza limit wyłącznie z powodu swojej formatowej końcówki
- Import RTF przestaje duplikować znaki spoza ASCII. Po escape
\\uNnastępują znaki zapasowe zapisane jako\\'hh, których logika pomijania nie rozpoznawała, więc każdy z nich był też emitowany jako tekst. Pomijane grupy uwzględniają teraz surowe ładunki\binN, a tabela szersza lub wyższa niż siatka arkusza zatrzymuje się na krawędzi zamiast zgłaszać wyjątek - Odwołanie liczbowe spoza zakresu znaków zdefiniowanego w XML jest odrzucane przy odczycie zamiast dawać osadzony znak NUL, izolowany surogat albo zawinięty punkt kodowy. Tabulator, wysuw wiersza i powrót karetki przeżywają cykl zapisu i odczytu OPC jako odwołania do znaków, zamiast być normalizowane do spacji
- Import CSV zachowuje wartość
SkipRowsmiędzy parsowaniami; była dekrementowana w miejscu, więc drugi plik czytany przez tę samą instancję czytnika nie pomijał niczego - Część
xl/tables/jest rozpoznawana przy decydowaniu, które części zachować; porównanie prefiksu było o jeden znak za krótkie i nigdy nie pasowało
Wersja 2.379.3
Naprawiono
- Import HTML dekoduje dziesiętne odwołania do znaków.
éi każda inna postać&#NNN;dawały znak NUL zamiast samego znaku, ponieważ konwersja zapisywała swój wynik i swoją pozycję błędu do tej samej zmiennej, a kod sukcesu nadpisywał wartość. Odwołania szesnastkowe były nietknięte; obie postacie odrzucają teraz wartości poza reprezentowalnym zakresem, zamiast emitować zabłąkany znak - Eksport HTML zachowuje cały podadres wewnętrznego hiperłącza przy budowaniu jego celu kotwicy. Podadres dłuższy niż 255 znaków był obcinany, więc wygenerowana kotwica przestawała pasować do łącza
Wersja 2.379.2
Naprawiono
- GIF wstawiony przez
AddPicturelubImages.AddFromFilepobiera teraz swój rozmiar z logicznego deskryptora ekranu. Każdy GIF zgłaszał wcześniej 100 na 100 punktów niezależnie od rzeczywistych wymiarów, więc obraz trafiał rozciągnięty albo spłaszczony - Wyznaczanie rozmiaru BMP czyta nagłówek bitmapy, który plik faktycznie deklaruje:
BITMAPCOREHEADERze swoimi 16-bitowymi wymiarami jest rozumiany zamiast być odczytywanym jako pola 32-bitowe, a BMP zapisany od góry do dołu z ujemną wysokością nie daje już ujemnej wysokości obrazu - Wyznaczanie rozmiaru JPEG akceptuje każdy znacznik klatki SOFn, a nie tylko baseline, extended sequential i progressive. Bezstratne, kodowane arytmetycznie i hierarchiczne pliki JPEG wpadały wcześniej w domyślne 100 na 100
Wersja 2.379.1
Naprawiono
- Obrazy WMF dekodują się teraz jako sceny wektorowe dla SVG, PDF i wyjścia stronicowanego. Od 2.363.0 dekoder czytał każdy rekord jako 16-bitowy rozmiar, po którym następował kod funkcji, podczas gdy rekord metafilu zaczyna się od rozmiaru 32-bitowego, więc każdy WMF zapisany przez Windows lub Office zatrzymywał się na pierwszym rekordzie, a obraz trafiał do zastępczego obrazu rastrowego. Rekordy są teraz wyznaczane według
[MS-WMF] §2.3, a parametry pióra, pędzla, czcionki, tekstu, kształtu i wielokąta są odczytywane z określonych przesunięć META_STRETCHDIBoczekiwał DIB przed prostokątem docelowym i zakładał 40-bajtowy nagłówek bitmapy; prostokąt poprzedza teraz DIB, zgodnie z formatem, przy lokalizowaniu bitów pikseli uwzględniane sąBITMAPV4HEADER/BITMAPV5HEADERi tabele kolorów, a rekord wnosi polecenie obrazu wXDest,YDesto rozmiarzeDestWidthnaDestHeightMETA_EXTTEXTOUTpomija swój opcjonalny prostokąt, gdy ustawiona jest flagaETO_OPAQUEalboETO_CLIPPED, więc tekst rysowany z nieprzezroczystym tłem nie jest już odczytywany z niewłaściwego przesunięcia- Obrazy metafili osadzone w renderowaniu strony czytają swoje piksele z przesunięcia podanego w nagłówku bitmapy, a nie ze stałych 40 bajtów, więc obraz z
BITMAPV4HEADERlubBITMAPV5HEADERnie renderuje się już jako przesunięty kolorowy szum
Wersja 2.379.0
Dodano
TGridToXLSjest teraz częścią pakietu środowiska uruchomieniowego Free Pascal, więc LazarusowaTDBGrideksportuje się tak jak pod VCL: jawne kolumny zachowują swoje tytuły, czcionki, kolory, wyrównanie, szerokości i widoczność, siatka bez jawnych kolumn eksportuje jedną kolumnę na pole zestawu danych, a wynik zapisuje się jako XLS, XLSX, HTML lub RTF tym samym wywołaniemSaveAs
Wersja 2.378.4
Naprawiono
- TEXTBEFORE i TEXTAFTER odczytywały liczbę argumentów ze zmiennej lokalnej, do której nigdy nie przypisywano wartości, więc opcjonalne argumenty instance, match-mode, match-end i if-not-found mogły zostać zignorowane, albo poprawne wywołanie odrzucone z #VALUE!, w zależności od resztek zawartości stosu; liczba pochodzi teraz z samego wywołania
- Przeskalowany OFFSET, czyli taki o wysokości lub szerokości różnej od 1, obliczany w pojedynczej komórce porównywał komórkę formuły z kotwicą, która nie została jeszcze obliczona, więc niejawne przecięcie mogło zwrócić #REF! lub złą komórkę; przesunięta kotwica jest teraz obliczana przed testem przecięcia
Wersja 2.378.3
Naprawiono
- We Free Pascal dopasowanie lub zamiana pustego ciągu zgłaszała błąd wyrażenia regularnego, więc wyrażenie raportu takie jak
regexreplace(Code,"[^0-9]","")kończyło się błędemREPORT_EXPRESSION_INVALID_REGEXza każdym razem, gdy pole było puste. Zaplecze FPC odpowiada teraz tak, jak robi toTRegExpod Delphi: wzorzec akceptujący pusty ciąg, np.^$lub.*, pasuje do niego i daje swój tekst zastępczy, natomiast[0-9]+lub\s+zgłasza brak dopasowania
Wersja 2.378.0
Dodano
- HotXLS buduje się teraz we Free Pascal 3.2.2 i Lazarus/LCL na Windows, Win32 i Win64. API skoroszytów XLS i XLSX, formuły, style, bezpośredni czytnik i moduł zapisu, eksport zestawów danych oraz funkcje pomocnicze renderowania działają z kodu FPC z semantyką ciągów Unicode Delphi; temat Obsługa Free Pascal i Lazarus opisuje konfigurację aplikacji i różnice zapleczy
- Pakiet środowiska uruchomieniowego
Lib/FPC/HotXLSLaz.lpkotwiera się w Lazarusie albo buduje per architektura z wiersza poleceń przezbuild-FPC-Lib.cmd, a zestawy testów dymnych Lazarusa podTests/Lazarusobejmują cykle zapisu i odczytu skoroszytów, kompresję, szyfrowanie, strumienie COM, grafikę, odczyt tekstu, wyrażenia regularne, eksport zestawów danych i wyrażenia raportów - Buildy FPC używają dołączonych zapleczy Pascal dla ZIP, strumieni kompresji i AES, więc pliki XLSX, w tym chronione hasłem, nie potrzebują ani biblioteki DLL zlib, ani prekompilowanych plików obiektowych, które linkuje Delphi; PNG zachowuje kanał alfa, rysowanie i odtwarzanie EMF idzie przez metapliki Windows, a eksport wielostronicowego TIFF używa środowiska GDI+
Wersja 2.377.2
Dodano
- Klasyczny XLS-owy PivotCache zapisany przez HotXLS przenosi teraz rekordy, względem których format definiuje nagłówek pamięci podręcznej. Identyfikator strumienia i typ danych źródłowych w nagłówku wskazywały wcześniej SXStreamID i SXVS, które nigdy nie były zapisywane, więc żaden czytnik nie mógł ich sprawdzić; oba rekordy są teraz zapisywane, a oba pola nagłówka pochodzą z tych samych wartości, więc zgadzają się z natury konstrukcji
- Podstrumienie pamięci podręcznej przenoszą też SXDBEx, rekord następujący po nagłówku pamięci podręcznej w każdej pamięci podręcznej zapisywanej przez Excel. Zapisuje on, kiedy pamięć podręczna była ostatnio odświeżana, więc
TXLSPivotCache.RefreshedDateprzeżywa teraz zapis i ponowne wczytanie klasycznego XLS tak, jak już działo się to w XLSX TXLSPivotCache.StreamIdiTXLSPivotCache.SourceDataTypeudostępniają te dwie wartości, odczytywane z pliku, który je podaje, i zapisywane do pary rekordów plus nagłówka pamięci podręcznej. Pamięć podręczna zbudowana przezAddPivotTablezgłasza strumień 0 i źródło w postaci zakresu arkusza
Zmieniono
- Włączana jawnie przebudowa starej ramki pamięci podręcznej (
UpgradeLegacyPivotCacheFraming) produkuje teraz także te trzy rekordy, więc zaktualizowana pamięć podręczna jest nie tylko poprawnie oprawiona, ale kompletna tak samo jak świeżo zapisane. Pamięć podręczna, która już przenosiła SXStreamID, SXVS lub SXDBEx, zachowuje to, co przenosiła; taka, której SXDBEx deklaruje rekordy formuł, których HotXLS nie zapisuje, pozostaje na surowym odtwarzaniu - Odczyt pozostaje bez zmian: pliki zapisane przed tą wersją wczytują się dokładnie jak wcześniej, a rekordy pamięci podręcznej, dla których HotXLS wciąż nie ma modelu — w tym DConRef lub DConName nazywające zakres źródłowy — są nadal zachowywane bajt po bajcie w cyklu zapisu i odczytu
Wersja 2.377.1
Dodano
- Skoroszyt może teraz zażądać przepisania swoich starych podstrumieni PivotCache przy zapisie.
TXLSWorkbook.UpgradeLegacyPivotCacheFramingjest domyślnie wyłączone; po włączeniu skoroszyt klasycznego XLS, którego pamięci podręczne zostały zapisane przez HotXLS przed v2.377.0, jest zapisywany z tymi pamięciami ponownie emitowanymi przez poprawione moduły zapisu SXDB / SXFDB / SXDBB, dzięki czemu seria poprawek pamięci podręcznej tabel przestawnych z zakresu v2.376.1 do v2.376.7 dociera do istniejących już plików, a nie tylko do nowych wyników - Aktualizacja stosuje się wyłącznie tam, gdzie udowodniono, że nic nie kosztuje. Pamięć podręczna wczytana z pliku jest emitowana ponownie tylko wtedy, gdy cały jej podstrumień zawierał rekordy modelowane przez HotXLS, a jej oprawa to taka, którą sam HotXLS zapisał błędnie; wszystko inne — każda pamięć podręczna wyprodukowana przez Excela i każda niosąca rekord taki jak SXDBEx, który HotXLS przechowuje wyłącznie jako nieprzejrzyste bajty — dalej odtwarza własne bajty przy włączonej opcji.
TXLSPivotCache.CanUpgradeFramingraportuje werdykt dla jednej pamięci podręcznej, aRawFramingIsLegacy/RawModelIsCompleteraportują dwie połowy, na których on się opiera - Zaktualizowana pamięć podręczna jest zapisywana tam, gdzie siedział jej podstrumień, a nie przesuwana przed pozostałe, więc widok tabeli przestawnej wciąż rozwiązuje się do pamięci podręcznej, którą wskazywał przed zapisem
Naprawiono
- PivotCache klasycznego XLS wczytany z pliku, a następnie przekazany modułowi zapisu ze skasowaną flagą surowego odtwarzania, tworzył dwa podstrumienie pamięci podręcznej — modelu i pliku. Teraz tworzy jeden
Wersja 2.377.0
Dodano
- Arkusze klasycznego XLS akceptują osadzone obiekty wykresów:
AddChartObjectna arkuszu zakotwicza ramkę wykresu na siatce arkusza (kształt kontrolki hosta OBJ typu 5 plus zakotwiczenie klienta MSODRAWING), buduje podstrumień wykresu przez współdzielony kreator wykresów i jedzie z listą rekordów arkusza, tak aby układ pliku odpowiadał temu, co czytnik ponownie doczepia przy otwarciu; cykl zapisu i odczytu przywraca ramkę z modelem wykresu — seria, tytuł i odwołania do zakresów nienaruszone
Naprawiono
- Rekordy SeriesText dekodują swój ładunek tekstowy o właściwej szerokości: czytnik przekazywał liczbę znaków tam, gdzie oczekiwano liczby bajtów, więc 16-bitowe podpisy i etykiety serii wracały obcięte do połowy długości (tytuł pięcioznakowy czytany jako dwa znaki)
Wersja 2.376.7
Naprawiono
- Wiersze przechowywane w pamięci podręcznej za tabelą przestawną w klasycznym pliku XLS są zapisywane tak, jak opisuje je [MS-XLS] 2.4.276: jeden rekord na wiersz buforowanych danych, zawierający jeden indeks na pole pamięci podręcznej, szeroki na jeden bajt albo dwa bajty dla pola z więcej niż 255 odrębnymi wartościami. HotXLS zapisywał zamiast tego własny schemat, wciskając każde pole w dokładnie tyle bitów, ile potrzeba do policzenia jego wartości, i pakując wiele wierszy w jeden rekord, czego żaden inny program nie potrafił zdekodować i co przeczyło fladze więcej-niż-255-wartości, którą definicja pola już niosła
- Excel może teraz odczytać wartości przechowywane przez PivotCache HotXLS, zamiast musieć odbudowywać je z zakresu źródłowego przy otwarciu skoroszytu — na czym polegał skoroszyt, którego dane źródłowe zostały w międzyczasie przeniesione, zmienione lub usunięte
- Wiersze z pamięci podręcznej są też odczytywane z powrotem. HotXLS wcześniej ignorował ten rekord całkowicie, więc pamięć podręczna wczytana z pliku wracała z każdym wierszem wskazującym na pierwszą wartość każdego pola, a wszystko liczone z tej pamięci podręcznej podążało za tymi błędnymi wartościami. Dotyczy to skoroszytu napisanego przez Excela równie mocno jak tego napisanego przez HotXLS
- Pole pamięci podręcznej niosące żadnych wartości nie wnosi nic do buforowanego wiersza, a pole z więcej niż 255 wartościami jest zapisywane i odczytywane w szerszym rozmiarze, którego wymaga format
- Skoroszyty zapisane przez HotXLS v2.376.6 i wcześniejsze nadal się wczytują z wierszami pamięci podręcznej nienaruszonymi
Wersja 2.376.6
Naprawiono
- Rekord nagłówka PivotCache w klasycznym pliku XLS jest ułożony tak, jak opisuje to [MS-XLS] 2.4.275. Licznik rekordów jest tam polem czterobajtowym, a HotXLS zapisywał go na dwóch bajtach, więc każde pole za nim wychodziło o jedną pozycję za wcześnie i rekord był o cztery bajty za długi — liczba pól pamięci podręcznej wylądowała wewnątrz licznika rekordów, słowo flag wylądowało na identyfikatorze strumienia, a licznik pól na długości nazwy tego, kto ostatni odświeżał pamięć podręczną, obiecując nazwę, której rekord był za krótki, by pomieścić
- Flagi nagłówka mówią teraz, czym pamięć podręczna faktycznie jest: czy jej rekordy są zapisane w pliku, czy odświeża się przy otwarciu skoroszytu, czy odświeżanie jest dozwolone i czy zapytanie odświeżające działa w tle. Te cztery ustawienia już pojawiały się w wyjściu XLSX i teraz podróżują również z plikiem klasycznego XLS, razem z nazwą tego, kto ostatni odświeżał pamięć podręczną
- Typ danych źródłowych w nagłówku jest zapisywany jako zakres arkusza, zamiast pozostawać przy wartości niezdefiniowanej przez format, a liczniki pól i użytych rekordów przenoszą rzeczywiste sumy pamięci podręcznej
- Nazwa odświeżającego jest przycinana do 255 znaków, które rekord dopuszcza, a pamięć podręczna bez takiej nazwy nie zapisuje żadnej nazwy, zamiast pustego wypełniacza
- Skoroszyty zapisane przez HotXLS v2.376.5 i wcześniejsze nadal się wczytują i nadal oddają swój licznik rekordów pamięci podręcznej. Nic innego nigdy nie było przechowywane w starym nagłówku — moduł zapisu wypełniał każde pole za licznikiem rekordów stałymi wartościami, których nigdy nie odczytywał z pamięci podręcznej — więc flagi i nazwa odświeżającego w takim pliku wracają jako wartości domyślne, a nie jako odzyskane
Wersja 2.376.5
Naprawiono
- Nazwy pól PivotCache przeżywają zapis i ponowne wczytanie klasycznego pliku XLS. Długość nazwy była odczytywana z niewłaściwego miejsca w definicji pola pamięci podręcznej — indeksu, który zawsze wynosi $FFFF — więc nazwa była odrzucana za każdym razem, a każde pole pamięci podręcznej wracało bez nazwy
- Rekord definicji pola pamięci podręcznej jest ułożony tak, jak opisuje to [MS-XLS] 2.4.283: grbit, ifdbParent, ifdbBase, citmUnq, csxoper, cisxoper, catm, a potem nazwa pola. HotXLS zapisywał trzy pola, których rekord nie ma — indeks elementu podtypu, format liczbowy i drugi licznik elementów — oraz wkładał $FFFF do indeksów, które specyfikacja ogranicza liczbą pól w pamięci podręcznej
- Słowo flag rekordu opisuje teraz pole, do którego należy: czy pole przenosi elementy pamięci podręcznej, czy te elementy obejmują liczby, daty lub tekst, czy można wyliczyć minimum i maksimum, czy którykolwiek element nie jest datą i czy jest ich więcej niż 255. Licznik elementów w rekordzie odpowiada teraz liczbie rekordów elementów pamięci podręcznej, które faktycznie po nim następują
- Nazwy pól pamięci podręcznej dłuższe niż 255 znaków, które rekord dopuszcza, są przycinane do 255, zamiast być zapisywane w pełnej długości
- Skoroszyty zapisane przez HotXLS v2.376.4 i wcześniejsze nadal się wczytują z nazwami pól pamięci podręcznej nienaruszonymi — nazwa zajmowała tę samą pozycję w starym układzie, więc nic, co niosło nazwę, nie traci jej
Wersja 2.376.4
Naprawiono
- Pamięci podręczne tabel przestawnych w klasycznych plikach XLS używają teraz numerów rekordów, które nadaje im [MS-XLS]. Siedem rekordów w podstrumieniu pamięci podręcznej wychodziło pod numerem jakiegoś innego rekordu: definicja pola pamięci podręcznej jako $00C8 (SXDBB), typ pola jako $00FB (SxFormat), indeksy elementów per rekord jako $00C5 (SXDI), a wartości pamięci podręcznej numeryczne, logiczne, błędów, dat i puste jako $00CE, $00CF, $00D0, $00CC i $00CB (SXDtr, SxNil, SXTbl, SXInt, SxErr). Teraz to SXFDB $00C7, SXFDBType $01BB, SXDBB $00C8, SXNum $00C9, SxBool $00CA, SxErr $00CB, SXDtr $00CE i SxNil $00CF, więc Excel może odczytać pamięć podręczną tabeli przestawnej zapisaną przez HotXLS, a HotXLS może odczytać taką zapisaną przez Excela
- Puste wartości w polu pamięci podręcznej tabeli przestawnej przeżywają cykl zapisu i odczytu. Moduł zapisu zawsze je emitował, ale czytnik nie obsługiwał ich przypadku, więc każda pusta wartość wypadała przy wczytywaniu, a każda wartość po niej w tym polu przesuwała się o pozycję w dół, przez co odwołania do elementów tabeli przestawnej wskazywały na złe wartości
- Skoroszyty zapisane przez HotXLS v2.376.3 i wcześniejsze wczytują się dalej z wartościami pamięci podręcznej nienaruszonymi. Każdy podstrumień pamięci podręcznej tabel przestawnych jest odczytywany w numeracji, w jakiej został zapisany, rozstrzyganej na podstawie jego własnego rekordu definicji pola, a pamięć podręczna odczytana z istniejącego pliku jest zapisywana z powrotem pod numerami, z którymi przyszła, więc ponowne otwarcie i zapisanie starego skoroszytu nie zmienia po cichu jego bajtów
Wersja 2.376.3
Naprawiono
- Widoki tabel przestawnych w klasycznych plikach XLS zapisują teraz swój rekord rozszerzenia SXEx pod numerem, który nadaje mu [MS-XLS], $00F1; moduł zapisu używał wcześniej $00C6, czyli SXDB, rekordu nagłówka pamięci podręcznej tabel przestawnych — Excel szukający rozszerzenia widoku nie znajdował nic, a rekord podający się za nagłówek pamięci podręcznej siedział w środku arkusza, więc właściwości widoku przenoszone przez SXEx ginęły nawet po poprawce układu pól w v2.376.1
- Skoroszyty zapisane przez HotXLS v2.376.2 i wcześniejsze nadal otwierają się z widokami tabel przestawnych nienaruszonymi: wewnątrz arkusza stary $00C6 jest nadal akceptowany jako rozszerzenie widoku, jakim miał być, a wewnątrz podstrumienia pamięci podręcznej tabel przestawnych $00C6 jest nadal czytany jako nagłówek pamięci podręcznej, więc nic, co się wcześniej wczytywało, nie przestaje się wczytywać
Wersja 2.376.2
Naprawiono
- Arkusze wykresów 3-D klasycznego XLS tworzone bez jawnej sceny niosą teraz flagi, które dokumentacja im przypisuje: domyślne słowo flag Chart3d ustawiało bit zarezerwowany przez rekord zamiast bitu automatycznego skalowania, więc domyślny wykres 3-D otwierany ponownie miał włączone grupowanie, ale wyłączone automatyczne skalowanie i nigdy nie pasował do sceny, którą deklarował zapis; wykresy przekazujące jawną scenę 3-D były nietknięte, a ich bajty są bez zmian
Wersja 2.376.1
Naprawiono
- Widoki tabel przestawnych zapisują rekord SXEx, którego pola leżą tam, gdzie czytnicy ich oczekują: stałe 24-bajtowe ciało było przesunięte o dwa pola, więc zapowiadało dwa rekordy formatowania, które nigdy nie następowały, i zostawiało każdą długość opcjonalnego ciągu na zerze, czego [MS-XLS] 2.4.282 zabrania — te długości muszą być albo znacznikiem braku, albo rzeczywistą długością od 1 do 255; ciało zaczyna się teraz od właściwego pola i oznacza każdy opcjonalny ciąg jako nieobecny, więc Excel czyta właściwości widoku zamiast zmasakrowanego bloku
- Długość rekordu SXEx jest wyprowadzana z bajtów faktycznie zapisanych, a nie z zakodowanej na stałe stałej, więc zadeklarowany rozmiar i ładunek nie mogą się już rozjeżdżać tak, jak przed v2.376.0
Wersja 2.376.0
Dodano
- Arkusze wykresów klasycznego XLS mogą się łączyć z widokiem tabeli przestawnej: nowe przeciążenie
AddChartSheetprzyjmuje nazwę źródłowego widoku przestawnego i flagę ukrywania podpisów pól, które zapisują się do rekordów SXViewLink ($0858, [MS-XLS] 2.4.316) i PivotChartBits ($0859, 2.4.196) w globalnej części wykresu przed Units zgodnie z [MS-XLS] Chart Sheet Substream ABNF; inspekcja wykresów dekoduje oba rekordy — włącznie z 8- i 16-bitowymi kodowaniami ciągów — z powrotem do typowanego modelu (znacznik wykresu przestawnego, nazwa widoku źródłowego, flaga podpisów) i kanonicznej migawki semantycznej, podczas gdy wykresy bez rekordów powiązań pozostają nieoznaczone
Naprawiono
- Widoki tabel przestawnych zapisują poprawnie wyskalowany rekord SXEx: emiter deklarował 24-bajtowe ciało, ale zapisywał 26 bajtów, więc dwa nadmiarowe bajty lądowały tam, gdzie oczekiwano nagłówka kolejnego rekordu, i każdy rekord po widoku (włącznie z EOF arkusza i każdym podstrumieniem arkusza wykresu, który następował po arkuszu przestawnym) źle się parsował, przez co skoroszyty łączące tabelę przestawną z arkuszem wykresu otwierały się ponownie bez wykresu
- Nazwy wyświetlane linii trendu w klasycznych wykresach poprawnie dekodują ładunki 8-bitowych ciągów; wcześniejszy czytnik szerokich znaków zwracał pustą nazwę dla rekordów, które Excel zapisuje znakami 8-bitowymi
Wersja 2.375.0
Dodano
- Serie wykresów klasycznego XLS akceptują wypełnienia w kolorach motywu: styl per seria przenosi teraz indeks koloru motywu i tint, które zapisują się do rekordu GelFrame po AreaFormat według [MS-XLS] 2.4.131, z użyciem rozszerzenia koloru motywu OfficeArt (fillType, fillColor ze spłaszczonym RGB, indeks schematu fillColorExt, ładunek tint fillColorExtMod); gdy nie podano jawnej barwy wypełnienia, spłaszczony kolor rozwiązuje się z domyślnego motywu Office z zastosowanym tint, a inspekcja wykresów dekoduje intencję motywu z powrotem do typowanego modelu i kanonicznej migawki semantycznej
Naprawiono
- Pełny wielowersyjny build biblioteki jest znowu zielony dla każdego obsługiwanego kompilatora: rzutowania i wywołania, które akceptują tylko nowsze kompilatory (rzutowanie typu Extended na wartościach Int64, twarde rzutowanie typu Double na liczbie całkowitej, argument proceduralny nil w rozwiązywaniu przeciążeń, dostęp do TPicture.LoadFromStream tam, gdzie jest protected, oraz typ tokenu GdiplusStartup, który zmienił się między generacjami VCL) zostały uczynione bezpiecznymi dla wersji od XE5 po bieżące wydanie
Wersja 2.374.0
Dodano
- Sceny wykresów 3-D są konfigurowalne i poddające się inspekcji: nowe przeciążenie
AddChartSheetprzyjmuje rotację, elewację, odległość perspektywy, wysokość, głębokość, odstęp oraz flagi cluster, autoscale, right-angle-scaling i two-dimensional-walls, zapisywane do rekordu Chart3d według [MS-XLS] 2.4.46, a inspekcja wykresów dekoduje scenę z powrotem do typowanego modelu (Scene3D) przy odczycie; wykresy zachowujące poprzednie przeciążenia nadal emitują domyślne wartości zgodne z Excelem, bajt po bajcie
Wersja 2.373.0
Dodano
- Serie wykresów klasycznego XLS akceptują nadpisania stylu per seria: kolor i styl linii, kolor wypełnienia oraz kształt, kolory i rozmiar znaczników zapisują się do bloku formatowania serii ze skasowaną flagą automatyczną, więc Excel respektuje podane wartości, a inspekcja wykresów dekoduje rekordy LineFormat, AreaFormat i MarkerFormat z powrotem do typowanego modelu i kanonicznej migawki semantycznej
Wersja 2.372.0
Dodano
- Serie wykresów klasycznego XLS akceptują nazwane i zewnętrzne odwołania dla kategorii i wartości: tekst, który nie jest zwykłym zakresem A1, kompiluje się przez silnik formuł skoroszytu, a rekord BRAI przenosi element obszaru wykresu trzymający skompilowaną formułę, dzięki czemu przebieg zapisu ponownie ją serializuje z bieżącymi indeksami magazynu nazw zdefiniowanych; inspekcja wykresów dekompiluje odwołanie z powrotem do jego nazwy przy odczycie, a nierozwiązywalny tekst zachowuje pusty wypełniacz BRAI
Wersja 2.371.0
Dodano
- Serie wykresów klasycznego XLS mogą się wiązać z pomocniczą grupą osi: oznaczenie serii w
AddChartSheetpodnosi AXESUSED do dwóch, emituje drugi blok AxisParent z własnymi osiami kategorii i wartości oraz własną grupą wykresu zgodnie z [MS-XLS] Chart Sheet Substream ABNF i kieruje serię przez SerToCrt do drugiej grupy; inspekcja wykresów dekoduje przy odczycie powiązanie serii z grupą wykresu
Wersja 2.370.0
Dodano
- Serie wykresów klasycznego XLS akceptują etykiety danych:
AddChartSheetemituje rekord AttachedLabel z flagami show-value, show-percent, show-category-name, show-label-and-percent, show-bubble-size i show-series-name (układ bitów z [MS-XLS] 2.4.5), a inspekcja wykresów dekoduje zarówno AttachedLabel, jak i rekord rozszerzonych etykiet DataLabExtContents, łącznie z jego separatorem, z powrotem do typowanego modelu i kanonicznej migawki semantycznej
Wersja 2.369.0
Dodano
- Inspekcja wykresów klasycznego XLS dekoduje teraz strukturę grup osi: AXESUSED ujawnia zadeklarowaną liczbę grup osi, a każda oś rejestruje, czy należy do podstawowej, czy pomocniczej grupy AxisParent, z indeksem grupy przeniesionym do kanonicznej migawki semantycznej
Wersja 2.368.0
Dodano
- Linie trendu i słupki błędów wykresów BIFF dekodują się teraz przy odczycie do typowanego modelu wykresu: każdy blok Series ujawnia swoje rekordy Trendline z rodzajem regresji, rzędem lub okresem, punktem przecięcia (w tym automatycznym), flagami wyświetlania równania i R-kwadrat, okresami prognozy i prognozy wstecz oraz nazwą wyświetlaną, a także swoje rekordy SerErrBar ze stroną kierunku, typem wartości, ogranicznikami końcówek i wielkością
- Klasyczna migawka semantyczna odwzorowuje linie trendu i słupki błędów we współdzielone kontenery kanoniczne zamiast zgłaszać wyjątek, więc skoroszyty z zaawansowanymi seriami wykresów porównują się deterministycznie, a zmiany linii trendu zmieniają strumień kanoniczny
Wersja 2.367.0
Dodano
- RecalcAndVerifyEx przeprowadza głęboki audyt obliczeń na obu silnikach skoroszytów: każda formuła jest obliczana raz przez graf zależności do izolowanej nakładki wyników, więc komórki zależne czytają ten przebieg zamiast nieaktualnych pamięci podręcznych, błędy ewaluacji klasyfikują się do typowanych kategorii (nieobsługiwane argumenty, odwołania cykliczne, odrzucone lub brakujące odwołania zewnętrzne, pominięte tabele danych, anulowanie, błędy wewnętrzne) z kodami wyników, a każdy błąd niesie ograniczony stos wywołań
- Audyt respektuje budżet problemów ze stabilną kolejnością arkuszy, wierszy, kolumn i kategorii, ujście postępu zdolne do anulowania na granicach węzłów, konfigurowalne tolerancje liczbowe oraz opt-in ApplyResults, który atomowo zatwierdza ponownie obliczone wartości po w pełni udanym przebiegu po niezmienionej strukturze skoroszytu; domyślnie pozostaje ściśle tylko do odczytu
Zmieniono
- Istniejące punkty wejścia RecalcAndVerify i CalculateAndVerify zachowują swoją wcześniejszą semantykę płytkiego porównywania jako zgodnościowe otoczki, współdzieląc przy tym nowe pola raportu
Wersja 2.366.0
Zmieniono
- Eksport PDF zestawia teraz dokumenty przez sekwencyjny zapisywacz obiektów, który strumieniuje każdy obiekt prosto do celu, więc nie buduje się już pośredniej kopii całego dokumentu; niepodpisane dokumenty strumieniują bezpośrednio do strumieni tylko do przodu, podczas gdy podpisane zestawiają się do ograniczonego spoola, który przyjmuje poprawki ByteRange i treści podpisu przed jednorazową kopią do przodu
- Ładunki załączników PDF kopiują się ze swoich spoolów dostawców do finalnego dokumentu w stałych fragmentach i odwołują swój rozmiar strumienia przez pośredni obiekt długości, utrzymując pamięć szczytową na stałym poziomie przy załącznikach liczących setki megabajtów
Naprawiono
- Skróty podpisów są teraz obliczane przyrostowo po dwóch objętych zakresach bajtów zestawionego dokumentu, zamiast przez pełną kopię dokumentu, a zarezerwowane pola podpisu są lokalizowane z samego obiektu podpisu, a nie przez skanowanie zestawionych bajtów
Wersja 2.365.0
Dodano
- Widoczny tekst podpisu PDF renderuje się teraz przez osadzony potok czcionek Unicode z wyrównaniem do lewej, do środka lub do prawej, konfigurowalnym rozmiarem, kolorem i stylem pogrubionym lub kursywą, obejmując dowolne pismo w imionach podpisujących, powodach i lokalizacjach
- Obrazy wyglądu podpisu PDF przyjmują ładunki JPEG z wymiarami wyprowadzonymi ze znacznika klatki, podczas gdy zbyt duże lub uszkodzone obrazy zawodzą deterministycznie przed obliczeniem skrótu
- Załączniki PDF udostępniają jawną zasadę postępowania z duplikatami nazw, spoolują duże ładunki dostawców do pliku tymczasowego po przekroczeniu konfigurowalnego progu bajtów i odrzucają nazwy wrogie liściom zawierające separatory ścieżek lub znaki sterujące
Zmieniono
- Drzewa nazw załączników PDF są teraz sortowane po zakodowanych bajtach nazw zgodnie z ISO 32000-1 7.9.6, a kolekcja załączników pozostaje zamrożona na czas działania dostawców, więc dodawanie z ponownym wejściem zawodzi atomowo
Wersja 2.364.0
Dodano
- Osadzone obrazy EMF i WMF odtwarzają nawiasy ścieżek z przebiegami wypełnienia, obrysu oraz połączonym obrysem i wypełnieniem, zaokrąglone prostokąty, łuki, cięciwy, wycinki koła i łuki kątowe przez dokładną konwersję łuku na Bézier, wypełnienia i ramki obszarów rozwiązywane z ograniczonych prostokątów RGNDATA oraz rozszerzone pióra geometryczne lub kosmetyczne — wszystko spłaszczone do niezmiennej współdzielonej sceny z tymi samymi granicami fail-closed wobec clippingu, escape i rekordów prywatnych
Wersja 2.363.0
Dodano
- Osadzone obrazy EMF i WMF odtwarzają się teraz przez rozszerzoną białą listę bezpiecznych rekordów: stosy stanu kontekstu urządzenia z zapisem i przywracaniem, mapowanie okna i portu widoku z transformacjami świata, tabele obiektów piór i pędzli włącznie ze stockowymi, prostokąty, elipsy, łańcuchy linii, wielokąty, polilinie i krzywe Béziera ze stylami kresek, ograniczone przebiegi tekstu z czcionkami, kolorami i wyrównaniem oraz ograniczone obrazy stretch-DIB rekodowane do PNG, podczas gdy nieznane rekordy stanu wciąż zawodzą bezpiecznie do ograniczonej zapasowej wersji rastrowej, zamiast wywoływać odtwarzanie metaplików platformy
Naprawiono
- Obrazy WMF parsują teraz standardowy dwubajtowy układ nagłówka rekordu, więc prawdziwe metapliki placeable i standard dekodują się, zamiast tylko syntetycznych fixture'ów
Wersja 2.362.0
Dodano
- Klasyczny XLS i XLSX zachowują teraz stan tablicowy formuł tabelarycznych, typowane tryby IME walidacji danych, wskazówki wątków obliczeń, obecność wymuszenia pełnego przeliczania, wskazówki odświeżenia wszystkiego i nazwy kodowe skoroszytu przez ich natywne binarne albo OOXML reprezentacje
RecalcAndVerifyzwraca ograniczony, ustrukturyzowany audyt obliczeń ze stabilnymi kategoriami pamięci podręcznej, parsowania, brakującej funkcji i brakującej nazwy, pozostawiając przy tym pamięci podręczne formuł i semantykę skoroszytu bez zmianTXLSPageImageExporter.ExportRangerenderuje żądany prostokąt komórek jako jeden kompaktowy PNG lub JPEG bez papieru, marginesów, nagłówków, stopek, tytułów wydruku ani podziałów stron, a zdarzenia przed i po obrazie strony mogą rysować na rzeczywistym płótnie używanym podczas kodowania- Dedykowany eksporter obrazów komórek mierzy, renderuje i zapisuje dowolny prostokąt komórek klasyczny lub XLSX jako pojedynczy kompaktowy obraz z konfigurowalną rozdzielczością, skalą, formatem i jakością JPEG; przezroczyste lub kolorowe tła, niezależne przełączniki obiektów, linii siatki i obramowań komórek, budżety pikseli i bajtów oraz zapis do pliku przez atomową zamianę w tym samym folderze, która zostawia istniejący cel nietknięty, gdy cokolwiek zawiedzie
- Zdarzenia rysowania obrazu strony otrzymują teraz kompletny kontekst tylko do odczytu niosący aktywne płótno, granice pikseli, rozmiar strony w punktach, rozdzielczość, skalę, numery stron dokumentu i w arkuszu, łączną liczbę stron oraz arkusz źródłowy; odpalają się dokładnie raz na renderowaną klatkę, włącznie z klatkami wielostronicowego TIFF, milczą podczas pomiaru i nigdy nie odpalają swojego zdarzenia końcowego ani nie zapisują częściowych bajtów obrazu, gdy zdarzenie wiodące zgłosi wyjątek
TXLSSvgExportobsługuje kompletne wywołania zwrotne per strona, deterministyczne przestrzenie nazw identyfikatorów dokumentu i strony oraz włączane jawnie bezpieczne nakładki hiperłączy ze ScreenTips i bezpiecznymi atrybutami nowego okna- Eksporterzy HTML klasyczny i XLSX udostępniają na życzenie widok arkusza z semantycznymi nagłówkami wierszy i kolumn plus ograniczonym hot trackingiem w czystym CSS, a oba odrzucają aktywne lub lokalne schematy URI, zachowując tekst wyświetlany łącza
- Widoczne podpisy PDF mogą używać obrazów wyglądu PNG w formie contained, covered lub stretched, a załączniki PDF mogą pozyskiwać swój ładunek leniwie z interfejsu źródłowego o jednym wywołaniu podczas każdego zapisu
- Ograniczony dekoder wektorowy EMF i WMF waliduje nagłówki, rozmiary rekordów, sumy, dokładne umiejscowienie EOF i ograniczenia escape, a następnie odtwarza swój bezpieczny podzbiór poleceń prostokątów przez współdzielone zaplecza Canvas i SVG, bez wywoływania odtwarzania metaplików sterownika
Zmieniono
- Bezpośredni zapis XLSX może tworzyć atrybuty tablicowe formuł tabelarycznych i typowane tryby IME walidacji danych, podczas gdy tablicowe formuły tabelaryczne nie są już po cichu rozwijane jako skalarne formuły per wiersz
Wersja 2.361.99
Zmieniono
- Automatyczny tagowany PDF emituje teraz informacyjne obrazy XLSX jako niezależne elementy struktury Figure z alternatywnym tekstem Unicode, gęstymi lokalnymi dla strony identyfikatorami oznaczonej treści, dokładnymi wpisami drzewa rodziców i jednym elementem semantycznym na widoczną instancję, podczas gdy równe ładunki obrazów nadal współdzielą jeden XObject; obrazy bez tekstu alternatywnego pozostają dekoracyjnymi artefaktami
Wersja 2.361.98
Naprawiono
- Formuły wyszukiwania skanujące zakres obejmujący ich własną komórkę (VLOOKUP, HLOOKUP, LOOKUP, XLOOKUP, XMATCH, MATCH) nie zgłaszają już fałszywych błędów odwołań cyklicznych podczas przeliczania, podczas gdy edycje wewnątrz skanowanego zakresu nadal wyzwalają przeliczenie formuły
- Kryteria tekstowe AutoFilter dłuższe niż 255 znaków są ograniczane do limitu rekordu filtru, zamiast zapisywać uszkodzony warunek autofiltra
- Kolejne spacje używane przez operator niejawnego przecięcia są zachowywane przy regeneracji tekstu formuły, zamiast się zapadać do pojedynczej spacji
- Wbudowane nazwy zdefiniowane poza obszarami wydruku, tytułami wydruku i bazami filtrów (obszary konsolidacji, extract, database, criteria, recorder, tytuły arkuszy i znaczniki rodziny Auto_Open) są zachowywane dosłownie przy otwieraniu i zapisywaniu klasycznych skoroszytów XLS
Wersja 2.361.97
Dodano
- Klasyczne skoroszyty XLS i XLSX udostępniają teraz współdzieloną trójstanową politykę wyświetlania obiektów z bezstratowym zachowaniem nietkniętego źródła i odwzorowaniem między formatami; ukryte obiekty nie rozszerzają już stronicowanego ani HTML-owego wyjścia i nie wchodzą już w ścieżki renderowania rysunków i mediów
- Przeglądarka skoroszytów renderuje lekkie nazwane wypełniacze dla obiektów w trybie wypełniaczy, podczas gdy eksporterzy PDF, SVG, bitmapy, wydruku i HTML zachowują domyślnie pełne obiekty i oferują jawną opcję wypełniaczy, która unika dekodowania obrazów i budowania scen wykresów
Wersja 2.361.96
Zmieniono
- Ręczne układy wykresów zachowują teraz niezależne pola źródłowe i nieprawidłowe tokeny, rozwiązują współrzędne współczynników i krawędzi ograniczonym rozmieszczeniem zachowującym rozmiar, respektują wewnętrzne i zewnętrzne cele wykresu plus nakładkę tytułu i legendy, konwertują obsługiwaną geometrię ODF przez bezwzględne odległości wykresu i renderują spójne rozmieszczenie tytułu, legendy, obszaru wykresu i tytułu osi na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML
Wersja 2.361.95
Zmieniono
- Etykiety danych wykresów XLSX pochodzące z komórek należą teraz do każdej serii z kompletnymi formułami, indeksowanymi pamięciami podręcznymi, jawną widocznością współdzieloną i per punkt, żywym odświeżaniem arkusza, zapasową pamięcią podręczną zewnętrzną, tłumaczeniem formuł podczas kopiowania i rozwijania raportu oraz spójnym składaniem etykiet z własnymi na pierwszym miejscu na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML
Wersja 2.361.94
Zmieniono
- Wielopoziomowe osie kategorii wykresów zachowują teraz rzadkie hierarchiczne pamięci podręczne i żywe dwuwymiarowe zakresy, budują zakresy świadome rodzica w czasie liniowym, respektują zachowanie jednopoziomowe, odwrócone, od prawej do lewej, ukryte i puste kategorie oraz renderują spójne etykiety hierarchii i separatory na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML; eksport ODS używa zakresu kategorii liści
Wersja 2.361.93
Zmieniono
- Osie dat wyprowadzają teraz jednostki kalendarza raz na wszystkich widocznych seriach, wybierają ograniczone automatyczne interwały z widocznego zakresu, szerokości osi, zmierzonej czcionki etykiet, formatu liczbowego i rotacji oraz wyprowadzają etykiety, współrzędne, znaczniki i linie siatki ze współdzielonych kolekcji znaczników głównych i pomocniczych na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML
Wersja 2.361.92
Zmieniono
- Osie dat XLSX zachowują teraz formaty liczb osi i stan powiązania ze źródłem, renderują sformatowane etykiety ze stylem tekstu i rotacją oraz respektują odwrócony kierunek, zachowując ciągłe odstępy dla zduplikowanych i rzadkich dat na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML
Wersja 2.361.91
Zmieniono
- Osie dat XLSX zachowują teraz informację, czy bazowe, główne i pomocnicze jednostki kalendarza oraz wykrywanie automatycznych kategorii zostały pominięte czy podane jawnie, włącznie z jawnymi jednostkami dni i wartościami false; rekordy rozszerzeń osi dat Classic udostępniają typowane pola, zachowują zamaskowane lub nieprawidłowe wartości surowe i mogą mapować aktywne ustawienia do modelu osi XLSX
Wersja 2.361.90
Zmieniono
- Wykresy z osią dat XLSX zachowują teraz ciągłe odstępy dat i renderują główne interwały dnia, miesiąca lub roku z systemem dat 1900 lub 1904 skoroszytu na wyjściu stronicowanym, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML; wyjście oparte na paginacji respektuje też skonfigurowane znaczniki pomocnicze i linie siatki
Wersja 2.361.89
Dodano
- Podgląd skoroszytu kafelkuje teraz prawidłowe tła arkuszy za niewypełnionymi komórkami, podczas gdy wydruk, PDF, SVG, bitmapa, metaplik oraz wyjście Classic lub XLSX HTML udostępniają wyraźną opcję
ExportSheetBackgroundImages, domyślnie wyłączoną
Zmieniono
- Stronicowane renderowanie tła zachowuje teraz fazę kafelków względem arkusza między stronami, dekoduje każde tło raz na sesję renderowania, ponownie używa jednego XObject obrazu PDF lub zasobu SVG i pomija uszkodzone ładunki z jedną diagnostyką
Wersja 2.361.88
Dodano
- Klasyczne arkusze udostępniają teraz typowane tworzenie obrazów tła i współdzielony zasób tła tylko do odczytu, odczytują i zapisują rekordy tła BIFF8 z ciągłym dzieleniem ładunku, odtwarzają ładunki bitmap jako standardowe dane BMP, zachowują nieobsługiwane natywne i nieznane formaty bajt po bajcie z diagnostyką, głęboko kopiują własność tła i konwertują znane tła w obu kierunkach między XLS i XLSX
Wersja 2.361.87
Naprawiono
- Kopie arkuszy XLSX zachowują teraz bajty obrazu tła arkusza i typ mediów w kopiach w ramach tego samego skoroszytu i między skoroszytami, przy czym kopie w ramach tego samego skoroszytu ponownie używają zachowanego medium źródłowego, a kopie między skoroszytami przypisują własność mediów na nowo przed zapisem
Wersja 2.361.86
Dodano
- Klasyczne skoroszyty XLS i XLSX udostępniają
AllowUnsafeFormulaCallbacks, a kontekstowa ewaluacja zapewnia pasującą opcję per-wywołanie oraz ustrukturyzowany statusxlfeUnsafeFunctionDenied
Bezpieczeństwo
- Niebezpieczne zewnętrzne i makropodobne nazwy formuł nie docierają już domyślnie do lokalnych dla skoroszytu, obejmujących cały proces, resolverowych ani zdarzeniowych procedur obsługi funkcji użytkownika, a odmowa następuje przed obliczeniem argumentów formuły
Wersja 2.361.85
Dodano
- Klasyczne skoroszyty XLS i XLSX udostępniają
AuditFormulaSymbolsdo ustrukturyzowanej diagnostyki nieznanych funkcji, nieznanych nazw i składni w komórkach formuł i zdefiniowanych nazwach, ze statystykami unikalnych formuł i trafień pamięci podręcznej dla każdej operacji
Zmieniono
- Zachowane nieznane funkcje i nazwy są teraz obliczane do błędów Excela
#NAME?poprzez bezpośrednie, zależnościowe, kontekstowe, szeregowe i równoległe ścieżki obliczeń - Zmiany rejestracji funkcji użytkownika w skali skoroszytu lub procesu oraz zmiany formuł zdefiniowanych nazw unieważniają teraz dotknięty stan obliczeń przed kolejnym przeliczeniem
Naprawiono
- Błędy formuł odczytane z zależnych buforowanych komórek pozostają teraz typowanymi błędami zamiast wchodzić w konwersję skalarną i zgłaszać wyjątek konwersji Variant
Wersja 2.361.84
Dodano
- Zwykłe przypisywanie formuł w klasycznych XLS i XLSX stosuje teraz atomowo politykę wprowadzania formuł skoroszytu, dzięki czemu ścisłe odrzucenie pozostawia wartość komórki, pamięć podręczną formuł i zależności bez zmian, podczas gdy tryb zachowywania zapisuje nieznane funkcje i nazwy
Zmieniono
- Klasyczny XLS zapisuje zachowane nieznane wywołania przez tokeny funkcji użytkownika dodatków BIFF i zachowuje tekst zachowanych nieznanych nazw między zapisem, ponownym otwarciem i konwersją XLS/XLSX
- Walidacja wprowadzania formuł rozpoznaje skonfigurowane w wywołaniach zwrotnych funkcje użytkownika, wywoływalne
LAMBDAiLET, lambdy nazw zdefiniowanych, symbole zastępcze raportów, zarejestrowane łącza zewnętrzne i poprawne odwołania strukturalne bez wywoływania procedur obsługi
Naprawiono
- Walidacja XLSX zachowuje teraz poprawne zagnieżdżone odwołania strukturalne oraz odwołania strukturalne bieżącego wiersza i nie używa ponownie nieaktualnego tekstu kolumny podczas skanowania nierozwiązanego odwołania do tabeli
Wersja 2.361.83
Zmieniono
- Przypisywanie wartości w klasycznych XLS i XLSX stosuje teraz konsekwentnie
FormulaEntryPolicy.EmptyStringMode: tryb domyślny czyści dokładnie puste ciągi, tryb zachowywania zapisuje stały pusty ciąg, aNulllubUnassignedzawsze czyści komórkę - Natywne ładowanie XLS, XLSX i ODS oraz konwersja XLS-to-XLSX i XLSX-to-XLS zachowują teraz zaufane stałe puste ciągi, nie myląc ich z nieobecnymi komórkami ani formułami takimi jak
="" - Mechanizmy zapisu ciągów i Variant wiersza lub kolumny w XLSX zachowują szybkie ścieżki magazynu pakowanego, pozostawiając wyczyszczone wpisy nieobecnymi i zapisując dokładnie puste ciągi tylko w trybie zachowywania
Wersja 2.361.82
Dodano
- Klasyczne skoroszyty XLS i XLSX udostępniają teraz wspólną
FormulaEntryPolicy, a oba silniki arkuszy zapewniają metodyValidateFormulaEntrybez wprowadzania zmian, które zwracają ustrukturyzowany problem, akcję i nieznany symbol, zanim wywołujący zmodyfikuje komórkę
Zmieniono
- Walidacja wprowadzania formuł rozróżnia teraz dokładnie puste wejście od formuł zwracających pusty ciąg, oddziela nieznane funkcje, nieznane nazwy, błędy składni, nieprawidłowe cele i ograniczenia formatu docelowego oraz rozpoznaje zarejestrowane funkcje użytkownika bez wywoływania ich procedur obsługi
Wersja 2.361.81
Zmieniono
- Wstawianie lub usuwanie całych wierszy i całych kolumn mapuje teraz spójnie uporządkowane obszary zaznaczenia i obszar aktywny każdego panelu w XLS i XLSX, zachowując kolejność ocalałych i tworząc zapasową komórkę brzegową, gdy wszystkie obszary zostaną usunięte
- Normalizacja dużych zaznaczeń paneli, edycja strukturalna i zapytania używają teraz konstruktorów o liniowej zamortyzowanej złożoności i przyrostu pojemności zamiast powtarzalnych kopii całych ciągów lub tablic
Naprawiono
- Klasyczny XLS zachowuje teraz uszkodzone lub sprzeczne treści rekordów
Selectionbajt po bajcie, zgłaszającxlsDiagnosticSelectionRecordInvalidzamiast odsłaniać częściowo zaufany stan typowany
Wersja 2.361.80
Dodano
TXLSWorksheetiTXLSXWorksheetudostępniają teraz pasujące metodyTryGetWindowScrolliScrollWindowdo odczytu i zmiany pierwszej widocznej komórki dowolnego istniejącego panelu logicznego w numeracji od jedynki
Zmieniono
- Stan przewijania czterech paneli zachowuje teraz niezależnie wspólne osie górną, dolną, lewą i prawą między zapisem, otwarciem i kopiowaniem arkusza w XLS i XLSX, a brakujące panele i nieprawidłowe współrzędne kończą się błędem bez zmiany stanu widoku
Wersja 2.361.79
Zmieniono
- Arkusze klasycznych XLS utrzymują niezależne uporządkowane grupy zaznaczenia dla każdego panelu, agregują następujące po sobie rekordy BIFF
Selectionw jedną logiczną sekwencję, zachowują nietknięte treści rekordów i kopiują pełny stan zaznaczenia wraz z arkuszem - Klasyczne zaznaczenia z ponad 1369 obszarami są zapisywane jako następujące po sobie fragmenty zgodne ze standardem, przy zachowaniu jednego zagregowanego indeksu obszaru aktywnego we wszystkich fragmentach
Wersja 2.361.78
Dodano
TXLSWorksheetiTXLSXWorksheetudostępniają teraz pasujące metodyGetSelectedAreasiSelectAreasświadome paneli przez wspólny typTXLSPanePosition
Zmieniono
- Zapytania zaznaczeń paneli zwracają należące do wywołującego uporządkowane migawki z indeksem obszaru aktywnego, zachowują nakładające się obszary i pozostawiają stan arkusza bez zmian, gdy panel jest nieobecny lub aktualizacja jest nieprawidłowa
Wersja 2.361.77
Dodano
IXLSWorkbook,TXLSWorkbookiTXLSXWorkbookudostępniają teraz pasujące strumieniowe metodySaveSemanticSnapshoti przyrostową SHA-256ComputeSemanticHashz profilami Content i SecurityComplete oraz jawnymi opcjami stanu przeglądarki, metadanych ulotnych i pamięci podręcznej formuł
Zmieniono
- Semantyczne migawki przemierzają rzadkie modele skoroszytów bez materializowania kompletnej migawki, a operacje migawki i skrótu trzymają dzierżawę odczytu, dzięki czemu równoległe publiczne modyfikacje kończą się błędem przed zmianą stanu skoroszytu
Wersja 2.361.76
Dodano
- Typowany model wykresów klasycznych XLS udostępnia teraz tytuły wykresu, osi kategorii i osi wartości
Naprawiono
- Wyodrębnianie modelu wykresów klasycznych XLS identyfikuje teraz serie, legendy, grupy wykresów, osie, stan 3D, etykiety serii i formuły źródłowe serii na podstawie ich zdefiniowanych rekordów BIFF
- Pozycje legend i klasyfikacja „kołowy kontra pierścieniowy” są dekodowane z ich zdefiniowanych pól rekordów
Wersja 2.361.75
Dodano
- Przykłady Delphi FeatureShowcase i C++Builder XlsxFeatureGallery demonstrują teraz ten sam skompilowany przepływ pracy raportów: kontekst danych raportu, tabelę w pamięci, ścisły dostęp do danych, kontynuację przy błędach odzyskiwalnych, arkusz diagnostyczny, niezmienny wynik uruchomienia i atomowe wyjście do pliku
- Temat raportowania skompilowanego zapewnia teraz pasujące przykłady dla Delphi i C++Builder, w tym wymagane w C++Builder pozyskiwanie inteligentnych interfejsów dla interfejsowych tabel raportów
Naprawiono
- Galeria funkcji XLSX w C++Builder łączy kompletny dopasowany do wersji statyczny pakiet HotXLS, dzięki czemu zależności implementacji raportów skompilowanych rozwiązywane są bez kruchych dyrektyw konsolidatora dla pojedynczych jednostek
Wersja 2.361.74
Zmieniono
RunToStream,RunToFileiRunToEncryptedFilewspółdzielą teraz jedną transakcję wyjścia, która publikuje zserializowany skoroszyt dopiero po zakończeniu generowania i zapisywania raportu- Nieszyfrowane wyjście raportu zachowuje format skoroszytu szablonu, w tym wyjście ODS z szablonów ODS, podczas gdy wyjście szyfrowane pozostaje zaszyfrowanym kontenerem Office
Naprawiono
- Niepowodzenia serializacji, zastępowania, anulowania i krytyczne niepowodzenia raportu pozostawiają istniejące strumienie docelowe, pliki i pliki zaszyfrowane bez zmian i zwalniają sesje danych uruchomienia oraz pamięć tymczasową przed powrotem
Wersja 2.361.73
Dodano
- Pasma raportów zakresów nazwanych i tabel programu Excel udostępniają teraz
ErrorMode,StrictDataAccess,RuntimeLimitsi niezmienne migawkiLastResult, z odrębnym stanem pasmaCompletedWithErrors
Zmieniono
WriteAndContinuemoże zapisać jawnie odzyskiwalny błąd wiersza jako literał diagnostyczny, zarejestrować wiersz kursora źródła i rzeczywistą komórkę wyjściową, a następnie kontynuować dalszymi celami w tym wierszu i dalszymi wierszami wejściowymi- Wyrażenia raportu zużywają typowane wartości migawki pasma, zanim sięgną po tekst, zachowując wartości liczbowe, daty, logiczne i inne obsługiwane wartości Variant podczas obliczania wyrażenia
Naprawiono
- Krytyczne błędy celu, anulowania i limitów środowiska uruchomieniowego podczas rozwijania pasma przywracają cele źródłowe i wstawioną strukturę, czyszczą wycofane flagi diagnostyczne i publikują zero zastosowanych celów
Wersja 2.361.72
Dodano
TXLSReportRuntimeLimitsogranicza liczbę przechowywanych problemów środowiska uruchomieniowego, długość oczyszczanych komunikatów oraz pamięć zajmowaną przez problemy, aRuntimeDiagnosticsSheetNameopcjonalnie zapisuje jeden uporządkowany arkusz diagnostyczny- Jawne błędy danych resolvera, dzielenie przez zero w wyrażeniach i nieprawidłowe wyrażenia regularne mają teraz stabilne kategorie problemów dostawcy lub wyrażenia oraz kody błędów
Zmieniono
WriteAndContinuezachowuje bezpieczne cele niebędące komórkami i rejestruje ich problem, podczas gdy nazwy arkuszy i formuły zdefiniowanych nazw pozostają celami strukturalnymi z natychmiastowym zgłaszaniem błędów (fail-fast)- Wyniki błędów danych resolvera pozostają odzyskiwalne, gdy pochodzą z pamięci podręcznej aliasów pojedynczego uruchomienia, natomiast wyjątki zgłaszane przez resolver pozostają krytyczne
Bezpieczeństwo
- Komunikaty środowiska uruchomieniowego kończą się na pierwszym wierszu, ukrywają typowe formy poświadczeń i tokenów bearer oraz wymuszają limity liczby, długości i pamięci przed zmodyfikowaniem celu, w którym wystąpił błąd
Wersja 2.361.71
Dodano
- Dokładne komórki
{{#usertable(alias, logicalName, providerKey, name=expression)}}kompilują się do typowanych, leniwych deklaracji tabel, aTXLSCompiledReportTemplate.UserTableCountraportuje liczbę deklaracji niezależnie od celów wyjściowych TXLSReportTemplateChecker.DataContextwstępnie sprawdza zarejestrowane klucze dostawców, granice typowanych parametrów, źle sformułowane deklaracje i konflikty aliasów bez rozróżniania wielkości liter, nie wywołując przy tym resolvera
Zmieniono
- Szablony i generatory raportów obliczają parametry deklaracji przed zapisami do celów, rejestrują je w sesji bieżącego uruchomienia, a zadeklarowaną tabelę rozwiązują dopiero, gdy
dbvaluelubdbcountpo raz pierwszy odwoła się do jej aliasu - Powtórzone identyczne deklaracje współdzielą jedno żądanie, natomiast deklaracje ponownie używające aliasu z inną nazwą logiczną, dostawcą, kolejnością parametrów, typem lub wartością kończą się błędem z lokalizacją komórki deklaracji, zanim skoroszyt zostanie zmodyfikowany
Bezpieczeństwo
- Deklaracje tabel użytkownika akceptują wyłącznie zarejestrowany klucz dostawcy i ograniczone typowane parametry danych, odrzucają dostęp do tabel danych wewnątrz wyrażeń parametrów i nie udostępniają żadnego pola szablonu dla SQL, ścieżek, adresów URL ani tekstu poleceń
Wersja 2.361.70
Dodano
TXLSReportDataRequestprzekazuje doIXLSReportDataResolvertożsamość nazwaną lub tabeli użytkownika, typowane parametry, lokalizację źródłową i sterowanie uruchomieniem tylko do odczytu, przy czym jego jawne stany wyniku rozróżniają przypadki: nieobsłużony, rozwiązany, nie znaleziono oraz błąd danychTXLSReportDataContext.RegisterResolver,RemoveResolveriClearResolverszarządzają rejestrem nazwanych resolverów bez rozróżniania wielkości liter, aTXLSReportDataLimitsogranicza aliasy, resolvery, parametry, nazwy, komunikaty i zwracane schematy tabel
Zmieniono
- Każda sesja danych raportu wykonuje migawkę rejestru resolverów jako wyszukiwanie O(1), traktuje tabele jawne jako nadrzędne, adaptuje starszych dostawców tabel, buforuje typowane żądania według aliasu i odrzuca ponownie użyty alias o innej nazwie logicznej, dostawcy, kolejności parametrów, typie lub wartości
- Mechanizmy uruchamiania raportów i pasma przekazują teraz jedno wątkowo bezpieczne sterowanie anulowaniem przez rozwiązywanie danych, zatrzymują się po anulowaniu bez zatwierdzania aktywnego celu i pozostawiają anulowany alias gotowy do czystej ponownej próby, zamiast buforować anulowanie jako błąd danych
Bezpieczeństwo
- Typowane żądania danych odrzucają znaki sterujące, ujemne współrzędne źródłowe, zduplikowane nazwy parametrów, nieobsługiwane tablice Variant i odwołania, nadmierne ciągi, nadmiarowe aliasy lub dostawców oraz zbyt obszerne schematy tabel, zanim dojdzie do niebezpiecznej pracy lub modyfikacji skoroszytu
Wersja 2.361.69
Dodano
TXLSXWorksheet.ClearRowHeightiClearColWidthusuwają jedno jawne przesłonięcie wymiaru bez naruszania pozostałych metadanych wiersza lub kolumny
Zmieniono
- Skompilowane cele raportów kończą teraz obliczanie wyrażeń przed wywołaniem formatowania dynamicznego i zatwierdzają zawartość komórek, formaty liczb, wysokości wierszy i szerokości kolumn przez jedną granicę wycofywania zmian
- Odzyskiwalna diagnostyka komórek wyprowadza style czerwonej czcionki i żółtego wypełnienia z istniejącej czcionki komórki, zachowuje pozostały styl komórki i ponownie używa stylów z puli dla takich samych czcionek bazowych i kolejnych uruchomień
Naprawiono
- Odzyskiwalny błąd obliczania nie pozostawia już dynamicznych formatów liczb ani jawnych wymiarów wierszy i kolumn, a zapisy diagnostyczne czyszczą teraz wszelkie formuły przed zapisaniem tekstu literału
Wersja 2.361.68
Dodano
- Mechanizmy uruchamiania i generatory skompilowanych raportów udostępniają
ErrorMode,StrictDataAccessoraz niezmiennyLastResultze stanem końcowym, liczbą zastosowań, szczegółami błędów i uporządkowanymi problemami środowiska uruchomieniowego WriteAndContinuemoże zastąpić jawnie odzyskiwalne błędy danych komórek diagnostyką literałową i zakończyć się jakoCompletedWithErrors, przy czym domyślny trybStoppozostaje zgodny z poprzednim zachowaniem
Zmieniono
- Ścisły dostęp do danych zgłasza brakujące tabele, niedostępny dostęp losowy, brakujące wiersze i brakujące pola za pomocą stabilnych kodów błędów, gdy szablon nie definiuje jawnego obejścia
- Kontynuować można wyłącznie jawnie oznaczone odzyskiwalne błędy danych; błędy strukturalne, wywołań zwrotnych, anulowania, zasobów, bezpieczeństwa, serializacji i inne krytyczne wciąż przerywają raport
Naprawiono
- Błędy wyjścia do pliku i pliku zaszyfrowanego publikują teraz wynik nieudanego uruchomienia, zamiast zachowywać wynik zakończony z poprzedniej fazy generowania skoroszytu
Wersja 2.361.67
Zmieniono
- Skompilowane szablony, mechanizmy uruchamiania, pasma zakresów i pasma tabel programu Excel rozwiązują teraz
dbvalueidbcountza pośrednictwem jednej izolowanej sesji danych na przebieg logiczny - Powtarzane aliasy są ładowane raz w ramach przebiegu, późniejsze przebiegi ponownie ładują dane dostawcy, równoległe przebiegi zachowują niezależne pamięci podręczne, a oba przebiegi
PreprocessAndRunwspółdzielą jedną spójną migawkę tabel - Wyrażenia pasm raportu wiążą wyłącznie swoje zmienne wiersza lub kolumny, więc literałowe nazwy tabel i wbudowane zmienne lokalizacji nie są już mylone z kolumnami źródłowymi
Naprawiono
- Sesje danych raportu i ich migawki dostawców są zwalniane po udanym, anulowanym lub nieudanym wykonaniu, włącznie z wyjątkami dostawców i ponownymi próbami wielokrotnego użytku
Wersja 2.361.66
Dodano
TXLSReportDataContext.BeginRunzwraca izolowaną migawkęIXLSReportDataSessionz inspekcją stanu oraz licznikami aliasów rozwiązanych i pobranych z pamięci podręcznej
Zmieniono
- Sesje danych raportu używają pamięci podręcznej skrótu bez rozróżniania wielkości liter dla tabel jawnych, leniwych wyników dostawców, brakujących aliasów i błędów danych dostawców
- Każdy odrębny alias trafia do łańcucha dostawców co najwyżej raz na sesję, wyniki dostawców pozostają powiązane z żądanym aliasem, a rekurencja tego samego aliasu kończy się natychmiast
- Bezpośrednie wywołania
TXLSReportDataContext.TryGetTableiRequireTablezachowują oddzielną pamięć podręczną zgodności, unieważnianą przy zmianie rejestracji
Wersja 2.361.65
Dodano
IXLSXImageBlobiTXLSXImageBlobdostarczają niezmienne ładunki rastrowe i SVG z jednorazowymi skrótami SHA-256, rozmiarem w bajtach i opcjonalnym kluczem pamięci podręcznejTXLSReportImageResult.CacheKeypozwala dostawcy obrazów V2 jawnie identyfikować treści wielokrotnego użytku, a sprzeczne treści pod tym samym kluczem są odrzucane przed modyfikacją arkusza
Zmieniono
- Powtarzane obrazy raportów współdzielą jeden niezmienny ładunek na podstawie jawnego klucza pamięci podręcznej lub dokładnego dopasowania skrótu, zachowując przy tym niezależne zakotwiczenia i transformacje
- Zapis XLSX i ODS zapisuje każdy odrębny ładunek obrazu raz, ponownie używa jego relacji multimedialnej na wszystkich arkuszach i przywraca współdzielone ładunki po ponownym otwarciu skoroszytu
- Ponowne otwieranie XLSX przywraca teraz dane towarzyszące SVG z relacji rozszerzeń DrawingML i paruje je z zapasową wersją rastrową
Wersja 2.361.64
Dodano
TXLSReportImageResultmoże deklarować źródłowe wymiary w pikselach i DPI, a żądania i wyniki obrazów udostępniają przesunięcia celu względem zakotwiczenia w jednostkach EMUTXLSXImage.OffsetXEMUiOffsetYEMUzachowują położenie obrazu wewnątrz zakotwiczenia w cyklach zapisu i otwierania XLSX oraz ODS
Zmieniono
- Wiązanie obrazów V2 wyprowadza geometrię fizyczną z nagłówków PNG, JPEG, GIF, BMP, EMF i WMF, stosuje skalowanie Natural, Contain, Cover lub Stretch i wyśrodkowuje obrazy w trybie Contain bez dekodowania ich pikseli
- Geometria rastrowa jest odrzucana przed modyfikacją arkusza, gdy nagłówki są ucięte, zadeklarowane wymiary są sprzeczne, któryś bok przekracza 100 000 pikseli lub łączny rozmiar po dekodowaniu przekracza 100 milionów pikseli
Wersja 2.361.63
Dodano
IXLSReportImageDataProviderV2może zwracać bajty obrazu albo strumienie pożyczone od wywołującego lub przekazane przez dostawcę, wraz z kontekstem skoroszytu, arkusza, celu, pasma, tabeli, wiersza, zakotwiczenia i anulowaniaOnTransformImagemoże zastąpić lub przeskalować obraz przed powiązaniem, a skompilowane pasma zakresów i tabel programu Excel udostępniają migawkę tylko do odczytu każdego rzeczywistego wiersza danych
Zmieniono
- Strumienie obrazów V2 są odczytywane w ograniczonych blokach z konfigurowalnym domyślnym limitem 64 MiB; pożyczone strumienie przeszukiwalne przywracają swoją pozycję, a przekazane strumienie są zwalniane dokładnie raz
- Ładunki V2 odrzucają puste dane, niezgodne sygnatury formatów, niespójne wymiary, nieprawidłowe zakotwiczenia i przesunięcia poza siatką, zanim arkusz zostanie zmodyfikowany
- Skompilowane pasma zakresów i tabel programu Excel wiążą cele obrazów raz na wygenerowany wiersz na podstawie zmaterializowanych powiązanych kolumn, bez skanowania wygenerowanych komórek arkusza
Wersja 2.361.62
Dodano
TXLSCompiledReportRunneriTXLSReportGeneratorprzyjmują teraz istniejącyIXLSReportImageProviderz zasadami postępowania przy brakujących obrazach i komórkach dyrektywTXLSReportImageBinder.ApplyTargetwiąże jedną wstępnie skompilowaną dyrektywę obrazu bez skanowania niepowiązanych komórek arkusza
Zmieniono
- Dokładne komórki
{{#image Key}}kompilują się do typowanych celów raportu, pozostają niezmienione, gdy nie skonfigurowano dostawcy, i ponownie używają skompilowanego klucza i współrzędnych między sesjami mechanizmu uruchamiania
Wersja 2.361.61
Dodano
TXLSCompiledReportRunnerudostępnia teraz sparowane zdarzenia generowania skoroszytu i arkusza ze stabilną tożsamością arkusza, oryginalnymi i bieżącymi współrzędnymi, danymi raportu tylko do odczytu, liczbami celów, anulowaniem i szczegółami błędówTXLSReportGeneratoruruchamia szablony skoroszytowe, plikowe, strumieniowe i zaszyfrowanych plików przez zdarzenia cyklu życia odczytu szablonu i generowania, z możliwością wyboru modyfikacji w miejscu lub przez atomowe klonowanie
Zmieniono
- Generowanie raportu zamraża pierwotny zestaw arkuszy, ponownie kompiluje po zmianach struktury wywołanych przez wywołania zwrotne, odrzuca równoległą modyfikację tego samego skoroszytu, paruje zdarzenia wejścia podczas anulowania i błędów oraz zachowuje pierwszy wyjątek
- Strumienie raportu pozostają własnością wywołującego, przeszukiwalne strumienie szablonów przywracają swoją pozycję, strumienie tylko do przodu są pobierane w ograniczonych blokach, a cele strumieniowe, plikowe i zaszyfrowanych plików zmieniają się dopiero po pomyślnym zakończeniu
- Skompilowane raporty bez procedur obsługi cyklu życia zachowują bezpośrednią pętlę celów, bez skanowania arkuszy, kontekstów zdarzeń ani alokacji cyklu życia na cel
Wersja 2.361.60
Dodano
- Skoroszyty XLSX udostępniają teraz
HasWebAddinTaskPanes,WebAddinTaskPaneCountiRemoveWebAddinTaskPanesdo dokładnego sprawdzania i usuwania okienek zadań dodatków internetowych z katalogu głównego pakietu
Zmieniono
- Usuwanie okienek zadań dodatków internetowych sprawdza teraz ograniczony wewnętrzny graf relacji przed modyfikacją, zachowuje współdzielone i niepowiązane części pakietu, usuwa wyłączne elementy potomne i będące własnością części relacji, przebudowuje typy zawartości, zapobiega odradzaniu się kopii źródłowej i jest idempotentne
- Klasyczne skoroszyty XLS i ODS zgłaszają usuwanie okienek zadań dodatków internetowych jako nieobsługiwane, bez skanowania zawartości pakietu
Wersja 2.361.59
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX udostępniają teraz pasujące właściwości
SaveExternalLinkValuesiUpdateLinksdo trwałego przechowywania pamięci podręcznej oraz deklarowanej w pliku preferencji aktualizacji łączy
Zmieniono
- Wyłączenie buforowanych wartości łączy zewnętrznych pomija teraz wyłącznie klasyczne rekordy
XCT/CRNalbo zawartośćsheetDataSetw XLSX, zachowując przy tym definicje łączy, zdefiniowane nazwy, relacje, nieznany kod XML i pamięci podręczne w pamięci - Zasady łączy zewnętrznych przechodzą teraz przez zapis i otwarcie bezstratnie dla zarezerwowanych wartości źródłowych aż do ich edycji, konwertują między XLS i XLSX, zachowują niezmienione skompresowane części pakietu i nigdy nie inicjują dostępu do zewnętrznych plików ani sieci
Wersja 2.361.58
Dodano
TXLSHTMLExportiTXLSXHtmlExportSessionudostępniają teraz niezmienną migawkęRenderGeometryużywaną przez bieżącą operację HTML
Zmieniono
- Eksporterzy HTML klasycznych plików XLS i XLSX konwertują teraz szerokości znaków programu Excel na stałe długości CSS poprzez geometrię maksymalnej szerokości cyfry właściwą dla danego zaplecza, zamiast zakodowanych na stałe współczynników konwersji lub jednostek znakowych CSS
- Eksport HTML skoroszytu, arkusza, zakresu i przyrostowy wielu arkuszy przechwytuje jedną kalibrację lokalną dla operacji z ograniczoną pamięcią podręczną metryk i nigdy nie modyfikuje zapisanych wysokości wierszy ani szerokości kolumn
Wersja 2.361.57
Zmieniono
- Operacje PDF, SVG, bitmapy, podglądu wydruku i przeglądarki skoroszytów przechwytują teraz odrębne, niezmienne migawki geometrii renderowania ze świadomymi zaplecza, ograniczonymi pamięciami podręcznymi metryk
- Współdzielone renderowanie stron i zawijanie SVG używają teraz pomiaru czcionek lokalnego dla operacji zamiast globalnego dla procesu stanu bitmap GDI i list ciągów, zachowując przy tym zapisane wysokości wierszy i szerokości kolumn
Wersja 2.361.56
Zmieniono
- Autodopasowanie klasycznych plików XLS i XLSX przechwytuje teraz jedną niezmienną usługę geometrii renderowania skoroszytu na operację, obejmującą skalibrowany pomiar tekstu, zawijanie, odstępy między wierszami, marginesy komórek i rzeczywiste widoczne czcionki XLSX
- Paginacja przechwytuje teraz geometrię lokalną skoroszytu przy każdym budowaniu, usuwa globalne dla procesu stany czcionki normalnej i maksymalnej szerokości cyfry oraz stosuje skalibrowane domniemane szerokości kolumn bez modyfikowania zapisanych wysokości wierszy i szerokości kolumn
Wersja 2.361.55
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX tworzą teraz niezmienne usługi geometrii i pomiaru czcionek należące do operacji, z ograniczonymi lokalnymi pamięciami podręcznymi, współdzielonymi konwersjami szerokości i bez globalnego dla procesu bufora DPI lub szerokości bazowej autodopasowania
Wersja 2.361.54
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX udostępniają teraz zwalidowane wartości
TXLSRenderCalibrationoraz niezależne migawkiCaptureRenderCalibrationi domyślneResetRenderCalibrationdla przyszłych operacji renderowania
Wersja 2.361.53
Dodano
- Ładowanie XLSX zgłasza teraz
xlsDiagnosticPrinterSettingsRelationshipInvalid, gdy relacja ustawień drukarki arkusza jest brakująca, niewłaściwego typu lub wisząca
Zmieniono
SaveXLSWorkbookAsXLSXiSaveXLSXWorkbookAsXLSprowadzą teraz niezależnie typowane pola układu strony i nieprzejrzyste bajty sterownika drukarki, przy czym pola standardowe mają pierwszeństwo przed zduplikowanymi prywatnymi wartościami domyślnymi
Naprawiono
- Ładowanie XLSX nie wiąże już niepowiązanej części ustawień drukarki, gdy relacja nazwana przez
pageSetupjest nieprawidłowa - Konwersja XLSX na BIFF8 odrzuca teraz zbyt obszerne lub niereprezentowalne ustawienia drukarki przed zapisaniem jakichkolwiek bajtów docelowych
Wersja 2.361.52
Dodano
- Arkusze klasycznych plików XLS i XLSX udostępniają teraz odizolowane przy kopiowaniu właściwości
PrinterDriverDataiHasPrinterDriverDataorazClearPrinterDriverDatado bezpośredniego sterowania nieprzejrzystym ładunkiem sterownika drukarki
Naprawiono
- Czyszczenie danych sterownika drukarki XLSX usuwa teraz powiązaną z arkuszem relację i binarną część pakietu, nawet gdy włączono zachowywanie nieobsługiwanych części
Wersja 2.361.51
Zmieniono
- Ładowanie i zapisywanie XLSX zachowuje teraz binarne ustawienia drukarki każdego arkusza przez relację
pageSetup, deklarację typu zawartości i część pakietuprinterSettingsN.bin - Ustawienia drukarki przeżywają kopie arkuszy w obrębie jednego skoroszytu i między skoroszytami z dokładnością do bajtu i niezależną własnością, a niezmienione części źródłowe mogą zachować pierwotny skompresowany ładunek
Wersja 2.361.50
Zmieniono
- Ładowanie i zapisywanie klasycznych plików XLS zachowuje teraz kompletny ładunk sterownika drukarki BIFF
PLSrazem z każdym bezpośrednio następującym segmentemContinue - Ładunki sterowników drukarki są kopiowane w głębi razem z arkuszami, emitowane przed
Setupw fragmentach o dokładnie rozmiarze BIFF i odrzucane, gdy są strukturalnie niekompletne lub większe niż bezpieczny limit 1 MiB
Wersja 2.361.49
Dodano
- Układ strony klasycznych plików XLS udostępnia teraz właściwości tylko do odczytu
HasSetupRecordiPrinterSettingsInitialized, dzięki czemu wywołujący mogą odróżnić brakujące lub niezainicjowane ustawienia drukarki od zdefiniowanych wartości
Zmieniono
- Zapisywanie nietkniętego klasycznego arkusza zachowuje teraz brakujący rekord BIFF
Setupi utrzymuje każdy bajt istniejącego rekordu 34-bajtowego, łącznie z zarezerwowanymi i niemodelowanymi bitami flag - Metody ustawiające układ strony tworzą teraz brakujący rekord
Setuptylko wtedy, gdy jest potrzebny, i inicjują pola zależne od drukarki lub orientacji zgodnie z dotkniętą właściwością
Wersja 2.361.48
Dodano
SaveXLSXWorkbookAsXLSkonwertuje teraz skoroszyt modelu XLSX na BIFF8 przez przeciążenia plikowe i strumieniowe, zachowując wczytane wartości, formuły, style podstawowe, scalone zakresy, wymiary wierszy i kolumn, tryb daty skoroszytu i stan aktywnego arkusza
Zmieniono
- Konwersja XLSX na XLS buduje jedną deterministyczną paletę 56 kolorów przed zapisaniem stylów, zachowuje już używane sloty indeksowane i stosuje ważoną kwantyzację OKLab, gdy kolory bezpośrednie przekraczają pojemność BIFF8
- Ścieżka konwersji przechodzi przez wczytane komórki rzadkie lub spakowane bez materializacji siatki źródłowej, odrzuca współrzędne poza limitami BIFF8 przed dotknięciem celu i jest teraz dostępna w przykładach ConversionWorkbench dla Delphi i C++Builder
Wersja 2.361.47
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX udostępniają teraz pasujące metody
ApplyBiffPalettePlan, które walidują i atomowo stosują bieżący plan palety 56 slotów - Klasyczne skoroszyty udostępniają teraz
BiffPaletteSavePolicyz jawną opcją optymalizacji BIFF8 i domyślną, która zachowuje historyczne wyjście palety
Zmieniono
- Zastosowanie planu palety waliduje teraz generację źródła, skrót źródła, wszystkie tożsamości slotów i kolory, liczniki zagregowane, blokady zachowania, flagi zmian i nieprzejrzyste cele przed pierwszą modyfikacją, a następnie jednorazowo przebudowuje buforowany dopasowywacz OKLab
- Zoptymalizowane zapisy BIFF8 pozostawiają zastosowaną paletę w skoroszycie po sukcesie, ale przywracają wszystkie 56 kolorów źródłowych i pierwotną generację, jeśli wyjście nie powiedzie się lub zostanie anulowane; ścieżki wyjścia BIFF5 i nie-BIFF pozostają niezmienione
Wersja 2.361.46
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX udostępniają teraz pasujące metody
BuildBiffPalettePlan, które zwracają plan 56 slotów bez wprowadzania zmian, z tożsamością palety źródłowej, zablokowanymi slotami, proponowanymi kolorami, zagregowanymi odwzorowaniami true-color, dokładnym pokryciem i statystykami błędów percepcyjnych
Zmieniono
- Planowanie palety BIFF zachowuje teraz konsumentów indeksowanych i istniejące kolory dokładne przed przypisywaniem wolnych slotów, a następnie używa deterministycznego ważonego częstotliwością grupowania OKLab tylko wtedy, gdy kolory bezpośrednie i rozwiązywane motywu przekraczają pozostałą pojemność
- Konstruowanie planu palety odczytuje zapisane metadane stylów i formatowania warunkowego bez zmiany wpisów palety, liczników kolorów niestandardowych, komórek, zachowania zapisu ani magazynu rzadkiego
Wersja 2.361.45
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX udostępniają teraz pasujące metody
ScanIndexedColorUsage, które zwracają deterministyczny wykaz 56 slotów z indeksami publicznymi i fizycznymi, znormalizowanymi wartościami ARGB, licznikami definicji i odwołań, rodzajami konsumentów i blokadami zachowania
Zmieniono
- Skanowanie użycia kolorów indeksowanych obejmuje teraz pule stylów skoroszytu, rzadkie odwołania komórek, style nazwane, nakładki zakresów, linie siatki arkusza, kształty, komentarze, tekst sformatowany, czcionki wykresów, style różnicowe, paski danych i skale kolorów bez materializowania nieużywanych komórek i bez zmiany stanu skoroszytu
- Kolory indeksowanego formatowania warunkowego przechodzą teraz przez klasyczne style różnicowe BIFF i OpenXML, paski danych i skale kolorów, w tym zapisy strumieniowe emitujące identyfikatory stylów różnicowych przed częściami arkusza
Wersja 2.361.44
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX udostępniają teraz pasujące metody
NearestIndexedColor, które zwracają najbliższy publiczny indeks palety, slot fizyczny, znormalizowaną wartość ARGB, kwadrat odległości percepcyjnej i status dokładnego dopasowania
Zmieniono
- Dopasowanie najbliższego koloru indeksowanego współdzieli teraz jedną buforowaną implementację OKLab między oboma silnikami skoroszytów i starszym menedżerem kolorów, z deterministycznym rozstrzyganiem remisów najniższym indeksem i aktualizacjami pamięci podręcznej ograniczonymi do faktycznych mutacji palety
- Zapytania o najbliższy kolor skanują wyłącznie 56 fizycznych wpisów palety BIFF, odrzucają częściowo przezroczyste dane wejściowe i nigdy nie modyfikują palety ani stanu skoroszytu
Wersja 2.361.43
Dodano
- Klasyczne skoroszyty XLS i skoroszyty XLSX udostępniają teraz pasujące przeciążenia
ResolveIndexedColor, które klasyfikują publiczne indeksy kolorów, wartości BIFFicvi kolory indeksowane OOXML, zwracając metadane palety, automatyczne, systemowe lub nieprawidłowe - Typowany wynik koloru indeksowanego raportuje surowy indeks, slot palety, rolę koloru systemowego, znormalizowaną wartość ARGB oraz to, czy rozwiązano konkretny kolor
Zmieniono
- Tokeny kolorów automatycznych i systemowych nie odpytują już domyślnie bieżącego pulpitu Windows; wywołujący mogą przekazać jawny resolver, gdy wymagany jest konkretny kolor środowiska
- Systemowe kolory motywu używają teraz zapisanej zapasowej wartości RGB, co utrzymuje ładowanie, zapis i przetwarzanie bezgłowe deterministycznymi na różnych maszynach
Naprawiono
- Nieprawidłowe wartości kolorów indeksowanych OOXML nie rozwiązują się już do nieprzezroczystej czerni, a wartości domyślne starszego menedżera kolorów używają teraz dokładnych wartości palety 128-kanałowej
Wersja 2.361.42
Dodano
TXLSWorksheetiTXLSXWorksheetudostępniają teraz pasujące metodyTryGetOutlineNode,SetOutlineNodeCollapsediSetOutlineDisplayLeveldla węzłów podsumowań wierszy lub kolumn numerowanych od jedynki
Zmieniono
- Zapytania i aktualizacje konspektu arkusza adaptują teraz rzadkie metadane silnika do skompresowanych planów, domyślnie zachowują stan zagnieżdżonych elementów potomnych i stosują zmiany ukrycia oraz zwinięcia bez skanowania nieużywanych współrzędnych arkusza
- Grupy wierszy i kolumn OpenDocument zachowują teraz natywny zagnieżdżony stan wyświetlania w bezpośrednich zmianach metadanych, edycjach strukturalnych, cyklach zapisu i otwarcia ODS oraz konwersji na znaczniki węzłów podsumowań XLSX
TXLSXWorksheet.ToggleRowGroupediToggleColGroupedpozostają dostępne jako zgodnościowe otoczki uwzględniające kierunek wokół interfejsu API węzłów podsumowań
Wersja 2.361.41
Dodano
TXLSOutlineGeometrypotrafi teraz budować skompresowane wystąpieniaTXLSOutlineMutationPlando idempotentnego zwijania lub rozwijania węzłów i zmian poziomu wyświetlania konspektu numerowanych od jedynki- Plany mutacji konspektu udostępniają jawne tryby zachowania, zwijania i rozwijania elementów potomnych, zachowując domyślnie niezależność zagnieżdżonych znaczników zwinięcia
Zmieniono
- Rozwijanie zagnieżdżonego węzła konspektu uwzględnia teraz zwiniętych przodków i zwiniętych potomków przy wyprowadzaniu widoczności, a zbiorcze wykrywanie węzłów przechodzi wyłącznie przez zmaterializowane zakresy jednym liniowym przebiegiem stosu monotonicznego
Wersja 2.361.40
Dodano
- Nowa neutralna względem silnika jednostka
lxOutlinebuduje geometrię konspektu wierszy lub kolumn z posortowanych rzadkich zakresów i wykrywa węzły podsumowań przed szczegółami lub po nich, zagnieżdżone zakresy szczegółów, poziomy podsumowań, stan ukrycia i jawne znaczniki zwinięcia bez skanowania nieużywanych współrzędnych arkusza
Wersja 2.361.39
Dodano
- Metadane kolumn klasycznych plików XLS udostępniają teraz niezależny znacznik zwinięcia konspektu przez
TXLSColumnInfo.CollapsediTXLSColumnInfoList.Collapsed
Naprawiono
- Znaczniki zwinięcia konspektu kolumn klasycznych plików XLS przeżywają teraz cykle zapisu i odczytu BIFF, kopie formatów kolumn, kopie arkuszy i łączenie sąsiednich rekordów, przy czym zdefiniowana szerokość, dopasowanie optymalne i flagi fonetyczne pozostają nienaruszone
Wersja 2.361.38
Naprawiono
- Kolumny podsumowań konspektu klasycznych plików XLS zachowują teraz swoją logiczną pozycję lewą lub prawą w widokach arkuszy od lewej do prawej i od prawej do lewej, zamiast zapisywać przeciwny bit kierunku
WSBOOL
Wersja 2.361.37
Dodano
- Arkusze klasycznych plików XLS i XLSX udostępniają teraz
EvaluateFormulaAtdo obliczania formuł A1 lub R1C1 tylko do odczytu w jawnym kontekście komórki docelowej IXLSFormulaEvaluationTemplatekompiluje raz niezmienną kotwicę formuły i wielokrotnie oblicza ją w innych komórkach przezEvaluateAtlubEvaluateAtWithOptions- Opcje obliczania formuł obejmują teraz limity długości formuły, kroków elementów składni, głębokości rekurencji i bajtów generowanych tablic, z wyczerpaniem zgłaszanym jako
xlfeResourceLimit
Zmieniono
- Obliczanie jednorazowe i wielokrotnego użytku współdzieli teraz nazwy lokalne arkusza, odwołania strukturalne, niebuforowane zależności formuł, korzenie tablic, status ulotności, anulowanie i jawnie autoryzowane odwołania zewnętrzne bez zapisywania stanu skoroszytu
- Istniejące metody
Calculateskoroszytu i arkusza pozostają fasadami zgodności nad typowanym ewaluatorem kontekstowym
Naprawiono
- Obliczanie kontekstowe zachowuje teraz warianty błędów formuł i rozróżnia błędy analizy składni, nieobsługiwanej funkcji, odwołania cyklicznego, odwołania zewnętrznego, anulowania, czasu życia arkusza i limitu zasobów
- Szablony R1C1 wielokrotnego użytku tłumaczą teraz względne przesunięcia wierszy i kolumn od swojej kotwicy kompilacji, gdy są obliczane w innej komórce docelowej
Wersja 2.361.36
Dodano
ConvertExternalDefinedNamesToRefErrorsjest teraz dostępny w skoroszytach klasycznych XLS i XLSX, aby odłączyć potwierdzone zdefiniowane nazwy zewnętrznych skoroszytów bez przepisywania zwykłych formuł komórek- Pominięte źle sformułowane lub nieobsługiwane definicje są zgłaszane przez
xlsDiagnosticDefinedNameConversionSkipped
Zmieniono
- Konwersja atomowo zastępuje wybrane definicje natywnym
#REF!, zachowując zakres skoroszytu lub arkusza, widoczność, komentarze, flagi makr i wbudowanych, nieznane atrybuty oraz części łączy zewnętrznych
Naprawiono
- Składnia slotu zewnętrznej zdefiniowanej nazwy, taka jak
=[1]!RemoteName, rozwiązuje się teraz przez zadeklarowane łącze skoroszytu, a formuły zależne zachowują wynikową wartość błędu programu Excel podczas przeliczania
Wersja 2.361.35
Dodano
TXLSWorkbookWorkspace.Recalculateoblicza teraz zarejestrowane węzły formuł klasycznych XLS, XLSX i ODS w jednym topologicznym przebiegu między skoroszytami, z wykrywaniem silnie spójnych składowych i propagacją generacji zanieczyszczeniaTXLSWorkspaceRecalcResultraportuje ponowne użycie grafu, węzły zanieczyszczone i obliczone, cykle, zablokowanych zależnych, unieważnienia oraz trafienia i braki pamięci podręcznej środowiska uruchomieniowego
Zmieniono
- Przestrzeń robocza zachowuje graf zależności do momentu zmiany rejestracji lub topologii formuł, podczas gdy zwykłe edycje wartości zanieczyszczają tylko dotknięte węzły skoroszytu i ich tranzytywnych zależnych
- Powtarzane odczyty komórek zewnętrznych w jednym przebiegu obliczeń współdzielą dokładną pamięć podręczną skoroszytu, arkusza, wiersza i kolumny, unieważnianą przed każdą zaplanowaną aktualizacją formuły
Naprawiono
- Dwukierunkowe łącza między skoroszytami nie są już traktowane jako cykliczne, chyba że graf komórek formuł zawiera rzeczywisty cykl; członkowie cyklu i ich zablokowani zależni są unieważniani, zamiast zwracać nieaktualne wartości z pamięci podręcznej
- Nieudana lub unieważniona cyklem sesja przestrzeni roboczej zachowuje teraz stan zanieczyszczenia lokalny dla silnika, dzięki czemu późniejsze przeliczenie skoroszytu ponawia niedokończone formuły, zamiast traktować częściowy przebieg jako kompletny
Wersja 2.361.34
Dodano
TXLSWorkbookWorkspace.BuildDependencyGraphtworzy teraz jeden graf zależności obejmujący zarejestrowane skoroszyty klasycznych XLS, XLSX i ODS, zachowując tożsamości skoroszytu, arkusza, komórki, prostokątnego zakresu i zdefiniowanej nazwy o zakresieTXLSWorkspaceDepGraphudostępnia zapytania o węzły formuł, odwołania, krawędzie, zależnych komórek i zależnych zdefiniowanych nazw, a także diagnostykę sprawdzania kandydatów do weryfikacji wydajności
Zmieniono
- Duże zakresy formuł pozostają zwartymi interwałami zamiast rozszerzać się do pojedynczych komórek, a drzewa interwałów wierszy przycinają zarówno wyszukiwanie zależnych, jak i budowę krawędzi, bez materializowania spakowanych wartości arkusza
- Lokalne zdefiniowane nazwy zachowują zarówno swoją zależność symboliczną, jak i statycznie rozwiązane zależności komórek lub zakresów, a zewnętrzne zdefiniowane nazwy zachowują zadeklarowany slot zewnętrznego skoroszytu, nazwę i zakres arkusza
Naprawiono
- Zwykłe zdefiniowane nazwy nie są już czyszczone, podczas gdy analizator składni formuł sprawdza opcjonalny prefiks zewnętrznego skoroszytu
Wersja 2.361.33
Dodano
TXLSWorkbookWorkspace.OnLoadWorkbookmoże teraz żądać zewnętrznego skoroszytu przez politykę kontrolowaną przez wywołującego co najwyżej raz na znormalizowaną tożsamość, aResolveWithLoaderraportuje typowaną diagnostykę: nie znaleziono, błąd, cykl i limit zasobówMaxLoadDepth,MaxWorkbookCountiResetLoadAttemptsdostarczają jawnych granic i kontroli ponawiania dla ładowania zewnętrznych skoroszytów
Zmieniono
- Równoległe żądania zewnętrznych skoroszytów współdzielą teraz jeden wynik ładowania w toku, a zagnieżdżone ponowne wejście jest odrzucane bez czekania w międzywątkowym cyklu ładowania; domyślna przestrzeń robocza wciąż nie wykonuje żadnego dostępu do systemu plików ani sieci
Wersja 2.361.32
Dodano
- Klasyczne skoroszyty XLS udostępniają teraz
CreateWorkspaceWorkbook,RegisterExternalWorkbook,UnregisterExternalWorkbookiExternalWorkspace, umożliwiając skoroszytom Classic, XLSX i ODS dostarczanie zewnętrznych wartości formuł przez jedną neutralną względem silnika przestrzeń roboczą - Pamięci podręczne łączy zewnętrznych klasycznych plików XLS dekodują teraz wartości liczbowe, ciągowe, logiczne, błędów i puste z typowanych rekordów XCT i CRN do rzadkiego wyszukiwania o stałym czasie, bez materializowania arkuszy
Zmieniono
- Obliczanie formuł zewnętrznych rozwiązuje teraz nazwy arkuszy przed rozwiązaniami pozycyjnymi i konsekwentnie czyta najpierw jawnie zarejestrowany aktywny skoroszyt, potem typowaną pamięć podręczną pliku, a w końcu zwraca
#REF!, przy czym zniszczone rejestracje są odwoływane bez domniemanego dostępu do plików lub sieci - Cytowane tożsamości zewnętrznych skoroszytów mogą zawierać schematy URI, litery dysków Windows i inne dwukropki bez ryzyka pomylenia z separatorem trójwymiarowego zakresu arkuszy, dzięki czemu IRI zewnętrznych źródeł ODF pozostają nienaruszone podczas importu formuł
Wersja 2.361.31
Dodano
TXLSWorkbookWorkspace,IXLSWorkspaceWorkbookiTXLSXWorkbook.CreateWorkspaceWorkbookdostarczają wątkowo bezpieczny fundament tożsamości i rejestracji zewnętrznych skoroszytów z jawnym statusem rozwiązania, śledzeniem generacji i odwoływalnymi adapterami skoroszytów
Zmieniono
TXLSXWorkbook.RegisterExternalWorkbookzachowuje teraz ścieżki i rozszerzenia, rozwiązuje względne cele relacji względem skoroszytu będącego właścicielem, odrzuca niejednoznaczne aliasy lub cele o tej samej nazwie bazowej zamiast po cichu wybierać jeden, odwołuje rejestracje po zniszczeniu docelowego skoroszytu i zachowuje typowaną zapasową pamięć podręczną łączy zewnętrznych bez domniemanego dostępu do plików lub sieci
Wersja 2.361.30
Dodano
- Widoki skoroszytów Classic i XLSX tylko do odczytu mogą teraz obliczać formuły na żądanie przez
xlsvEvaluateFormulasi raportować niezależny wynik przezFormulaEvaluation, bez zastępowania zapisanych pamięci podręcznych formuł
Zmieniono
- Równoległe widoki tylko do odczytu izolują teraz flagi rekurencji formuł, wyniki skalarne, skompilowane formuły XLSX i macierze tablic, a zewnętrzne formuły XLSX używają wyłącznie lokalnych dla pliku pamięci podręcznych łączy zewnętrznych i nigdy nie dereferencjonują rejestracji aktywnych skoroszytów
Naprawiono
- Buforowane wartości łączy zewnętrznych XLSX rozwiązują teraz indeks arkusza numerowany od jedynki, niesiony przez zewnętrzne rekordy XTI, na właściwy wpis buforowany arkusza numerowany od zera
Wersja 2.361.29
Dodano
- Skoroszyty XLSX udostępniają teraz
IXLSXWorkbookOwner.CreateReadOnlyViewz widokowymi aktywnymi arkuszami, migawkami komórek zmaterializowanych i spakowanych przekazywanymi przez wartość, buforowanymi wynikami formuł, formułami tekstowymi na życzenie, bezpieczną kolejnością zwalniania właściciela lub widoku oraz natychmiastowym wykluczaniem zapisu
Zmieniono
- Widoki XLSX tylko do odczytu używają wyłącznie lokalnie zapisanych pamięci podręcznych formuł zewnętrznych i nigdy nie dereferencjonują słabych rejestracji aktywnych skoroszytów
Wersja 2.361.28
Dodano
- Klasyczne skoroszyty udostępniają teraz
CreateReadOnlyViewiIXLSReadOnlyWorkbookViewdla widoków współdzielonego modelu o stałym czasie, z niezależnymi aktywnymi arkuszami, migawkami komórek przekazywanymi przez wartość, buforowanymi wynikami formuł, formułami tekstowymi na życzenie, czasem życia właściciela licznym przez odwołania oraz natychmiastowym wykluczaniem zapisu
Wersja 2.361.27
Dodano
- Skoroszyty Classic, XLSX i ODS udostępniają teraz
CreateFormulaCacheReaderoraz współdzielony interfejsIXLSFormulaCacheReaderdo neutralnej względem silnika inspekcji pamięci podręcznej formuł z bezpiecznym unieważnianiem czasu życia
Zmieniono
- Inspekcja pamięci podręcznej formuł współdzielonych zachowuje teraz niezależny zapisany wynik każdego członka, więc członek następujący bez wartości buforowanej zgłasza brak, zamiast dziedziczyć wartość członka głównego
Wersja 2.361.26
Dodano
TXLSXWorkbook.TryGetCachedFormulaValueraportuje teraz obecność, pochodzenie i rodzaj wartości pamięci podręcznej formuł XLSX i ODS, bez obliczeń i modyfikacji skoroszytu
Naprawiono
- Pamięci podręczne formuł XLSX i ODS zachowują teraz brakujące i jawne puste wyniki, puste ciągi, logiczną wartość fałsz, zero liczbowe, typowane błędy i jawne daty w cyklach zapisu i ponownego otwarcia, a zmienione formuły nie serializują już nieaktualnych buforowanych wyników
Wersja 2.361.25
Dodano
- Klasyczne skoroszyty udostępniają teraz
TryGetCachedFormulaValuez jawną obecnością pamięci podręcznej, pochodzeniem i rodzajem wartości, co pozwala odczytać zapisany wynik formuły bez obliczeń, wywołań zwrotnych funkcji użytkownika, dekompilacji tokenów i modyfikacji skoroszytu
Naprawiono
- Pamięci podręczne wartości logicznych i błędów formuł klasycznych plików XLS używają teraz określonego bajtu ładunku BIFF w formułach zwykłych i współdzielonych, a wczytane wyniki błędów pozostają typowanymi wartościami
varErrorw cyklach zapisu i ponownego otwarcia
Wersja 2.361.24
Dodano
- Skoroszyty Classic i XLSX dostarczają teraz przeciążenie
CreateLoadedCellCursor(Boolean), które może obejmować zapisane puste komórki z niezależnym stylem jako migawkixlckBlank
Zmieniono
- Włączana na życzenie wędrówka po pustych komórkach zachowuje kolejność arkuszy, wierszy i kolumn, utrzymuje spakowany magazyn XLSX skompresowany i wyklucza współrzędne z dziedziczonym formatem oraz nieostylowane symbole zastępcze Empty i Null
Wersja 2.361.23
Dodano
- Skoroszyty XLSX udostępniają teraz
TXLSXWorkbook.CreateLoadedCellCursordo wędrówki po zapisanych komórkach wartości i formuł w porządku wierszowym o stałym stanie, obejmującej wszystkie arkusze TXLSLoadedCellKindzawiera terazxlckError, dzięki czemu zapisane wartości błędów XLSX zachowują swój odrębny rodzaj wartości
Zmieniono
- Kursory XLSX przechodzą bezpośrednio przez zmaterializowane rzadkie bloki wierszy lub magazyn spakowany, bez sortowania komórek i materializowania wartości spakowanych, a migawki formuł zwracają aktualnie zapisaną wartość buforowaną bez przeliczania
- Zmiany topologii w obrębie całego skoroszytu i zwolnienie skoroszytu unieważniają kursory XLSX przez współdzieloną dzierżawę czasu życia, podczas gdy edycje zawartości istniejących komórek utrzymują ważność wędrówki i własność przechwyconych migawek
Wersja 2.361.22
Dodano
- Klasyczne skoroszyty udostępniają teraz
IXLSWorkbook.CreateLoadedCellCursordo wędrówki po zapisanych komórkach wartości i formuł w porządku wierszowym o stałym stanie, obejmującej wszystkie arkusze TXLSLoadedCellSnapshotzwraca będącą własnością tożsamość arkusza, współrzędne numerowane od jedynki, styl, rodzaj wartości, wartość i tekst formuły, bez ujawniania wewnętrznych obiektów komórek
Zmieniono
- Kursory wczytanych komórek natychmiast zawodzą po zmianach topologii komórek, kolekcji arkuszy lub zastąpieniu modelu skoroszytu, podczas gdy edycje zawartości istniejących komórek utrzymują ważność wędrówki, a wcześniej przechwycone migawki pozostają niezmienione
Wersja 2.361.21
Dodano
- Magazyny komórek arkuszy i kolekcje arkuszy Classic oraz XLSX udostępniają teraz niezależne liczniki generacji strukturalnej do bezpiecznej długotrwałej wędrówki
XlsValidateStructureGenerationiEXLSLoadedCellCursorInvalidateddostarczają jedną umowę walidacji z natychmiastowym zgłaszaniem błędów dla czytników wczytanych komórek
Zmieniono
- Tworzenie, usuwanie i czyszczenie komórek, zmiana kolejności współrzędnych, przejścia magazynu spakowanego, przebudowy indeksów oraz operacje dodania, usunięcia lub przeniesienia arkusza przesuwają odpowiednią generację, podczas gdy edycje zawartości istniejących komórek, zmiana nazwy lub aktywacja arkusza i mutacje bez efektu utrzymują ją stabilną
Wersja 2.361.20
Dodano
TXLSForwardReaderprzyjmuje teraz dane wejściowe ODS przez tę samą powierzchnię wywołań zwrotnych co XLS, XLSX, CSV i TSVPeakRowBufferedBytesiSheetPassesStartedujawniają szczytowy zestaw roboczy logicznych wierszy współdzielonego zaplecza wierszy oraz liczbę udanych przebiegów arkusza
Zmieniono
TXLSForwardReaderadaptuje terazTXLSRowCursordla każdego obsługiwanego formatu, współdzieląc zachowanie granic wierszy, projekcji kolumn, stanu formuł, tekstu sformatowanego, haseł, pominiętych rekordów i pozycji strumienia, zamiast utrzymywać osobne ścieżki skanowania- Indeksy arkuszy czytnika do przodu są konsekwentnie numerowane od jedynki, a arkusze pominięte przez
OnSheetnie są otwierane ani dekompresowane
Wersja 2.361.19
Dodano
TXLSRowCursorujawnia teraz jawne stany: zamknięty, przed pierwszym, aktywny, EOF, anulowany i błędny, oraz idempotentną metodęCancel, która zwalnia strumień aktywnego arkusza bez zamykania źródłaCurrentRowViewdostarcza sprawdzaną generacyjnie pożyczony widok bieżącego wiersza bez duplikowania jego tablicy komórek; przesunięcie, wybór arkusza, anulowanie, zamknięcie lub zniszczenie kursora unieważnia wcześniejsze widoki zEXLSRowCursorViewInvalidated- Otwieranie strumieni przyjmuje teraz
xsoBorrowedlubxsoOwned, przenosząc własność dopiero po udanym otwarciu, aPeakRowBufferedBytesraportuje szacowany szczytowy bufor logicznych wierszy od ostatniego otwarcia
Zmieniono
- Błędy części arkusza i rozpoczęcia przebiegu zachowują teraz swój pierwotny wyjątek odczytu i umieszczają kursor w stanie błędnym, zamiast jawić się jako anulowanie lub normalny EOF; jawny wybór arkusza resetuje przebieg na potrzeby ponowienia
Wersja 2.361.18
Dodano
TXLSDirectCelliTXLSRowCursorCellujawniają terazHasFormulaiFormulaTextAvailable, rozróżniając zwykłe wartości, formuły z dostępnym tekstem i formuły, których tekst jest tłumiony lub niedostępnyTXLSDirectReader,TXLSForwardReaderiTXLSRowCursordostarczają terazIncludeFormulaText; jego wyłączenie zachowuje wartości buforowane, współrzędne, style i obecność formuł, zapobiegając przy tym gromadzeniu tekstu formuł w strumieniach XLSX i ODS
Zmieniono
- Granice wierszy i projekcja kolumn są teraz przekazywane do zapleczy XLS, XLSX, ODS, CSV i TSV przed alokacją wartości, formuł i tekstu sformatowanego; powtarzane zakresy kolumn ODS przeskakują bezpośrednio między wybranymi kolumnami, a powtarzane bloki wierszy są przycinane do żądanego zakresu
- Opcje przebiegu kursora wierszy są zamrażane na czas aktywnego przebiegu arkusza i stają się znowu zmiennymi po EOF, wyborze arkusza lub zamknięciu, co zapobiega mieszaniu niespójnych ustawień filtrów lub dekodowania w ramach przebiegu
Wersja 2.361.17
Dodano
TXLSRowCursorotwiera teraz pliki ODS i strumienie należące do wywołującego, automatycznie wykrywa pakiety ODS po ich typie MIME lub plikucontent.xml, wstępnie ładuje nazwy arkuszy i strumieniuje wybraną tabelę przezFindFirstiFindNext, bez materializowania skoroszytu
Zmieniono
- Wędrówka po wierszach ODS leniwie rozwija powtórzone wiersze i kolumny, pomija pokryte komórki jako niezależne wartości, zachowuje ostylowane komórki puste i buforowane wartości formuł, przywraca pożyczone pozycje strumienia i zgłasza nieprawidłowe lub ograniczone siatką liczniki powtórzeń przez
OnSkippedRecord
Wersja 2.361.16
Dodano
TXLSRowCursorstrumieniuje teraz pliki CSV i TSV albo strumienie należące do wywołującego, z wykrywaniem BOM UTF-8 i UTF-16, wielowierszowymi rekordami w cudzysłowach, znakami ucieczki cudzysłowów, węszeniem separatora przecinka, średnika, tabulatora lub pionowej kreski, opcjonalnym nadpisaniem separatora oraz opcjonalnym rozpoznawaniem typów liczby, daty ISO, wartości logicznych i błędów
Zmieniono
TXLSForwardReaderiTXLSRowCursorwspółdzielą teraz jedno wstrzymywalne zaplecze wierszy tekstowych, zachowując identyczne wyniki wywołań zwrotnych i pobierania, przy zwalnianiu ładunków Variant, formuł i tekstu sformatowanego z poprzedniego wiersza przed przesunięciem
Wersja 2.361.15
Dodano
TXLSRowCursorotwiera teraz klasyczne skoroszyty.xlsz plików lub strumieni, automatycznie wykrywa kontenery złożone BIFF i zwraca buforowane wyniki formuł liczbowe lub ciągowe plus zapisane komórkiBlankiMulBlank, zachowując wyłącznie bieżący wiersz logiczny
Zmieniono
- Przeciążenia
Openkursora wierszy przyjmują opcjonalnyTXLSForwardFormat; otwarcia plików są właścicielami wewnętrznego strumienia BIFF, otwarcia strumieni pożyczają strumień wywołującego i przywracają jego pozycję początkową przyClose, a powtarzane przebiegiFindFirstprzesuwają się bezpośrednio do wybranego arkusza
Wersja 2.361.14
Dodano
- Obliczanie formuł obsługuje teraz
ISFORMULAdla pojedynczych komórek, odwołań międzyarkuszowych i prostokątnych zakresów, zwracając tablicę logiczną o tym samym kształcie dla danych wejściowych zakresu, bez obliczania wskazywanych formuł
Zmieniono
- Sprawdzanie obecności formuł rozróżnia zwykłe wartości i puste, członków formuł współdzielonych, członków formuł tablicowych klasycznych i XLSX, kotwice tablic dynamicznych oraz potomków dynamicznego rozlania; generowane tablice są ograniczane przez
FormulaArrayMemoryLimit - XLSX zapisuje
ISFORMULAz prefiksem_xlfn., ODS emituje standardową pisownię OpenFormula, a zapisy klasycznych plików XLS odrzucają nieobsługiwaną funkcję przyszłości bez zatwierdzania częściowego strumienia
Naprawiono
- Analiza tekstu formuł rozpoznaje teraz siedem standardowych literałów błędów programu Excel, dzięki czemu
#REF!może się propagować przez funkcje przyjmujące wyłącznie odwołania, natomiast zdefiniowana nazwa rozwiązująca się do skalaru zgłasza#VALUE!zamiast#NAME?
Wersja 2.361.13
Dodano
- Obliczanie formuł obsługuje teraz
UNICHARw całym zakresie skalarnym Unicode, łącznie ze znakami dodatkowymi i do użytku prywatnego, z błędami zgodnymi z programem Excel dla zera, wartości poza zakresem, punktów kodowych zastępczych i wartości noncharacter standardu Unicode - Obliczanie formuł obsługuje teraz
BAHTTEXTz tekstem batów i satangów tajskich, zaokrąglaniem środka do dwóch miejsc dziesiętnych w kierunku od zera, wartościami ujemnymi, powtarzanymi grupami milionów i skończonymi danymi wejściowymi w zapisie naukowym
Zmieniono
UNICHARiBAHTTEXTodwzorowują zakresy i generowane tablice element po elemencie, zachowując lokalne błędy; XLSX zapisujeUNICHARz prefiksem funkcji przyszłości, natomiastBAHTTEXTpozostaje standardową gołą funkcją zarówno w XLS, jak i XLSX
Wersja 2.361.12
Dodano
- Obliczanie formuł obsługuje teraz
COMBINAiPERMUTATIONAz obciętymi nieujemnymi argumentami, sprawdzanym przepełnieniem, rozgłaszaniem tablic jednoelementowych i błędami per element, a także macierze jednostkoweMUNITbez sztywnego sufitu wymiarów - Skoroszyty Classic i XLSX udostępniają
FormulaArrayMemoryLimitz domyślną wartością 64 MiB ograniczającą generowane ładunki tablic formuł, włącznie z równoległymi procesami roboczymi przeliczania XLSX
Zmieniono
PERMUTATIONAużywa potęgowania logarytmicznego,COMBINAskraca swoją multiplikatywną rekurencję, aMUNITalokuje zwartą macierz liczbową, zapisując tylko jej przekątną
Naprawiono
- Liczbowe tablice formuł nie są już klasyfikowane jako skalarne liczby, a nowo utworzone skoroszyty klasyczne stosują limity siatki BIFF97 podczas obliczania formuł przed swoim pierwszym zapisem
Wersja 2.361.11
Dodano
- Obliczanie formuł obsługuje teraz
COT,ACOT,COTH,ACOTH,CSC,CSCH,SECiSECHz regułami wartości głównej, dziedziny, osobliwości, skończonych danych wejściowych i dużych argumentów dla operandów skalarnych i rozgłaszanych tablic
Naprawiono
- Odwzorowane funkcje formuł zachowują teraz bezpośrednie błędy skalarne jako wartości błędów arkusza, używają odpornych na anulowanie gałęzi odwrotności i ogona wykładniczego dla dużych poprawnych danych wejściowych, zapisują dokładne nazwy
_xlfn.bez_xlws.i czysto odrzucają nieobsługiwane formuły Classic BIFF
Wersja 2.361.10
Dodano
- Obliczanie formuł obsługuje teraz
CEILING.MATHiFLOOR.MATHz pominiętymi argumentami istotności i trybu, istotnością niezależną od znaku, precyzyjnymi granicami wielokrotności dziesiętnych i określonymi kierunkami trybu liczb ujemnych
Zmieniono
- Funkcje tablicowe na poziomie formuł mogą teraz współdzielić liniowe odwzorowanie elementów z rozgłaszaniem pojedynczego wiersza i pojedynczej kolumny, jednorazowymi migawkami zakresów oraz błędami konwersji lub obliczeń per element; XLSX używa prefiksu
_xlfn.dla obu nowych funkcji, a zapisy Classic BIFF czysto odrzucają nieobsługiwane formuły
Wersja 2.361.9
Dodano
- Obliczanie formuł obsługuje teraz
SORTBYze stabilnym porządkiem wierszy lub kolumn po wielu kluczach, niezależnymi kierunkami rosnącymi lub malejącymi, domyślnymi kierunkami przy pominięciu, kluczami zakresów lub generowanych tablic oraz jednorazowymi migawkami źródła i kluczy, po których następuje sortowanie O(n log n)
Naprawiono
- Zapisy Classic BIFF zawodzą teraz czysto, gdy formuły nie można przedstawić, zamiast zgłaszać sukces po odrzuceniu wewnętrznego identyfikatora funkcji przyszłości, natomiast XLSX zapisuje
SORTBYz_xlfn.i nigdy nie dodaje_xlws.
Wersja 2.361.8
Zmieniono
- Tryb wyświetlania zer arkusza używa teraz jednej decyzji opartej na surowej wartości we wszystkich ścieżkach: przeglądarce skoroszytów, podglądzie, wydruku, bitmapie, EMF, SVG, PDF, klasycznym HTML i HTML XLSX; rzeczywiste zero liczbowe jest ukrywane przed formatowaniem liczb i pomiarem tekstu, przy czym tryb wyświetlania formuł zachowuje pierwszeństwo
Naprawiono
- Widoki arkuszy XLSX analizują, zapisują i kopiują teraz stan wyświetlania zer przez jedno ustawienie, poprawnie obsługują bazę daty 1904, zachowują wygląd formatowania warunkowego i geometrię hiperłączy dla ukrytych komórek z zerami, a zapisane wartości, publiczny tekst sformatowany, wyjście CSV i ODS pozostają niezmienione
Wersja 2.361.7
Zmieniono
- Tryb wyświetlania formuł arkusza używa teraz jednej decyzji tekstowej uwzględniającej komórki chronione we wszystkich ścieżkach: przeglądarce skoroszytów, podglądzie, wydruku, bitmapie, EMF, SVG, PDF, klasycznym HTML i HTML XLSX; tekst formuły używa wyrównania tekstu przy wyrównaniu Ogólne, zachowuje wyrównanie jawne i otrzymuje nieutrwaloną, dwukrotnie większą efektywną szerokość układu, bez przelewania się do sąsiednich komórek
Naprawiono
- Widoki arkuszy XLSX akceptują teraz zarówno
showFormulas="1", jak ishowFormulas="true", zachowują to ustawienie podczas kopii arkuszy w obrębie jednego skoroszytu i między skoroszytami oraz emitują wymagany stansheetView, bez zmiany pamięci podręcznych formuł, wyjścia CSV, trwałości ODS ani publicznej umowy wartości sformatowanych
Wersja 2.361.6
Zmieniono
- Zewnętrzne formuły skoroszytowe XLSX współdzielą teraz jeden analizator leksykalny prefiksów skoroszytów świadomy gramatyki, używany w konwersji
OnlyExternal, diagnostyce formuł, wiązaniu obliczeń, kopiowaniu między skoroszytami i serializacji formuł generowanych; numeryczne sloty łączy są kanoniczne, natomiast odwołania strukturalne, literały ciągowe, źle sformułowane indeksy i niejednoznaczne prefiksy nazw plików kończą się bezpiecznym niepowodzeniem TXLSXExternalLinkujawnia teraz źródłowyRelationshipId, numerowany od jedynkiSourceSloti typowanyLinkKind, dzięki czemu wpisy odwołań zewnętrznych skoroszytowych, DDE, OLE i nierozwiązane mogą być poddawane audytowi bez wnioskowania o tożsamości z kolejności w kolekcji lub tekstu celu
Naprawiono
- Zmiana celu łącza zewnętrznego XLSX lub listy arkuszy unieważnia teraz skompilowane wiązania formuł zewnętrznych według rewizji, zamiast ponownie skanować każdą komórkę, a niezmienione części łączy zewnętrznych DDE lub OLE bez plików relacji pozostają zachowane bajt po bajcie podczas zapisu
Wersja 2.361.5
Naprawiono
- Sloty zewnętrznych formuł skoroszytowych XLSX podążają teraz za kolejnością dokumentu odwołań zewnętrznych w
workbook.xml, a nie kolejnością pliku relacji; brakujące, nierozwiązane i złego typu relacje zachowują puste sloty, dzięki czemu późniejsze odwołania[N]się nie przesuwają
Wersja 2.361.4
Zmieniono
- Zamrażanie formuł klasycznych plików XLS z
OnlyExternalklasyfikuje teraz zachowane odwołania BIFF i konwertuje wyłącznie potwierdzone formuły zewnętrznych skoroszytów, natomiast odwołania wewnętrzne, dodatku, DDE/OLE i źle sformułowane pozostają formułami
Naprawiono
- Wyniki formuł zaczynające się od znaku równości lub apostrofu pozostają teraz literałami ciągów podczas konwersji wartości, a grupy formuł tablicowych są utrwalane w migawce przed zwolnieniem jakiejkolwiek formuły głównej lub rozlewającej
Wersja 2.361.3
Zmieniono
- Łącza pomocnicze i indeksy arkuszy zewnętrznych klasycznych plików XLS używają teraz ograniczonej klasyfikacji typowanej dla rekordów własnych, tego samego arkusza, dodatku, zewnętrznego skoroszytu, DDE/OLE, nieużywanych i nieznanych
Naprawiono
- Źle sformułowane ładunki łączy pomocniczych są zachowywane bajt po bajcie, zamiast być rekonstruowane jako inny typ łącza, a ucięte tabele arkuszy zewnętrznych nie czytają już poza danymi swojego rekordu
Wersja 2.361.2
Naprawiono
- Formuły klasycznych plików XLS rozwiązują teraz indeks XTI numerowany od zera w tokenach zewnętrznych zdefiniowanych nazw na właściwy wewnętrzny wpis arkusza zewnętrznego, łącznie z pierwszym wpisem
Wersja 2.361.1
Naprawiono
- Bezpośredni zapisywacz XLSX emituje teraz podstawową flagę tłumienia
showDropDownSpreadsheetML tylko wtedy, gdyShowDropDownjest wyłączone, zachowując semantykę publicznego interfejsu API zorientowanego na wyświetlanie
Wersja 2.361.0
Dodano
- Seria wykresów zyskała
CategoriesMultiLevel: ustaw ją, aby emitować kategorie jakomultiLvlStrRef(hierarchiczne etykiety osi) zamiast płaskiego odwołania ciągowego, z odtwarzaniem w pełnym cyklu zapisu i odczytu z zapisanych wykresów
Wersja 2.360.0
Naprawiono
- Komentarze nazw klasycznych plików XLS używają teraz poprawnego identyfikatora rekordu
NAMECMT($0894); wcześniej używany identyfikator ($0019) należy doWINDOWPROTECTzgodnie ze specyfikacjami BIFF
Dodano
WindowProtectedw klasycznych skoroszytach przeprowadza flagę ochrony okien skoroszytu przez pełny cykl zapisu i odczytu za pomocą rekorduWINDOWPROTECT($0019), przy czym przechwycone surowe treści mają pierwszeństwo, dopóki właściwość nie zostanie jawnie zapisana
Wersja 2.359.0
Dodano
- Tabele danych wykresów udostępniają niezależne przełączniki
showHorzBorder/showVertBorder/showOutlinezamiast zawsze rysować wszystkie obramowania - Wykresy liniowe zyskały linie opadania (
HasDropLines), a skumulowane wykresy słupkowe linie serii (HasSeriesLines), oba z pełnym cyklem zapisu i odczytu; serie można usuwać z legendy pojedynczo przezLegendDeleted, pozostając narysowanymi
Wersja 2.358.0
Dodano
- Pasma raportów zyskały semantykę stałą i pustego zestawu danych:
EmptyBandPolicyzachowuje, czyści lub usuwa wiersze szablonu, gdy zestaw danych jest pusty (żadnych pozostawionych nierozwiązanych symboli zastępczych),FixedBandzapisuje kopie w istniejących wierszach poniżej, niczego nie wstawiając — dla pasm formularzy nakładkowych, aDeleteLastRowzwija ostatnią kopię, tak że końcowa zawartość przylega bez szczeliny (zachowanie X-range)
Wersja 2.357.0
Dodano
- Eksport PDF może osadzać samodzielne czcionki OpenType z konturami CFF przez strumień OpenType
FontFile3i potomkaCIDFontType0; tryby automatyczny i pełny zachowują kompletny program, a niedostępny wymagany podzbiór kończy się błędem przed zatwierdzeniem wyjścia OnGetFontDirectoriesdostarcza rozdzielone średnikami katalogi dla żądanej rodziny i stylu czcionki; przyjęte drzewa są przeszukiwane rekurencyjnie raz i indeksowane według wewnętrznych metadanych czcionek dla buforowanego rozwiązywania zapasowego
Zmieniono
- Osadzone czcionki przenoszące dane GPOS OpenType lub starsze dane kernowania używają teraz pozycjonowanych przyrostów glifów zarówno dla zwykłego tekstu, jak i pism złożonych, zachowując spójność pomiaru, zawijania, wyrównania i rozmieszczania glifów w PDF
Wersja 2.356.0
Dodano
- Osadzanie czcionek PDF stało się konfigurowalną polityką czterech trybów:
FontEmbeddingwybiera automatyczne zachowanie historyczne, wymagane podzbiorowanie, osadzanie pełnego programu lub czcionki tylko do mapowania, którym programy są wydzierane, podczas gdy mapowanie CID i tabele ToUnicode przetrwają; PDF/A odrzuca wyjście tylko do mapowania - Zdarzenie
OnFontEmbedodpala się raz na czcionkę Unicode przed rozwiązaniem metryk i odwzorowań glifów, otrzymuje jej nazwę i ścieżkę pliku i może przyjąć tryb per czcionka lub bajty czcionki zastępczej przez jawną umowęHandled
Wersja 2.355.0
Dodano
- Przeliczanie klasycznych plików XLS używa teraz leniwie budowanego grafu zależności, propaguje zmiany danych wejściowych tylko do tranzytywnych zależnych, przelicza formuły ulotne przy każdym przebiegu i oblicza formuły w kolejności zależności, zamiast ponownie skanować cały rzadki stos komórek
- Odwołania cykliczne w klasycznych plikach XLS podlegają teraz
EnableIteration,MaxIterationsiMaxIterationChange; silnie spójne składowe izolują niezależne cykle, iterują je deterministycznie, a potem obliczają formuły zależne - Pliki skojarzone PDF/A-3 zyskały szczegółowe przeciążenie
AddAttachmentz nazwami wyświetlanymi Unicode, opisami, czasami modyfikacji, nazwami MIME z sekwencjami ucieczki, metadanymi rozmiaru w bajtach oraz relacjami Source, Data, Alternative, Supplement lub Unspecified TXLSPDFWritertworzy samodzielne dokumenty PDF bez skoroszytu, z jawnymi rozmiarami stron, wyjściem wielostronicowym, prostokątami, liniami, elipsami, mierzonym tekstem ze stylem, transformacjami współrzędnych, prostokątnym przycinaniem i kontrolą stanu grafiki
Zmieniono
- Wyłączenie
UseFullPrecisionw klasycznych plikach XLS zaokrągla teraz buforowane wyniki formuł i tabel danych What-If do efektywnej wyświetlanej precyzji liczbowej, zanim zużyją je formuły zależne, włącznie z formatami procentowymi i zaokrąglaniem środka w kierunku od zera
Naprawiono
- Przeliczanie formuł klasycznych używa teraz natywnych współrzędnych komórek numerowanych od zera, trzyma błędy obliczeń poza pamięcią podręczną sukcesów i zachowuje propagację błędów przez zależne funkcje tablicowe
Wersja 2.354.0
Dodano
- Osie wykresów zyskały wyliczenie trybu przecinania (
Crosses: autoZero / max / min, emitowane jakocrosses, gdy nie ustawiono jawnegoCrossesAt) oraz style znaczników głównych / pomocniczych per oś (in,out,cross), wszystko z pełnym cyklem zapisu i odczytu AutoTitleDeletedna wykresach zastępuje zakodowany na stałe znacznik tytułu automatycznego i tłumi tytuł wywodzony z serii, gdy jest ustawione
Wersja 2.353.0
Dodano
- Seria wykresów zyskała
Smooth/SmoothSetdo rysowania linii krzywych orazMarkerFillColor/MarkerBorderColordla jawnych kolorów znaczników; obie właściwości utrzymują się przez zapis i otwarcie, a współdzielony renderer rysuje wygładzone segmenty jako krzywe kwadratowe i zużywa kolory znaczników
Wersja 2.352.0
Dodano
- Formatowanie przestrzeni wykresu przechodzi pełny cykl zapisu i odczytu:
RoundedCorners, jawne kolory tła i obramowania wykresu oraz kolor tła obszaru wykresu utrzymują się przez zapis i otwarcie, a współdzielony renderer wykresów używa kolorów tła i obramowania zamiast zawsze rysować biel na szarości - Przełączniki ochrony wykresu przechodzą pełny cykl zapisu i odczytu pod jednym przełącznikiem nadrzędnym:
ProtectionEnabledplusProtectedChartObjects,ProtectedDataEditing,ProtectedFormatting,ProtectedSelectioniProtectedUserInterfaceemitują i analizują element OOXMLprotection
Wersja 2.351.0
Zmieniono
- Wykresy słupkowe i kolumnowe we współdzielonym rendererze paginacji podążają teraz za opcjami układu grupy wykresu: GapWidth skaluje skupinę, Overlap rozszerza i ściąga sąsiednie słupki ku sobie, a grupowania skumulowane / procentowo skumulowane akumulują jeden pełnoskupinowy słupek na kategorię zamiast rysować serie obok siebie
Wersja 2.350.0
Dodano
- Kopiowanie zakresów między skoroszytami odwzorowuje teraz każdy styl komórki według wartości do pul czcionek, wypełnień, obramowań, formatów liczb, wyrównań i ochrony skoroszytu docelowego, dzięki czemu
CopyRangeToiCloneRangeTomiędzy dwoma otwartymi skoroszytami zachowują formatowanie niezależne od kolejności pul - Skoroszyty klasycznych plików XLS przeprowadzają wbudowane właściwości dokumentu liczbowe i datowe przez pełny cykl zapisu i odczytu:
CreatedDate,LastSavedDate,RevisionNumberiEditTimeMinutesutrzymują się przez strumień OLE SummaryInformation, przy czym wartości zerowe są pomijane, a pełne czyszczenie je usuwa
Wersja 2.349.0
Dodano
- Skoroszyty klasycznych plików XLS ujawniają stan ochrony rewizji skoroszytu współdzielonego za ustrukturyzowanymi właściwościami:
SharedRevisionProtectediSharedRevisionPasswordHashprzechodzą pełny cykl zapisu i odczytu, a przechwycone surowe treści rekordów z analizowanych plików wciąż mają pierwszeństwo, dopóki właściwości nie zostaną jawnie zapisane - Świadomość szyfrowania raportów:
TXLSCompiledReportTemplate.CreateEncryptedotwiera bezpośrednio szablon chroniony hasłem, aRunToEncryptedFileuruchamia raport i zapisuje zaszyfrowany wynik ECMA-376 w jednym wywołaniu
Wersja 2.348.0
Dodano
- Opcje wklejania ze schowka dla obu silników:
PasteFromClipboardprzyjmuje tryb tylko wartości (zachowaj wyniki buforowane, pomiń formuły, formaty i scalenia) oraz tryby wstawiania wierszy / kolumn, które przesuwają istniejącą zawartość, zanim trafi blok - Czytniki do przodu raportują pomijaną zawartość: czytnik bezpośredni, kursor wierszy i czytnik do przodu ujawniają
OnSkippedRecord, wyzwalany, gdy pomijane jest źle sformułowane odwołanie komórki lub skan arkusza BIFF przerywa na uciętych lub niespójnych rekordach
Wersja 2.347.0
Dodano
- Kombinatory kształtowania tabel raportów:
Filterstrumieniuje pasujące wiersze leniwie,Sortwykonuje stabilne sortowanie po wielu kluczach, aDistinctzachowuje pierwszy wiersz na krotkę kluczy - Adaptery źródeł danych:
FromDataSetwykonuje migawkę otwartegoTDataSetdo tabeli raportu (nazwy pól stają się kolumnami, a pozycja zestawu danych jest przywracana), aFromObjectsodwzorowuje opublikowane właściwości dowolnych list i tablic obiektów na kolumny - Dwukierunkowe pasma raportów:
RunBidirectionalpozwala każdemu wierszowi nadrzędnemu napędzać własne kolumny z powiązanej tabeli podrzędnej, tworząc postrzępione układy kolumn, w których krótsze wiersze pozostawiają dodatkowe klony puste PreprocessAndRunuruchamia szablon dwa razy: pierwszy przebieg wypełnia wartości i wykonuje dyrektywy strukturalne, dzięki czemu szablon adaptuje się do danych, a drugi przebieg ponownie kompiluje przekształcony skoroszyt i wypełnia pozostałe symbole zastępcze
Wersja 2.346.0
Dodano
- Symbole zastępcze raportów akceptują wartość domyślną:
{{name;fallback}}zapisuje tekst zapasowy, gdy klucz jest brakujący lub pusty - Wyrażenia raportów zyskały
dbvalue(table, row, field[, default])idbcount(table)do odczytu dowolnej zarejestrowanej tabeli kontekstu danych według wiersza i kolumny, a ponadtotonumber(text)do konwersji ciągu na liczbę iref(rowOffset, colOffset)— odwołania względne podążające za kopiami pasm; szablony, mechanizmy uruchamiania i pasma ujawniają właściwośćDataContext - Goła komórka
{{=formula(...)}}zapisuje teraz do komórki żywą formułę zamiast zwykłego tekstu, a inne gołe wyrażenia zachowują swój obliczony typ (liczby pozostają liczbowe) - Nowe dyrektywy strukturalne raportów:
{{#imgsize zoom=150}}przeskalowuje obraz zakotwiczony w komórce dyrektywy,{{#comment text}}dołącza komentarz komórki,{{#html <b>bold</b>}}przekazuje fragment do tekstu sformatowanego, a{{#sheetvisible Sheet false}}/{{#deletesheet Sheet}}sterują widocznością i usuwaniem arkuszy
Wersja 2.345.0
Dodano
- Skoroszyty XLSX zyskały politykę przeliczania przy zapisie:
RecalcBeforeSavewybiera zachowanie ręczne (domyślne), przeliczania przy zanieczyszczeniu lub zawsze przeliczaj przy zapisie pliku RecalcNeededraportuje, czy jakakolwiek komórka formuły lub przechwycona edycja jest aktualnie zanieczyszczona, aRecalcCellprzelicza skoroszyt i zwraca świeżo obliczoną wartość pojedynczej komórki według arkusza, wiersza i kolumny
Wersja 2.344.0
Dodano
- Szablony raportów obsługują dyrektywy strukturalne w tekście komórek:
{{#delete A2}}czyści zakres nazwany,{{#format fmt=0.00 bold fill=FFFF00}}stosuje formaty liczb, pogrubienie, kursywę, czcionkę i kolory wypełnienia do kolumny nad komórką dyrektywy, a{{#aggregate sum A2:A99}}zapisuje formuły w stylu=SUM(A2:A99)— wszystko wykonywane po wypełnieniu symboli zastępczych wartości, przy czym komórki dyrektyw są następnie zużywane, a nieznane czasowniki dyrektyw wciąż zgłaszane jako diagnostyka szablonu
Wersja 2.343.0
Dodano
- Zapisywacz ZIP produkuje archiwa ZIP64: wpisy na granicy lub poza 32-bitowymi limitami rozmiaru rezerwują dodatkowe pole ZIP64 w swoim nagłówku lokalnym ze strażniczymi polami klasycznymi, rekordy katalogu centralnego emitują rozmiary i offsety 64-bitowe ze zwiększeniem wersji wymaganej, a rekord końca katalogu centralnego jest poprzedzony rekordem ZIP64 EOCD i lokalizatorem, ilekroć dowolne pole klasyczne ulegnie nasyceniu
- Sufity rozmiaru wpisu i archiwum po stronie zapisu rosną do 16 GB i 64 GB; zabezpieczenia dekompresji po stronie odczytu pozostają niezmienione
Wersja 2.342.0
Dodano
- Osadzone obrazy przenoszą metadane dostępności:
AltTextiAltTextTitlena każdym obrazie serializują się jako atrybutydescrititlerysunku i wczytują z powrotem do modelu typowanego dla skoroszytów, które nie odtwarzają surowego kodu XML zakotwiczenia
Zmieniono
- Części fragmentatorów i osi czasu przechodzą już teraz bezstratnie przez nieprzejrzystą warstwę pakietu (zweryfikowane od końca do końca w tym wydaniu); umowa pełnego cyklu zapisu i odczytu jest teraz przypięta testem regresji obejmującym otwarcie i ponowny zapis pakietów z fragmentatorami
Wersja 2.341.0
Dodano
- Mechanizmy uruchamiania raportów mogą autofitować gotowe wyjście:
AutofitModewybiera przebieg wierszowy, kolumnowy lub oba po każdym arkuszu po zastosowaniu wszystkich celów i przed serializacją, aAutofitAdjustmentdodaje opcjonalny zapas nad zmierzonymi rozmiarami - Zawinięte wiersze są wymiarowane na podstawie zmierzonej liczby wierszy tekstu względem szerokości kolumny, więc wielowierszowy tekst komórki wygenerowany przez szablony powiększa wiersz tak, jak zrobiłoby to autodopasowanie programu Excel
Wersja 2.340.0
Dodano
- Eksporty PDF mogą ustawiać początkowy tryb przeglądarki — zakładki, miniatury, pełny ekran, zawartość opcjonalna lub załączniki — przez wpis
/PageModekatalogu - Eksporty PDF mogą definiować akcję otwarcia przeskakującą do wybranej strony przy jawnym współczynniku powiększenia lub otwierającą panel zakładek przy ładowaniu dokumentu
- Metadane XMP przenoszą teraz identyfikatory
DocumentIDiInstanceID, zdarzeniexmpMM:History, daty modyfikacji i metadanych oraz deklaracjędc:formatoczekiwaną przez walidatory archiwalne
Wersja 2.339.0
Dodano
- Fizyczny potok wydruku: nowy
TXLSPrintDocumentdrukuje arkusze, skoroszyty lub wszystkie widoczne arkusze przez współdzielony model paginacji z oknami stron, zestawianiem kopii, tytułem dokumentu oraz zdarzeniami przed-nowa-strona / po-wygenerowaniu-strony - Podgląd przeglądarki skoroszytów zyskał tryby powiększenia — dopasuj stronę, dopasuj szerokość lub jawny współczynnik od 25% do 400% — z powiększaniem kółkiem z Ctrl, przewracaniem stron kółkiem i przesuwaniem poziomym, gdy powiększona strona przekracza okno
Wersja 2.338.0
Dodano
- Renderowanie wykresów rysuje oś wartości: znaczniki i wyrównane do prawej etykiety liczbowe wzdłuż lewej krawędzi, główne linie siatki, gdy są włączone, skalowanie jednostek wyświetlania, odwróconą orientację i ograniczenie logarytmiczne
- Serie przypisane do pomocniczej osi wartości odwzorowują się na własnej skali, więc wykresy kombi zachowują niezależne wielkości główne i pomocnicze
- Wykresy bąbelkowe renderują bąble skalowane powierzchniowo, wyprowadzone z kolumny rozmiaru bąbla, zamiast stałych kropek znaczników
- Wykresy w pamięci rozwiązują swoje zakresy wartości, kategorii i bąbli względem arkusza będącego właścicielem, gdy pamięci podręczne są puste, więc świeżo utworzone wykresy renderują się identycznie jak wczytane
- Model wykresu zyskuje edytowalny rozmiar otworu pierścienia, kąt pierwszego wycinka, styl radarowy i typ of-pie, pozycję podziału, tryb podziału, rozmiar pomocniczego obszaru wykresu i szerokość odstępu — wszystko utrwalane przy zapisie i wczytaniu
Naprawiono
- Wykresy kategorii, których punkty niosą wartości, ale nie mają liczbowych kategorii, nie przerywają już renderowania z symbolem zastępczym, co wcześniej tłumiło znaczniki, linie siatki i wyjście serii dla każdego wykresu kolumnowego, słupkowego i liniowego
Wersja 2.337.0
Dodano
- Wyjście paginowane może renderować komentarze komórek jako spis na końcu przez nowy tryb
PrintCommentsw eksporterze SVG i modelu paginacji: adres komórki, autor i tekst pojawiają się poniżej ostatniego wiersza danych arkusza - Nazwane obiekty rysunku eksportują się jako obrazy PNG przy skonfigurowanym DPI i skali przez
ExportObjectAsPNG, z liczącym tylko miarę odpowiednikiemGetObjectSizezwracającym wymiary obiektu w punktach bez renderowania - Zakotwiczenia kształtów tekstowych poza zakresem używanym rozszerzają teraz powierzchnię druku, jak robią to już wykresy i obrazy
Zmieniono
- Renderer paginacji buforuje rozwiązane czcionki komórek na przebieg i zapamiętuje powtarzane pomiary tekstu, usuwając nadmiarowe odczyty puli czcionek i wywołania pomiaru GDI z pętli zmniejszania do zmieszczenia i zawijania słów
Wersja 2.336.0
Dodano
- Obrót tekstu komórek renderuje się teraz w wyjściu obrazu strony, SVG, wydruku i podglądu: kąty 1–90 stopni w lewo i w prawo obracają wokół środka komórki, a forma ułożona 255 emituje jedną literę na wiersz
- Komórki z indeksem dolnym i górnym renderują się z przesuniętą linią bazową i zmniejszonym rozmiarem glifów, zamiast tracić swoje wyrównanie pionowe
- Sekcje nagłówka i stopki honorują swoje kody formatu rozmiaru punktu
&nni koloru&Kw każdym wyjściu sterowanym paginacją - Szerokości kolumn w wyjściu paginowanym wyprowadzają się ze zmierzonej maksymalnej szerokości cyfry czcionki Normalnej skoroszytu, więc skoroszyty oparte na czcionkach innych niż Calibri 11 paginują się z granicami kolumn dokładnymi jak w programie Excel
- Arkusze z niestandardowym klasycznym kolorem siatki renderują swoje linie siatki w tym wpisie palety zamiast stałej domyślnej szarości
Wersja 2.335.0
Dodano
- Około siedemdziesiąt klasycznych funkcji arkuszowych jest teraz obliczanych, oprócz bycia analizowanymi składniowo: grupa matematyki i trygonometrii
ATAN2 ASIN ACOS SINH COSH TANH ASINH ACOSH ATANH EVEN ODD, grupa daty i czasuTIME HOUR MINUTE SECOND DATEVALUE TIMEVALUE DAYS360, grupa finansowaMIRR IRR IPMT PPMT DB,TRANSPOSE TYPE N ADDRESS ROMAN HYPERLINK MAXA MINAoraz pisownie sprzed 2010 roku z rodziny rozkładów i statystyki, takie jakNORMSDIST TDIST CHIDIST FDIST POISSON QUARTILE PERCENTILE PERCENTRANK COVAR CHITEST GAMMALN, przekazujące do kropkowych implementacji współdzielących ich listy argumentów
Naprawiono
- Starsze jednoargumentowe postacie normalnej dystrybuanty, takie jak
NORMSDIST, obliczały niepoprawnie przeskalowane przybliżenie funkcji błędu MIRRkapitalizował dodatnie przepływy pieniężne z wykładnikiem okresu przesuniętym o jeden, odsuwając wyniki od wartości programu Excel
Wersja 2.334.0
Dodano
- Symbole zastępcze pasm raportu składające się z pojedynczego pola wartości zapisują teraz surowy typ danych do komórki docelowej: liczby pozostają liczbowe, daty pozostają komórkami dat i otrzymują domyślny format daty, gdy komórka jest Ogólna, a wartości logiczne zachowują typ komórki, więc odwołania SUM, sortowania i wykresów działają na wygenerowanych raportach
- Niestandardowe style tabel zyskały pełny zestaw sekcji, łącznie z sekcjami sum częściowych tabel przestawnych, podnagłówków, wiersza pustego i pól strony, nazwę czcionki, rozmiar, kursywę, rozmiar pasma i obramowania czterech krawędzi per sekcja przez
SetSectionEx, plus flagipivot/table, właściwości skoroszytuDefaultTableStyleName/DefaultPivotStyleNamei pełny cykl zapisu i odczytu po stronie wczytywania dla stylów, sekcji i atrybutów dxf - Otwieranie zaszyfrowanego skoroszytu XLSX bez hasła odpala teraz
TXLSXWorkbook.OnPasswordz tą samą umową ponowień co silnik klasyczny, umożliwiając zapytania GUI o hasło bez wcześniejszej wiedzy o tym, że plik jest zaszyfrowany - Zapisywanie klasycznych skoroszytów BIFF5 z hasłem stosuje teraz zaciemnienie XOR, a skoroszyty BIFF8 mogą wybrać standardowy RC4 przez
EncryptionType, dopełniając klasyczną macierz szyfrowania obok istniejącego domyślnego RC4 CryptoAPI - Renderowanie tekstu arkusza w wyjściu obrazu strony, SVG, wydruku i podglądu honoruje teraz wyrównanie pionowe i zawijanie słów WrapText z zachłannym łamaniem wierszy, zamiast przycinać zawinięte komórki do jednego wyśrodkowanego wiersza
Naprawiono
- Komórki błędów wyświetlają teraz swój literał błędu programu Excel, taki jak #DIV/0! lub #REF!, w każdej ścieżce renderowania, zamiast niezdefiniowanego pustego tekstu
- Sekcje niestandardowych stylów tabel są zapisywane w schematowej postaci
tableStyleElement, dzięki czemu program Excel rozpoznaje styl, a kolor czcionki sekcji nie porzuca już swojego ustawienia pogrubienia - Migawki pasm raportu zachowują każdą wartość powiązanej kolumny, gdy pasmo rośnie ponad swoją początkową pojemność
Wersja 2.333.0
Dodano
TXLSPDFSignature.CertificationPolicymoże utworzyć podpis certyfikacji DocMDP, który nie dopuszcza żadnych zmian, wypełniania i podpisywania formularzy albo wypełniania formularzy, podpisywania i adnotacji; certyfikowane katalogi odwołują się do podpisu przez/Perms, zwykłe certyfikowane wyjście używa PDF 1.5, a niezgodna certyfikacja PDF/A-1 jest odrzucana, zanim strumień docelowy zostanie zmieniony
Wersja 2.332.0
Zmieniono
- Automatyczny PDF ze znacznikami emituje teraz kompletną strukturę tabeli z wierszami, semantycznymi komórkami nagłówka i danych, gęstymi identyfikatorami oznaczonej treści na stronę, dokładnymi odwzorowaniami drzewa rodzica, scaleniami wierszy i kolumn komórek scalonych oraz izolacją artefaktów dla dekoracji strony, wykresów, obrazów, nagłówków i stopek
Naprawiono
- Ponowne użycie jednego eksportera PDF czyści teraz sloty obiektów binarnych między dokumentami, co zapobiega zastępowaniu nowo przydzielonego obiektu profilem ICC, obrazem lub innym strumieniem z wcześniejszego eksportu, gdy zmienia się numeracja obiektów
Wersja 2.331.0
Dodano
- Ujednolicona fasada rysunków XLSX udostępnia kolejność mieszanych obrazów, wykresów, pól tekstowych, zakotwiczeń zachowanych i grup, z operacjami do przodu, do tyłu, na wierzch, na spód, transformacji grup i rozgrupowania po zapisie i ponownym otwarciu, które zachowują relacje rysunków
- Style nazwane obsługują automatyczne lub jawne połączone części formatu z zachowaniem lokalnych nadpisań, a wszystkie 60 wbudowanych jasnych, średnich i ciemnych stylów tabel rozwiązuje się przez wspólne ścieżki formatowania HTML, PDF, obrazów, podglądu i przeglądarki
TXLSPDFBookmarkobsługuje hierarchiczne zakładki Unicode, relacje rodzeństwa i dzieci, kolory, pogrubione lub pochylone tytuły oraz rozwiniętych lub zwiniętych potomkówTXLSPageImageExporter.ExportAllAsTiffzapisuje wybrane strony do strumienia lub pliku jako jeden wielostronicowy plik TIFF skompresowany metodą LZW, z postępem, anulowaniem i atomową zamianą pliku- Otwieranie klasycznych plików XLS może zatrzymać się po metadanych globalnych lub przejść bezpośrednio do wybranych arkuszy po zweryfikowanych przesunięciach
BOUNDSHEET, w tym ponowne pozycjonowanie zaszyfrowanego strumienia TXLSFormatSnapshotprzechwytuje kompletny klasyczny format komórki niezależnie od źródłowego skoroszytu, aIXLSRange.ApplyFormatstosuje go do zakresów komórek, wierszy lub kolumn- Zgodne wierszowo typowane zapisy zbiorcze XLSX używają pakowanego magazynu RLE, z publicznymi statystykami pakowanych komórek i bajtów oraz przezroczystą jednorazową materializacją dla stabilnych uchwytów obiektów
Zmieniono
- Puste komórki XLSX tylko ze stylem współdzielą ładunki liczone referencyjnie z lokalnymi edycjami kopiowania przy zapisie, automatyczną kompakcją w ścieżkach zbiorczego formatowania, aktualizacji stylów nazwanych, kopiowania, sortowania, poprawiania formatu, zapisu i ładowania oraz mierzalnymi unikniętymi bajtami ładunku
- Tablice dynamiczne strumieniują bezpośrednio do skalarnych agregatów, powtarzane dokładne wyszukiwania ponownie używają typowanych przyrostowych pamięci podręcznych zakresów, a niezmienne bezstanowe tokeny formuł są współdzielone między kompilacjami
- Łuki eliptyczne używają adaptacyjnego podziału sześciennych krzywych Beziera sterowanego płaskością, współdzielonego przez wyjście PDF, SVG i bitmapowe, zwiększając precyzję tylko tam, gdzie wymaga tego skala lub mimośród
- Wyjście pakietu XLSX stabilizuje teraz współdzielone ciągi, hiperłącza, relacje i kolejność części, dzięki czemu konstrukcja odwrotna daje bajtowo identyczne deterministyczne pakiety
- Ujednolicony czytnik do przodu XLS, XLSX, CSV i TSV utrzymuje pamięć w ryzach; kontynuacje współdzielonych ciągów BIFF8 przelewają się poza konfigurowalny próg, zachowując zabezpieczenia projekcji, wybranych arkuszy, szyfrowania i błędnych danych wejściowych
Naprawiono
- Łączenie pakietów C++Builder Win64 nie emituje już zduplikowanych tablic vtable generycznych list obiektów Delphi z jednostek porównywania skoroszytów i sprawdzania importu
Wersja 2.330.0
Dodano
TXLSXWorksheet.Subtotalwstawia zgrupowane wiersze sum częściowych, konfigurowalny wiersz sumy całkowitej, formuły, dziedziczone widoczne formatowanie oraz zgodne z Excelem poziomy konspektu dla posortowanych zakresów danychGetCellVisibleFormatrozwiązuje formatowanie arkusza, wiersza, kolumny, nakładki zakresu i jawne formatowanie komórki bez materializowania pustej komórkiCheckDataValidationtestuje wartość kandydata względem reguł obejmujących jedną komórkę i może zatwierdzić ją atomowo tylko wtedy, gdy jest poprawna
Zmieniono
- Notatki skanowania wyszukiwania używają zwartych dokładnych kluczy binarnych i pojedynczego wyszukiwania ładunku na trafienie w pamięci podręcznej, zmniejszając alokacje przeliczania i pracę tablicy mieszającej bez zmiany porównań wyszukiwania
- Eksport CSV o stałej szerokości dopełnia każde pole w jednej operacji, utrzymując czas dopełniania liniowy względem skonfigurowanej szerokości wyjścia
Naprawiono
- Wsteczne skanowania
ReplaceTextInwywołują teraz funkcje zwrotne zamiany w żądanej odwrotnej kolejności skanowania - Stylizowane komórki bez wartości lub formuły nie blokują już przelewania tekstu sąsiednich komórek w renderowaniu SVG, obrazów i podglądu
- Klasyczne numeryczne wyjście XLS normalizuje ujemne zero oprócz wartości nie-skończonych i podnormalnych przed zapisem numerycznych rekordów BIFF
Wersja 2.329.0
Dodano
A1ToR1C1konwertuje formuły w notacji A1 na notację R1C1 (przesunięcia względne, bezwzględne formy$, zakresy oraz rundy przezR1C1ToA1), uzupełniając oba kierunki konwersji stylów odwołań
Zmieniono
- Pamięć podręczna wyszukiwania przy przeliczaniu pomija wektory skanowania o mniej niż pięciu komórkach w
VLOOKUP,XLOOKUP/XMATCHiMATCH, gdzie surowe skanowanie jest tańsze niż rundy słownika
Wersja 2.328.0
Dodano
- Współdzielony renderer stron za wyjściem SVG, obrazów i podglądu maluje teraz style komórek XLSX: jednolite wypełnienia (z alfa), czcionki i kolory per komórka, wyrównanie poziome z domyślnym wyrównaniem liczb do prawej w Excelu, zapadanie obramowań w stylu Excela, w którym wygrywa cięższy współdzielony brzeg, dopasowanie przez skalowanie czcionki do kolumny oraz przelewanie długiego tekstu do kolejnych pustych sąsiednich komórek
Wersja 2.327.0
Dodano
- Moduł ładujący CSV/TSV zyskuje dyrektywy importu per kolumna (
cctText,cctNumber,cctDate,cctBoolean,cctSkip) odwzorowujące kreatora importu tekstu Excela, dzięki czemu poszczególne kolumny można wymusić jako tekst, aby zachować zera wiodące, skonwertować do typu lub pominąć w imporcie - Import tekstu o stałej szerokości: przypisanie szerokości pól przełącza moduł ładujący z analizy separatorów na cięcie według pozycji znaków, a moduł zapisujący może emitować wypełnione spacjami kolumny o stałej szerokości z obcinaniem
Wersja 2.326.0
Dodano
- Wyszukiwanie w arkuszach XLSX zyskuje okienkowe metody
FindTextIniReplaceTextIn, które ograniczają skanowanie do prostokątnego zakresu komórek, a także flagę kolejności skanowania kolumnowego odwzorowującą tryb Wyszukiwanie: według kolumn w oknie dialogowym Znajdź i zamień programu Excel; skanowanie wsteczne przyjmuje teraz kotwicę zero, aby rozpocząć od prawego dolnego rogu - Zapisywanie chroni teraz przed formułami dłuższymi niż limit 8192 znaków Excela, szybko kończąc się niepowodzeniem z identyfikacją problematycznej komórki zamiast zapisywania skoroszytu, który Excel otworzyłby w trybie naprawy
Naprawiono
- Nieskończone numeryczne wartości komórek (NaN oraz dodatnia lub ujemna nieskończoność) nie mogą już przeciekać nieprzetwarzalnych tokenów do zapisanych części XLSX; są teraz serializowane jako komórki błędów
#NUM!, a liczby podnormalne są zerowane w obu zapisywaczach XLSX i BIFF8, zgodnie z tym, co Excel może przechowywać i wyświetlać
Wersja 2.325.0
Dodano
- Interfejsy API formatu skoroszytu obejmują teraz edytowalne mapy XML i powiązania schematów, uporządkowane wiele okien skoroszytu, zaznaczenia wieloobszarowe i dla pojedynczych paneli oraz należącą do wywołującego bezstratną inspekcję tokenów formuł, rekonstrukcję, zastępowanie odwołań i atomowy zapis zwrotny dla formatów XLS i XLSX
- Przetwarzanie skoroszytów obejmuje teraz stabilne sortowanie poziome lub pionowe z niestandardowymi komparatorami i jawnym przenoszeniem formuł, konwersję stylów i formuł z formatów BIFF2 do BIFF4, jedną rzutowaną fasadę czytnika do przodu dla XLS, XLSX, CSV i TSV, typizowane widoki niestandardowe oraz edytowalne podmodele połączeń OLAP, tabel internetowych, tekstu o stałej szerokości i parametrów
- Obliczanie i inspekcja obejmują teraz strukturalne diagnozy brakujących funkcji, odwołań zewnętrznych i zależności cyklicznych, globalne i lokalne dla skoroszytu rejestry funkcji UDF, wizualne uporządkowanie dwukierunkowe Unicode, strategie AutoFit dla scalonych komórek, typizowane zachowywanie arkuszy makr Excel 4 i skanowanie poleceń oraz funkcje
ISOMITTED,ARRAYTOTEXT,VALUETOTEXT,PDURATIONiRRI - Skompilowane raportowanie obejmuje teraz placeholdery dla całego skoroszytu, nazwane pasma wierszy, kolumn i tabel krzyżowych, rozwijalne pasma tabel Excela, jedną abstrakcję tabel i kursorów, dokładne indeksy relacji z kluczami złożonymi, leniwe konteksty danych, strumieniowe kombiratory tabel, kontrolowane nazwane dostawcy zapytań, pasma arkuszy dla poszczególnych rekordów, arkusze kontynuacji przy przepełnieniu i niezmienne rekurencyjne dołączenia
- Tworzenie raportów obejmuje teraz skompilowane warunki, wyszukiwanie, wyrażenia regularne, dynamiczne formuły i formaty, pola obrazów, ponowne wiązanie serii wykresów, wielokrotnie używalne silniki uruchamiające z wyjściem strumieniowym lub atomowym zapisem pliku, klonowanie zakresów świadome zależności, planowanie paginacji ze stałą stopką i zrównoważonym łamaniem, adresowane diagnozy, ścisłe wykonywanie, sprawdzanie szablonów i bezpieczną migrację obsługiwanych starszych placeholderów
- Wyjście PDF obejmuje teraz automatyczne znacznikowane drzewa struktury, widoczne lub niewidoczne pola podpisane przez hosta, jawne profile zgodności PDF/A-1, PDF/A-2 i PDF/A-3 na poziomach a i b, atomowy postęp i anulowanie, świadomy stylów buforowany fallback czcionek, kontekstowe kształtowanie złożonego tekstu, natywne gradienty wieloprzystankowe, alfa dla każdego przystanku, wzory wypełnień komórek, cienie i pozycjonowane adnotacje komentarzy
- Współdzielone renderowanie obejmuje teraz natywne SVG zakresów, stron, skoroszytów i nazwanych obiektów, przyrostowe strony PNG i JPEG, neutralną dla zaplecza geometrię układu, osadzone wektorowe wykresy i kształty w HTML, stanowe częściowe sesje HTML ze współdzielonym CSS, renderowane efekty obrazów, geometrię wektorowych kształtów presetowych i WordArt, zaawansowane szczegóły wykresów naukowych i finansowych oraz deterministyczny układ kolizji etykiet danych i linii prowadzących
Zmieniono
- Wszystkie 55 audytowanych pozycji możliwości F01 do F18, R01 do R19 oraz V01 do V18 ma teraz ukończone wspierane implementacje z jawnymi granicami własności, bezpieczeństwa formatu, anulowania i wyjścia
- Duże szablony raportów kompilują cele obiektów i wyrażenia raz, materializują tylko powiązane pola osi, zużywają kursory danych raz, haszują klucze relacji i sprzężeń, zamrażają prefiksy kolekcji źródłowych dla wielokrotnego rozłącznego klonowania i unikają ponownego skanowania wygenerowanych obiektów skoroszytu
- Ścieżki renderowania współdzielą paginację, geometrię, rozmieszczenie obiektów, stan efektów i pamięci podręczne zasobów dokumentu, podczas gdy wyjścia PDF, SVG, HTML, bitmapowe, metapilkowe, podglądu i druku zachowują wyłącznie swoje kodery specyficzne dla formatu
Naprawiono
- Zdarzenia zapisu komórek XLSX serializują teraz swoje efektywne wartości zastępcze bez zatrzymywania nieaktualnych przebiegów tekstu sformatowanego, tokeny zewnętrznych nazw BIFF zachowują pełny 4-bajtowy indeks nazwy, a źródła połączeń najwyższego poziomu przechodzą rundy niezależnie od źródeł importu tekstu przy zachowaniu starszego źródła zastępczego
- Starsze znaczenie stylów i formuł BIFF, ponowne mapowanie okien skoroszytu i zaznaczeń, mieszane bezwzględne odwołania formuł, własność tokenów formuł i zapis zwrotny nieprawidłowych tokenów zachowują teraz deterministyczne bezstratne zachowanie podczas ładowania, edycji i zapisu
- Rozwijanie raportów odrzuca teraz deterministyczne konflikty tabel, filtrów, nazw, nakładania, częściowych obiektów, siatek i zapytań przed zapisami strukturalnymi, zachowuje liczność tabel o zerowej liczbie wierszy tam, gdzie jest to reprezentowalne, utrzymuje dokładne całkowitoliczbowe klucze sprzężeń powyżej 2^53 i raportuje deterministyczne liczniki zastosowań po anulowaniu lub błędzie
- Eksport PDF i wektorowy zachowuje teraz odwzorowania Unicode czcionek zapasowych, klastry grafemów i kształtowania, ograniczenia profilu archiwalnego, alfa gradientów, efekty obrazów, dekoracje wykresów, gęste rozmieszczenie etykiet i atomowość wyjścia bez wzrostu zasobów przez powtarzane treści
Wersja 2.324.0
Dodano
- Bezstratna inspekcja tokenów formuł i chroniony zapis zwrotny dla XLS i XLSX przez
TXLSFormulaTokenStream,ParseFormulaTokens,GetFormulaTokens,FormulaTokensToTextiSetFormulaTokensudostępniają rodzaje i klasy tokenów RPN, surowe tokeny BIFF i dodatkowe ładunki, niezależne flagi odwołań, klonowanie, zastępowanie odwołań, pochodzenie kontekstu i dokładne kompatybilne ponowne użycie BIFF, odrzucając jednocześnie uszkodzone, niekompatybilne, należące do tablic lub nieobsługiwane strumienie przed mutacją komórek - Rozwijalne pasma raportów tabel Excela przez
TXLSCompiledTableReportBandużywają jednego ograniczonego migawki kursora, aby rozwinąć pojedynczy wiersz szablonu danych, zachowując nagłówki, sumy, zakresy tabel i AutoFilter, stan filtrów i sortowania, metadane kolumn, formuły obliczeniowe i sum, style, odwołania strukturalne oraz zależne obiekty arkusza; reprezentowalne wyniki o zerowej liczbie wierszy usuwają wiersz danych szablonu, podczas gdy układy oparte na zapytaniach, sprzeczne, nieprawidłowe i przepełnione zawodzą przed zapisami - Świadome stylów łańcuchy fallback czcionek PDF przez
SetFontFallbackChain,AddFontFallbackiClearFontFallbackChainsrozstrzygają poziomy rodzin źródłowych i stylów na podstawie pokrycia glifami, buforują załadowane kroje i zaznaczenia, zachowują skalary uzupełniające i klastry grafemów w obrębie przebiegów, przypisują odrębne CID do sekwencji Unicode o współdzielonych glifach, osadzają samodzielne kroje TTC i odrzucają atomowo wyjście PDF/A, gdy żaden osadzony glif nie jest dostępny
Wersja 2.323.0
Dodano
- Wielokrotnie używalne szablony raportów skoroszytu przez
TXLSCompiledReportTemplate: placeholdery są kompilowane raz i mogą być stosowane wielokrotnie bez ponownego skanowania skoroszytu, przy użyciu posortowanego wyszukiwania wartości i wstępnie podzielonych fragmentów tekstu w komórkach, tekście sformatowanym, komentarzach, komentarzach w wątkach, hiperłączach, polach tekstowych, tytułach wykresów i nazwach serii, nagłówkach i stopkach, nazwach arkuszy, nazwach zdefiniowanych i właściwościach dokumentu - Wiązanie danych raportów przez
IXLSReportTable,IXLSReportCursor, leniwe ładowanieIXLSReportTableProvider, tablice pamięciowe z dostępem swobodnym orazTXLSReportRelationIndex, które buduje skrót obiektów podrzędnych z kluczem złożonym raz i zachowuje numery wierszy zamiast kopiować ładunki wierszy dla wielokrotnego wyszukiwania master-detail - Obliczanie formuł ocenia teraz
PDURATIONdla liczby okresów potrzebnych do osiągnięcia docelowej wartości inwestycji orazRRIdla równoważnej okresowej stopy wzrostu, w tym zgodne z Excelem granice błędów numerycznych i wymagany prefiks przechowywania OOXML_xlfn. - Obliczanie formuł ocenia teraz
ISOMITTED,ARRAYTOTEXTiVALUETOTEXT, w tym dedykowaną wartość pominiętego argumentu, która pozostaje odrębna od pustej komórki, rundy tokenów brakującego argumentu BIFF, tablice jedno- i dwuwymiarowe, ścisłe escapowanie ciągów, zlokalizowane separatory, reguły konwersji błędów i prefiksy przyszłych funkcji OOXML - Strukturalna kontrola formuł przed wykonaniem przez
TXLSXWorkbook.AnalyzeFormulaIssuesraportuje brakujące funkcje, odwołania do zewnętrznych skoroszytów i dokładne komponenty zależności cyklicznych ze współrzędnymi komórek i ograniczonymi listami członków, podczas gdy literały ciągów i lokalne odwołania strukturalne są wykluczane z fałszywych dopasowań - Świadome zależności klonowanie zakresów przez
TXLSXWorksheet.CloneRangeTokopiuje zaznaczone komórki, zakresy scalone, formaty warunkowe, walidacje danych, hiperłącza, komentarze, obrazy i wykresy w jednej operacji, przenosi zastosowane zakresy i kotwice oraz tłumaczy ładunki formuł z mieszaną semantyką odwołań względnych i bezwzględnych; pasma raportów używają tej samej ścieżki dla obiektów zależnych - Postęp i anulowanie eksportu PDF przez
TXLSPDFExport.OnProgress,OnProgressExiCancel: powiadomienia o rozpoczęciu, stronie i zakończeniu dodają pomijalny narzut wywołań zwrotnych, anulowanie jest sprawdzane między przebiegami wierszy i obiektami stron, anulowane strumienie nie otrzymują częściowego pliku PDF, a eksporter pozostaje wielokrotnie używalny - Diagnostyka skompilowanych raportów przez
TXLSCompiledReportTemplate.Analyze, ścisłe wykonywanie iWriteDiagnosticsidentyfikują brakujące wartości, puste placeholdery i niezamknięte placeholdery z typem docelowym oraz współrzędnymi arkusza i komórki przed mutacją lub zapisują te same ustalenia na arkuszu diagnostycznym - Wielokrotnie używalne wykonywanie raportów przez
TXLSCompiledReportRunnerzapewnia postęp rozpoczęcia, celu i zakończenia ze stanami ukończonym, anulowanym i nieudanym, obsługuje anulowanie przed pierwszym zapisem lub między skompilowanymi celami, raportuje dokładną liczbę zastosowań i pozostaje wielokrotnie używalny po anulowaniu lub wyjątkach bez ponownego skanowania skoroszytu - Strategie AutoFit dla scalonych komórek w klasycznych formatach XLS i XLSX pozwalają pierwszemu lub ostatniemu wierszowi albo kolumnie wchłonąć wymagany wzrost lub rozłożyć go równomiernie na scalonym zakresie, zachowując zachowanie starszych przeciążeń, stany ukryte, jawne granice i deterministyczne wielokrotne wywołania
- Opcjonalne adnotacje komentarzy PDF przez
TXLSPDFExport.ExportCommentsAsAnnotationsumieszczają tekst autora i komentarza w Unicode na prostokącie komórki źródłowej, zachowując istniejącą stronę komentarzy na końcu; indeksy komentarzy dla arkusza budowane są w czasie około O(C log C) i obsługują wyszukiwanie komórek O(log C) - Hierarchiczne rejestry funkcji zdefiniowanych przez użytkownika pozwalają skoroszytom XLS i XLSX współdzielić procedury obsługi w całym procesie, zachowując lokalne dla skoroszytu nadpisania, zastępowanie, usuwanie, czyszczenie i istniejący fallback zdarzeń skoroszytu; średnie wyszukiwanie wynosi O(1), lokalne dopasowania maskują nazwy globalne, a procedury obsługi działają poza blokadami rejestru dla bezpiecznego równoległego przeliczania i samousuwania
- Leniwe kombiratory tabel raportów przez
TXLSReportTableFactoryzapewniają górne wiersze, projekcję kolumn, liczbę wierszy, definicje minimalnych i wielu agregacji, sumę odwzorowaną na schemat, ciągłe partycje podziału oraz zachowujące duplikaty sprzężenia skrótowe wewnętrzne lub lewe bez materializowania pełnych pośrednich ładunków wierszy - Przyrostowy eksport stron PNG i JPEG przez
TXLSPageImageExporterobsługuje zakresy, arkusze i skoroszyty XLS oraz XLSX z wyborem stron, DPI, skalą, jakością JPEG, postępem, anulowaniem i wielokrotnie używalnymi sesjami; na każdą sesję budowany jest jeden model paginacji, a pamięć bitmap jest zwalniana po każdej stronie - Wiele okien skoroszytu XLSX przez
TXLSXWorkbook.WorkbookViewszachowuje niezależne aktywne karty, pierwsze widoczne arkusze, widoczność, stan zminimalizowany, geometrię, wyświetlanie kart, przewijanie, nieznane atrybuty, rozszerzenia oraz poprawnie przemapowane powiązania widoków arkuszy, podczas gdy istniejące właściwości pojedynczego okna nadal odnoszą się do pierwszego widoku - Nazwane pasma raportów wierszy, kolumn i tabel krzyżowych przez
TXLSCompiledReportBandrozwijają szablon z nazwą zdefiniowaną strukturalnie z jednoprzebiegowych ograniczonych migawek danych, zachowują formuły i zależne obiekty arkusza, kafelkują jawne metadane wierszy i kolumn bez tworzenia domyślnych wartości o zerowym rozmiarze oraz ponownie używają stałych granic kolekcji źródłowej, aby wielokrotne klonowanie w tym samym arkuszu nie skanowało ponownie wygenerowanych ładunków - Eksport PDF zapisuje teraz dwu- i wieloprzystankowe gradienty osiowe lub promieniowe jako natywne cieniowania PDF, ponownie używa identycznych zasobów funkcji, cieniowania i przezroczystości, przycina każde wypełnienie do swojej komórki i stosuje jednolite lub jednorodne alfa gradientu bez poprzedniego przybliżenia pasmowymi prostokątami
Naprawiono
- Niestandardowe nadpisania szerokości i wysokości papieru w punktach uczestniczą teraz w obliczaniu pasm paginacji oraz w końcowym obiekcie strony, więc łamania stron i renderowane wymiary korzystają z tego samego dostępnego obszaru
Wersja 2.322.0
Dodano
- Obliczanie formuł ocenia teraz funkcje Bessela pierwszego rodzaju
BESSELJ(oscylującą) iBESSELI(zmodyfikowaną), obliczane za pomocą szeregu potęgowego z rekurencją wyrazów dla stabilności numerycznej w praktycznym zakresie argumentów
Wersja 2.321.0
Naprawiono
- Eksport XLSX do RTF tworzy teraz prawdziwą tabelę czcionek zamiast sztywnego kodowania Calibri: wstępne skanowanie zbiera każdą odrębną nazwę czcionki komórki,
\fonttblwymienia każdą z własnym indeksem\fN, a tekst każdej komórki odwołuje się do jej rzeczywistej czcionki — skoroszyty sformatowane czcionkami Times New Roman, Courier New lub dowolną inną nie przeformatowują się już wizualnie do Calibri po otwarciu w programie Word lub WordPad
Wersja 2.320.0
Naprawiono
- Eksport PDF renderuje teraz obrót tekstu na klasycznej ścieżce silnika XLS: komórki z orientacją 90 lub 270 stopni rysują swój tekst pionowo przez macierz tekstu PDF obracającą się wokół środka komórki, zgodnie z istniejącym zachowaniem ścieżki XLSX; wcześniej pionowe nagłówki i obrócone etykiety były renderowane poziomo w plikach PDF tworzonych ze skoroszytów
.xls
Wersja 2.319.0
Dodano
- Obliczanie formuł ocenia teraz zależne od LAMBDA kombiratory tablicowe programu Excel 365:
MAP(transformację element po elemencie),REDUCE(zwinięcie do pojedynczej wartości),SCAN(zwinięcie rozlewające każdy krok pośredni),MAKEARRAY(budowanie z indeksów wierszy i kolumn),BYROW(agregację wierszową rozlewającą kolumnę) iBYCOL(agregację kolumnową rozlewającą wiersz), dopełniając rodzinę programowania funkcyjnego LAMBDA obok istniejącej obsługiLAMBDAiLET
Wersja 2.318.0
Dodano
- Obliczanie formuł ocenia teraz funkcje finansowe obligacji i skarbowych papierów wartościowych:
COUPDAYBS,COUPDAYS,COUPDAYSNC,COUPNCD,COUPPCD,COUPNUM(prymitywy liczenia dni kuponu),PRICE/YIELD(standardowa wycena obligacji z rozwiązywaniem wydajności metodą połowienia),PRICEDISC/YIELDDISC(papiery dyskontowe),PRICEMAT/YIELDMAT(oparte na terminie zapadalności),DURATION/MDURATION(czas trwania Macaulaya i zmodyfikowany),TBILLEQ/TBILLPRICE/TBILLYIELD(bony skarbowe),DISC/INTRATE/RECEIVED(dyskonto i odsetki),ACCRINTM(odsetki naliczone w terminie zapadalności),DOLLARDE/DOLLARFR(konwersja ułamków dolara),EFFECT/NOMINAL(stopy efektywne i nominalne),CUMIPMT/CUMPRINC(skumulowane odsetki i kapitał),FVSCHEDULE(przyszła wartość przy zmiennej stopie) orazAMORDEGRC/AMORLINC(amortyzacja francuska); wszystkie współdzielą samowystarczalny zagnieżdżony silnik dat kuponów z pięcioma standardowymi podstawami liczenia dni
Wersja 2.317.0
Dodano
- Ładowanie zaszyfrowanych skoroszytów akceptuje teraz pliki Agile Encryption deklarujące algorytm skrótu SHA-256 (tworzone przez niektórych producentów zewnętrznych): wyprowadzanie klucza z hasła, pętlę spin, weryfikator hasła oraz wektory IV klucza i wartości integralności danych oraz HMAC podążają za zadeklarowanym skrótem, podczas gdy pliki deklarujące niezgodne skróty między danymi klucza a szyfrującym klucz nadal są odrzucane; zapisywanie nadal zapisuje domyślny wariant SHA-512 programu Excel
Wersja 2.316.0
Dodano
SortRangezachowuje formuły na obu silnikach skoroszytu: komórki z formułami przemieszczają się wraz ze swoimi wierszami, a ich odwołania względne są ponownie kotwiczone zgodnie z semantyką sortowania programu Excel (części bezwzględne $ pozostają, odwołania przesunięte poza siatkę zaciskają się w miejscu), więc posortowane tabele nadal się przeliczają zamiast zamieniać się na wartości- Obrazy tła arkusza:
SetBackgroundImagekafelkuje obraz za komórkami arkusza XLSX (tylko do wyświetlania, jak w Excelu), przechodząc pełnym cyklem przez elementpicturearkusza, jego relację multimediów i typy zawartości pakietu
Naprawiono
- Przeliczanie formuły arytmetycznej odwołującej się do nigdy nie dotkniętej pustej komórki nie kończy się już błędem konwersji — puste operandy wnoszą wartość 0, jak w Excelu
Wersja 2.315.0
Dodano
CopyToClipboardpublikuje natywny format schowka Biff8 obok tekstu i HTML na obu silnikach skoroszytu, więc zakresy wklejane do Excela lub innych skoroszytów HotXLS przenoszą wartości, formuły, formaty liczb, czcionki, wypełnienia, obramowania, wyrównanie i scalone komórki zamiast zwykłego tekstuPasteFromClipboardpreferuje ładunek Biff8, gdy jest obecny: tekst wklejany z Excela zachowuje swoje oryginalne wartości bez ponownego analizowania dat i liczb zależnego od ustawień regionalnych, formuły ponownie kotwiczą swoje odwołania względne do miejsca wklejenia, a obszary scalone odtwarzają się w miejscu docelowym; oba silniki wklejają również wzajemnie swoje bloki z pełnym formatowaniem
Zmieniono
- Formuły wklejane do Excela docierają jako ich obliczone wartości (ograniczenie analizowania schowka Biff8 innych producentów w Excelu); wszystko inne — tekst, liczby z formatami, wypełnienia, obramowania i scalenia — wkleja się bezstratnie do Excela, a formuły w pełni przetrwają w kierunkach Excel-do-HotXLS i HotXLS-do-HotXLS
Wersja 2.314.0
Dodano
- Obiekty kamery na arkuszach XLSX:
AddCameraumieszcza obraz na żywo powiązany z zakresem komórek — połączony obraz narzędzia aparatu Excela — z powiązaniem zakresu zapisywanym w udokumentowanym rozszerzeniu rysunku i obrazem zastępczym o rozmiarze kotwicy; obiekty kamery utworzone w Excelu otwierają się ponownie z zachowanym powiązaniem zakresu
Wersja 2.313.0
Dodano
- Miejscowe łatkowanie arkuszy dla pakietów XLSX:
BeginPatchna pisarzu strumieniowym otwiera istniejący skoroszyt i przepisuje dokładnie jeden arkusz — każda inna część (style, rysunki, wykresy, tabele przestawne, części niestandardowe) jest kopiowana z jej skompresowanymi bajtami wiernie, bez dekompresowania lub ponownego tworzenia czegokolwiek, więc duży szablon otrzymuje odświeżony arkusz danych w ułamku czasu pełnej przebudowy - Tryb łatki może również dołączyć nowy arkusz: arkusz jest rejestrowany na liście części skoroszytu, relacje i typy zawartości z numeracją, która nigdy nie koliduje z istniejącymi częściami, zgodnie z własną konwencją relacji pakietu — ścisłą lub przejściową
- Złatane pakiety automatycznie porzucają nieaktualny łańcuch obliczeń (Excel odbudowuje go przy ładowaniu), a funkcje wymagające nowych części pakietu (tabele, wykresy, obrazy, komentarze, nazwy zdefiniowane) zgłaszają wyraźny błąd zamiast zapisywania nieprawidłowego pakietu
Wersja 2.312.0
Dodano
- Ścisłe wyjście Open XML: ustawienie
StrictOOXMLw skoroszycie XLSX zapisuje pakiet w ścisłej zgodności z ISO/IEC 29500 — każda deklaracja przestrzeni nazw i typ relacji przechodzi ze słowników przejściowych na ścisłepurl.oclc.orgw arkuszach, ciągach współdzielonych, stylach, motywie, rysunkach, wykresach, komentarzach, właściwościach dokumentu i zachowanych częściach, podczas gdy typy zawartości, nazwy części i słowniki VML pozostają takie, jakimi współdzielą je obie klasy zgodności - Odczyt skoroszytów w ścisłej zgodności jest teraz kompletny: typy relacji zapisane w ścisłej formie rozpoznają te same cele co ich przejściowe odpowiedniki, uzupełniając akceptację ścisłych przestrzeni nazw elementów, więc pliki zapisane w trybie „Strict Open XML Spreadsheet” programu Excel otwierają się jak każdy inny skoroszyt
- Zapisywanie z włączonym ścisłym wyjściem zgłasza wyraźny błąd dla funkcji istniejących wyłącznie jako rozszerzenia Microsoftu (projekty VBA, kontrolki formularzy, komentarze w wątkach, metadane tablic dynamicznych) zamiast zapisywania pakietu, który nie przeszedłby walidacji
Naprawiono
- Niestandardowe właściwości dokumentu deklarowały błędnie napisaną przestrzeń nazw typów wartości, co mogło powodować niepowodzenie walidacji części właściwości w narzędziach zewnętrznych
Wersja 2.311.0
Dodano
- Odczyt skoroszytu XLS zachowuje nierozpoznane rekordy arkuszy: każdy rekord, którego typizowany parser nie modeluje, jest przechwytywany wiernie i odtwarzany przy zapisie, więc pliki z rekordami specyficznymi dla producenta lub z nowszych specyfikacji przechodzą pełny cykl przez HotXLS bez ich utraty
Wersja 2.310.0
Dodano
- Kształty o geometrii presetowej na arkuszach XLSX:
AddPresetShapezapisuje dowolny z 187 presetowych tokenówST_ShapeTypeOOXML (rightArrow,flowChartDecision,star5, …) do<a:prstGeom>rysunku wiernie, a właściwośćPrstTokenpozwala istniejącym kształtom zmienić geometrię — tokeny przechodzą pełny cykl zapisu i ponownego otwarcia
Wersja 2.309.0
Dodano
- Przetwarzanie szablonów na arkuszach:
ApplyTemplatezastępuje placeholdery{{key}}we wszystkich komórkach — wartości zachowują swoje natywne typy, placeholdery formuł są podstawiane przed analizą — aFillTemplateBandklonuje blok szablonu raz na rekord z translacją wierszy formuł dla każdego klonu, klonowaniem zakresów scalonych i polem#skipdla warunków na poziomie wierszy, zamieniając każdy ręcznie przygotowany arkusz w sterowany danymi generator raportów
Wersja 2.308.0
Dodano
- Eksport PDF może dołączać pliki:
AddAttachmentprzenosi surowe dokumenty do eksportowanego pliku PDF jako wpisy/EmbeddedFiles(specyfikacja pliku, osadzony strumień z opcjonalnym podtypem MIME i drzewo nazw katalogu), więc raporty są dostarczane razem ze swoimi danymi pomocniczymi w jednym samowystarczalnym pliku
Zmieniono
- Odczyt skoroszytu XLS z nierozpoznanym słowem wersji BIFF nie odrzuca już całego strumienia: czytnik przechodzi na układ BIFF8, więc pliki od pisarzy emitujących nietypowe numery wersji nadal się ładują, gdy ich rekordy dają się sparsować
Wersja 2.307.0
Dodano
- Centralne zarządzanie plikami roboczymi: każdy plik tymczasowy tworzony przez bibliotekę jest rejestrowany i usuwany, więc przerwany eksport lub wyjątek między utworzeniem a usunięciem nie pozostawia już osieroconych plików tymczasowych
VerifyEncryptedSaveponownie otwiera świeżo zapisany zaszyfrowany kontener przez pełny potok deszyfrowania i kończy zapis niepowodzeniem, gdy hasło nie może go odblokować — uszkodzone kontenery ujawniają się natychmiast, zamiast przy następnym otwarciu przez użytkownika- Eksport zestawu danych zgłasza zdarzenie
OnExportLimit, gdy włącza się dzielenie wierszy, a limity siatki skoroszytu dla wersji formatu są udostępniane jako stałe (65536×256 dla BIFF8, 1048576×16384 dla formatów 2007+) do negocjowania możliwości
Wersja 2.306.0
Dodano
- Arkusze XLSX zyskują tworzenie kontrolek formularzy:
AddFormButton,AddFormCheckBox,AddFormRadioButton,AddFormComboBoxiAddFormListBoxzapisują kontrolki przycisków / pól wyboru / przycisków opcji / list rozwijanych / list z podpisami, powiązanymi komórkami, stanem zaznaczenia i wiązaniem makr — ścieżka zapisu emituje kształty VML, częścictrlPropsdla każdej kontrolki, ich relacje i wpisy typów zawartości, a pliki z kontrolkami przechodzą pełny cykl swoich części wiernie przy ponownym otwarciu
Wersja 2.305.0
Dodano
- Eksport PDF zyskuje opcjonalny tryb
UsePDFAtworzący dokumenty identyfikowane jako PDF/A-2b: profil sRGB IEC61966-2.1 jest osadzany jako intencja wyjścia GTS_PDFA1, metadane XMP przenoszą identyfikację części/zgodnościpdfaid, a nagłówek ogłasza PDF 1.7 — połącz go z osadzoną czcionką TrueType (UnicodeFontFilelub automatycznie wybraną zainstalowaną czcionką), aby uzyskać nadające się do archiwizacji wyjście
Wersja 2.304.0
Dodano
- Obliczanie na żywo między skoroszytami:
RegisterExternalWorkbookłączy obiekt skoroszytu z nazwą skoroszytu, dzięki czemu formuły takie jak[Book.xlsx]Sheet!A1kompilują się (prefiks[Book]Sheet!Refjest teraz analizowany jako prawdziwe odwołanie zewnętrzne) i czytają bieżący stan zarejestrowanego obiektu przy każdym przeliczeniu; wyrejestrowanie usuwa połączenie na żywo i wraca do pamięci podręcznej łączy zewnętrznych
Wersja 2.303.0
Dodano
- Porównywanie skoroszytów przez
TXLSXWorkbookCompare: łączy arkusze w pary według nazwy i raportuje dodane/usunięte arkusze, dodane/usunięte komórki, zmienione wartości, zmienione formuły oraz dodane/usunięte zakresy scalone — jako strukturalną listę różnic dla narzędzi i jako jeden czytelny dla człowieka wiersz na różnicę przezReport
Wersja 2.302.0
Dodano
- Strumieniowy pisarz bezpośredni zyskuje dostarczanie wierszy w trybie pull:
OnNeedRowjest wywoływany raz dla każdego przewidywanego wiersza, a dostawca zapisuje ten wiersz prosto przez pisarza, deklarując koniec danych, aby się zatrzymać — potoki danych mogą napędzać eksport bez wstępnego buforowania list wierszy
Wersja 2.301.0
Dodano
- Eksport ODS zapisuje formuły komórek: odwołania w obrębie tego samego arkusza są tłumaczone na standardową pisownię OpenFormula
of:=(odwołania w nawiasach, średniki jako separatory argumentów, literały łańcuchowe bez zmian), natomiast odwołania kwalifikowane nazwą arkusza i odwołania strukturalne przechodzą przez passthroughmsoxl:, którego samo Excel używa do wymiany między pakietami — zapisane pakiety otwierają się ponownie z oryginalnym tekstem formuł Excela
Wersja 2.300.0
Dodano
- Arkusze od prawej do lewej są teraz renderowane lustrzanie wszędzie: eksport PDF odwraca geometrię kolumn w obrębie szerokości wydruku (kolumna A po prawej, zawartość komórek nietknięta), a oba eksportery HTML emitują
dir="rtl"na tabeli, aby przeglądarka odwracała kolejność kolumn — flaga arkusza przechodzi już pełny cykl przez XLSX i BIFF
Wersja 2.299.0
Dodano
- Eksport zestawu danych (
TDataToXLS) zyskuje pas tytułowy i pas stopki:Titlerenderuje jeden scalony, pogrubiony wiersz nad nagłówkiem (własnyTitleFonti opcjonalnyTitleColor), aFooterdołącza wiersz pod ostatnim wierszem danych lub sum ForEachFormattedCellna arkuszu przechodzi przez każdą wypełnioną komórkę w kolejności wierszy i kolumn i dostarcza jej tekst wyświetlany — z zastosowanym formatem liczby — przez wywołanie zwrotne, gotowy do indeksowania i ekstrakcji tekstu
Wersja 2.298.0
Dodano
- Przykład ApiTour otwiera się teraz bezpośrednio w żywą prezentację: pulpit sprzedażowy w pamięci z kafelkami KPI, formułami
SUMIF/COUNTIFmiędzy arkuszami, paskami danych, skalą kolorów, zestawem ikon i dwoma wykresami renderuje się we wbudowanym podglądzie skoroszytu w momencie uruchomienia próbki, każda komórka siatki pozostaje edytowalna z natychmiastowym przeliczaniem i odświeżanymi formatami warunkowymi, a akcje jednym kliknięciem eksportują prezentację do PDF, HTML i CSV lub przekazują ją do Excela z pomiarami czasów budowy i eksportu na żywo - Przykład C++Builder ApiTour odzwierciedla nową prezentację Delphi, wbudowany podgląd, pasek formuł, akcje eksportu i dziennik aktywności
Zmieniono
- Przykłady ApiTour zastępują modalne okna wyników dziennikiem aktywności w oknie, podczas gdy klasyczny przewodnik tworzenia, modyfikacji i eksportu zachowuje swoje zachowanie
Wersja 2.297.0
Dodano
- Eksport PDF zyskuje opcjonalny tryb
UseXRefStreamtworzący pliki PDF 1.5 ze skompresowanymi strumieniami obiektów i binarnym strumieniem odniesień krzyżowych: małe obiekty słowników podróżują wewnątrz jednego kontenera skompresowanego Flate, a klasyczna tabela xref i trailer zostają zastąpione zwartym strumieniem, zmniejszając eksportowane dokumenty, podczas gdy zawartość stron pozostaje bajtowo identyczna
Wersja 2.296.0
Dodano
- Strumieniowy pisarz bezpośredni zyskuje opcjonalny tryb
AutoSplitRows: wiersz przekraczający limit arkusza (1048576) kończy bieżący arkusz i kontynuuje na nowo utworzonym arkuszu<name>_2,<name>_3…, więc nieograniczone eksporty nigdy nie emitują nieprawidłowego indeksu wiersza FillTableCalculatedColumnna arkuszu przepycha formułę kolumny obliczanej tabeli do każdego wiersza danych, tłumaczoną wierszowo dla każdej komórki tak, jak robi to autorskie narzędzie Excela, a następnie naturalnie przelicza
Wersja 2.295.0
Zmieniono
- Eksport XLSX do HTML centralizuje stylizację komórek: identyczne kombinacje stylów są emitowane raz jako klasy
td.cNw arkuszu stylów zamiast powtarzanego atrybutustylew każdej komórce, zmniejszając wyjście HTML dla jednolicie stylizowanych tabel; wizualne nakładki formatów warunkowych pozostają wbudowane, aby zachować swój charakter per-komórkowy
Wersja 2.294.0
Naprawiono
- Odwołania strukturalne w formie bieżącego wiersza (
Table[@Col]) są teraz oceniane względem własnego wiersza komórki formuły podczas przeliczania, zarówno na ścieżce oceny szeregowej, jak i równoległej; wcześniej każda taka formuła czytała wiersz 1 kolumny — zwykle tekst nagłówka — a przeliczanie kończyło się całkowitym błędem konwersji typów, gdy ten wiersz zawierał tekst
Wersja 2.293.0
Zmieniono
- Opcjonalna notatka
RecalcAggregateCacheobejmuje teraz również bezwarunkowe agregaty pojedynczego zakresu —SUM,AVERAGE,MIN,MAX,COUNTiCOUNTAdla jednego zwykłego zakresu pojedynczego arkusza — więc powtarzane sumy nad tym samym blokiem ponownie wykorzystują wynik pierwszego przebiegu pod tą samą bramką stabilności odniesień co rodzina warunkowa
Wersja 2.292.0
Dodano
- Generator kodu ze skoroszytu (
TXLSCodeGen): przechodzi przez skoroszyt i emituje instrukcje źródłowe, które go odtwarzają — tworzenie arkuszy, wartości komórek, formuły, formaty liczb, szerokości kolumn i zakresy scalone — w dialektach Delphi lub C++Builder, więc ręcznie przygotowany plik staje się gotowym przykładem API - Walidator importu reguł kolumn (
TXLSImportCheck): reguły wymagane, długości tekstu, wzorca wyrażeń regularnych i unikalności per kolumna oraz wywołanie zwrotne wywołującego uruchamiane nad wierszami danych arkusza; naruszenia mogą być adnotowane z powrotem czerwoną czcionką i komentarzem z powodem, aKeepOnlyViolationskompaktuje arkusz do nagłówka plus niepoprawne wiersze, tworząc skoroszyt «popraw i odeślij»
Wersja 2.291.0
Dodano
- Import CSV akceptuje rekord opcji: przeciążenia
OpenCSVprzyjmują pomijanie wierszy wiodących (SkipRows, dla banerów tytułowych nad siatką) i przycinanie białych znaków (AutoTrim) obok przełączników separatora i wykrywania typów FillMergedCellValuesna arkuszu kopiuje wartość kotwicy każdego zakresu scalonego do każdej objętej komórki składowej, więc arkusze w stylu raportowym ze scalonymi etykietami czytają się jako jedna płaska siatkaAddListValidationzyskuje przeciążenie tablicą łańcuchów, które łączy elementy w jedną listę rozwijaną w jednym wywołaniu- Eksport zestawu danych (
TDataToXLS) zyskuje pasiaste zabarwienie (AlternatingColor, malowane na nieparzystych wierszach szczegółów) i wiersz sum (SummaryRow), który dołącza prawdziwe formułySUMdla eksportowanych pól numerycznych lub listy pól nazwanych przez wywołującego, z pogrubioną komórką podpisu
Naprawiono
- Eksport zestawu danych stosuje teraz skonfigurowane tło
DetailColordo komórek szczegółów; wcześniej właściwość była akceptowana, ale nigdy nie malowana
Wersja 2.290.0
Zmieniono
- Opcjonalna notatka
RecalcLookupCacheobejmuje teraz również dokładne i przybliżone skanowaniaVLOOKUP,HLOOKUPoraz typy dopasowaniaMATCH0 i 1, więc skoroszyty powtarzające te klasyczne wyszukiwania w obrębie tego samego zakresu ponownie wykorzystują wynik pierwszego skanowania podczas przebiegu przeliczania pod tą samą bramką bezpieczeństwa stabilności odniesień coXLOOKUP/XMATCH
Wersja 2.289.0
Dodano
- Strumieniowy pisarz bezpośredni zyskuje opcjonalny tryb
TrackColumnWidths: arkusz jest przygotowywany w pamięci podczas strumieniowania wierszy, aby zapisany plik niósł wskazówkę użytego zakresu<dimension>oraz szerokości kolumn dopasowane do najdłuższego widzianego tekstu wyświetlanego (znaki plus dopełnienie, ograniczone do 255), przybliżając autodopasowanie dla eksportów, których dane są znane dopiero w trakcie strumieniowania; jawnie ustawione szerokości kolumn zawsze wygrywają
Wersja 2.288.0
Dodano
- Otwieranie pakietów XLSX toleruje niekanoniczne prefiksy przestrzeni nazw: arkusze, wykresy, rysunki i części właściwości dokumentu, które wiążą swoje elementy z inaczej prefiksowaną (lub ściśle ISO 29500) przestrzenią nazw, są normalizowane do standardowego słownictwa podczas analizowania, więc pliki od zewnętrznych generatorów i zapisywaczy w trybie ścisłym ładują się poprawnie
- Arkusze, których komórki pomijają atrybut pozycji
r, umieszczają każdą komórkę po swoim poprzedniku w kolejności skanowania, a wiersze bez atrybuturkontynuują sekwencję wierszy — konwencja stosowana przez kilku strumieniowych pisarzy
Wersja 2.287.0
Dodano
Openodczytuje skoroszyty Excel 2.0/3.0/4.0 (BIFF2-4): surowe strumienie BIFF bez osłony OLE ładują się z ich liczbami, tekstem, wartościami logicznymi, błędami i buforowanymi wynikami formuł; wyniki łańcuchowe formuł docierają przez rekord String BIFF2-4, a rekord strony kodowej strumienia steruje dekodowaniem tekstu
Zmieniono
- Dokumenty BIFF2-4 są odczytywane pod kątem wartości — formaty liczb i style tych generacji nie są modelowane, więc daty pojawiają się jako surowe numery seryjne, a formuły jako ich ostatnio obliczone wartości
Wersja 2.286.0
Dodano
- Formaty liczb z sekcjami porównawczymi (
[>=100],[<0], …) wybierają sekcję według wartości wszędzie tam, gdzie renderuje się tekst wyświetlany, zgodnie z zachowaniem formatów warunkowych Excela - Sekcje tekstowe formatów liczb (
"ID:"@) szablonują wartości łańcuchowe zamiast ignorować format SetCellFromHtmlwypełnia komórkę z lekkiego fragmentu HTML:<b>/<strong>,<i>/<em>,<u>,<br>i<font color=...>stają się bogatymi przebiegami; inne znaczniki są odrzucane, a ich tekst zachowywany- Znacznik
TaggedTextakceptuje podziały wierszy<br>, aliasy<strong>/<em>, formę atrybutu<font color=...>oraz encje"/ - Bloki trzymania kolumn razem (
KeepColumnsTogether) zatrzymują pionowe podziały stron wewnątrz grupy kolumn, odzwierciedlając funkcję na poziomie wierszy w paginacji, podglądzie i wyjściu PDF - Klasyczne kontrolki formularzy Spinner i ScrollBar mogą być tworzone w plikach XLS z ustawieniami Min/Max/Inc/Page i połączoną komórką, emitowane przez podrekord OBJ FtSbs
WriteAutoValuerozpoznaje datym/d/yyyyid.m.yyyyz opcjonalnymi czasami (w tym AM/PM) poza formą ISO, odrzucając niemożliwe daty kalendarzoweConvertFormulasToValueszyskuje trybOnlyExternal, który zamraża tylko formuły odwołujące się do innych skoroszytów, a klasyczna fasada XLS zyskuje metodę dla całego arkusza- Autodopasowanie wierszy mierzy komórki scalone względem ich łącznej szerokości kolumn i rozdziela potrzebną wysokość między scalone wiersze
Wersja 2.285.0
Dodano
- Eksport PDF rysuje wykresy arkusza jako natywną grafikę wektorową: kolumny i słupki skumulowane, warstwowe i procentowo warstwowe, wykresy liniowe ze znacznikami, wykresy obszarowe, wykresy kołowe i pierścieniowe z etykietami procentowymi, wykresy punktowe i radarowe — każdy z oprawioną ramką tytułową, automatycznie skalowanymi osiami, etykietami znaczników, liniami siatki, legendą, opcjonalnymi etykietami danych per punkt, jednolitymi wypełnieniami per seria i domyślną paletą akcentów Excela; typy wykresów 3D renderują się jako ich rzut 2D
- Wykresy zakotwiczone poza ostatnią komórką rozszerzają teraz drukowaną powierzchnię, więc wykres umieszczony pod wierszami danych nadal pojawia się w wyjściu PDF i podglądzie zamiast być przycinany
Wersja 2.284.0
Dodano
- Nagłówki i stopki PDF renderują kody stylów Excela:
&Bpogrubienie,&Ikursywa,&U/&Epodkreślenie pojedyncze/podwójne,&Sprzekreślenie,&X/&Yindeks górny/dolny,&nnrozmiar czcionki,&Kkolor oraz słowa kluczowe wagi&"Font,Style" - Eksport PDF respektuje tryb czarno-białego drukowania arkusza, redukując wypełnienia, czcionki, obramowania, paski danych i ikony do luminancyjnej szarości
- Drukowane nagłówki wierszy i kolumn (numery wierszy i litery kolumn) renderują się obok siatki, gdy arkusz ich zażąda
- Centrowanie wydruku:
CenterHorizontally/CenterVerticallyprzesuwają drukowaną siatkę między marginesami, podczas gdy pasma nagłówka i stopki pozostają na miejscu - Komentarze komórek drukują się albo jako czerwony wskaźnik narożnika (tryb wyświetlania), albo jako strona listy komentarzy po arkuszu przez nową właściwość arkusza
PrintCommentsAtEnd, która przenosi wartość konfiguracji stronycellComments="atEnd"Excela - Wewnętrzne hiperłącza (cele
Sheet!Cell) stają się klikalnymi łączami GoTo w dokumencie, które przeskakują do strony arkusza docelowego - Eksporter udostępnia preferencję widoku
PageLayouti zapisuje pakiet metadanych XMP obok słownika informacji o dokumencie - Czcionki kolekcji TrueType (
.ttc) mogą służyć jako osadzona czcionka Unicode; pogrubione i kursywne odmiany osadzonej twarzy są syntetyzowane, gdy istnieje tylko zwykła odmiana
Zmieniono
- Szerokości kolumn są przeliczane przez formułę maksymalnej szerokości cyfry Excela (metryki Calibri 11) zamiast stałego oszacowania na znak, więc szerokości w PDF i podglądzie odpowiadają przechowywanym szerokościom pikselowym Excela
- Zawijane wiersze są ponownie mierzone od pierwszego znaku każdego wiersza, naprawiając zawijane wiersze, które ignorowały szerokość słów przesuniętych w dół przez wcześniejsze złamanie
Wersja 2.283.0
Dodano
- Eksport PDF zawija komórki
WrapTextz prawdziwym łamaniem słów, wyrównaniem poziomym linia po linii, pionowym wyrównaniem bloku oraz odstępami wyjustowanymi lub rozłożonymi - Eksport PDF renderuje obrócony tekst komórek przez macierze tekstu PDF, w tym pionowy tekst ułożony w stosy, i respektuje
ShrinkToFit, stopniowo zmniejszając rozmiar czcionki, aż wartość się zmieści - Tekst PDF przepełniający komórkę rozciąga się teraz przez puste sąsiednie komórki i jest przycinany przy pierwszej zajętej komórce, zgodnie z zachowaniem drukowania Excela; wyrównanie ogólne wyrównuje liczby do prawej jak Excel
- Eksport PDF rysuje przebiegi tekstu sformatowanego ze stylem czcionki, rozmiarem, kolorem, podkreśleniem, przekreśleniem, indeksem górnym i dolnym per przebieg; zawijane wiersze zachowują styl per przebieg
- Eksport PDF rysuje ukośne obramowania komórek i prawdziwe obramowania podwójnej linii
- Tekst rozciągający się na scalone komórki jest teraz rysowany, wyrównywany, zawijany i kotwiczy hiperłącza w obrębie całego prostokąta scalonego, a objęte elementy scalenia nie malują już własnego tła
Zmieniono
- Szerokości tekstu PDF pochodzą ze skalibrowanych tablic posuwu per znak zamiast stałej średniej szerokości znaku, więc wyrównanie, zawijanie i zmniejszanie odpowiadają drukowanej stronie
- Wcięcie komórki przesuwa tekst jak Excel, a komórki z zestawami ikon wcinają swoją wartość obok ikony
Wersja 2.282.0
Dodano
- Eksport PDF zachowuje przezroczystość PNG: obrazy z kanałem alfa emitują teraz płaszczyznę miękkiej maski zamiast tracić przezroczystość, w tym obrazy paletowe z fragmentem tRNS
Zmieniono
- Strumienie zawartości stron PDF są teraz kompresowane Flate, znacznie zmniejszając eksportowane dokumenty bez wymagań dotyczących podglądarki poza PDF 1.4
- Eksport PDF grupuje kolejne operacje tekstowe we wspólne bloki tekstu i pomija redundantny wybór czcionki, rozmiaru i koloru, zmniejszając zarówno rozmiar wyjścia, jak i czas generowania
- Sąsiednie komórki z tym samym jednolitym wypełnieniem renderują się jako jeden scalony prostokąt, a współliniowe segmenty obramowań z tym samym stylem rysują się jako pojedynczy przebieg zamiast krawędzi per komórka
- Obrazy PNG są osadzane w PDF bez dekodowania i ponownego kodowania, zachowując oryginalny skompresowany strumień i dokładne piksele
- Obrazy z identyczną zawartością bajtów są osadzane raz i współdzielone, niezależnie od tego, ile obiektów obrazów się do nich odwołuje
Naprawiono
- Adnotacje hiperłączy są teraz tworzone również dla komórek łączy, których tekst renderuje się przez ścieżkę osadzonej czcionki Unicode
- Bajty zawartości PDF nie zależą już od aktywnej strony kodowej systemu, więc tekst zachodni renderuje się identycznie w każdej wersji językowej Windows
Wersja 2.281.0
Naprawiono
- Czytniki schowka nie obcinają już uchwytu danych do 32 bitów, co powodowało, że
XLSGetClipboardBiff8i ścieżka wklejania XML Spreadsheet zwracały pustkę w aplikacjach 64-bitowych - Operacje schowka ponawiają otwieranie schowka przez maksymalnie pół sekundy, gdy inna aplikacja go trzyma, zamiast kończyć się niepowodzeniem przy pierwszym konflikcie
Zmieniono
- Wyszukiwania reguł formatów warunkowych (ścieżki
FindAt/IndexOfCell) analizują zakres komórek każdej reguły raz zamiast dla każdej zapytanej komórki, zgodnie z pamięcią podręczną walidacji danych - Eksport PDF buduje indeks hiperłączy per arkusz, zastępując liniowe skanowanie per komórka wyszukiwaniem binarnym
Wersja 2.280.0
Dodano
- Funkcje zdefiniowane przez użytkownika mogą być rejestrowane po nazwie:
RegisterUserFunctionkieruje formuły wywołujące tę nazwę prosto do swojego programu obsługi (bez globalnego łańcucha if w jednymOnUserFunction), a zdarzenie skoroszytu nadal obsługuje nazwy niezarejestrowane ScanUnknownFunctionsaudytuje skoroszyt pod kątem funkcji formuł, których silnik obliczeń nie może ocenić, raportując każdą komórkę i nazwę — idealny przed włączeniem przeliczania na obcych plikachRecoveryMode: strukturalnie uszkodzona część arkusza jest pomijana z ostrzegawczą diagnostyką zamiast przerywać całe otwieranie- Natywny format schowka BIFF8:
XLSSetClipboardBiff8/XLSGetClipboardBiff8publikują i odczytują strumieńBiff8, którego samo Excel używa, więc wymiana schowka zachowuje wartości, formuły i formatowanie
Zmieniono
- Audyt walidacji danych analizuje zakres komórek każdej reguły raz zamiast dla każdej komórki, przyspieszając
CheckDataValidationsna dużych arkuszach
Wersja 2.279.0
Dodano
- Eksport PDF osadza obrazy arkusza: bitmapy PNG/GIF/BMP są konwertowane na obiekty XObject RGB skompresowane Flate, a pliki JPEG przechodzą bez zmian przez DCTDecode (bez rekompresji); identyczne obrazy na kilku stronach współdzielą jeden obiekt, a obrazy dodane bez jawnego rozmiaru domyślnie przyjmują swoje wymiary pikselowe przy 96 DPI
- Bloki trzymane razem:
KeepRowsTogetherzatrzymuje paginację wydruku/PDF przed łamaniem wewnątrz bloku wierszy, który mieści się na jednej stronie, aXlsxAutoPageBreakszamienia naturalne (świadome trzymania) granice stron na jawne podziały wierszy, aby Excel paginował jak eksport - Konfigurowalna kompresja XLSX:
ZipCompressionLevelwybiera poziom deflate dla zapisów (-1 domyślny do 9) - Powtarzalne zapisy:
DeterministicOutputprzypina znaczniki czasu wpisów zip, więc zapisanie tego samego skoroszytu dwa razy daje bajtowo identyczne pliki
Naprawiono
- Uszkodzone pliki złożone z cyklicznymi łańcuchami FAT nie zawieszają już klasycznego modułu ładującego .xls — przebiegi łańcuchów katalogów i strumieni niosą zabezpieczenia przed cyklami
Wersja 2.278.0
Dodano
- Eksport PDF emituje klikalne adnotacje łączy dla hiperłączy arkusza: komórki z adresem URL otrzymują niewidzialny prostokąt /Link z akcją URI nad obszarem komórki
- Eksport PDF zapisuje konspekt dokumentu (zakładki): każdy eksportowany arkusz staje się zakładką wskazującą jego pierwszą wyrenderowaną stronę
Wersja 2.277.0
Dodano
- Walidacja danych zyskuje interfejs API audytu:
CheckDataValidationsskanuje wypełnione komórki pod kątem reguł arkusza (członkostwo na liście, granice całkowite/dziesiętne/daty/czasu, długość tekstu, niestandardowe formuły przez kalkulator) i raportuje każdą naruszającą komórkę z indeksem reguły i powodem - Typowane niestandardowe właściwości dokumentu przechodzą pełny cykl przez
docProps/custom.xml: wpisy tekstowe, liczbowe, daty i logiczne wWorkbook.CustomProperties - Niestandardowe części danych XML przechodzą pełny cykl przez
Workbook.CustomXmlPartsz relacjami na poziomie skoroszytu i typami zawartości - Obrazy przyjmują towarzyszący plik SVG:
AddImagePairprzechowuje bajty SVG obok rastrowego zamiennika, zapisuje rozszerzeniesvgBliporaz dodatkową część multimediów, którą konsumuje Excel 2016+ - Wykresy mogą pobierać tekst etykiet danych z zakresu komórek (“Wartości z komórek”) przez
DataLabelsRange, emitowany jako rozszerzenie wykresu i odtwarzany przy otwarciu - Niestandardowe style tabel:
Workbook.CustomTableStylesdefiniuje nazwane style z kolorowymi/pogrubionymi sekcjami (wiersz nagłówka, wiersz sum, pasy, kolumny krawędziowe), zapisywanymi dotableStylesz własnymi stylami różnicowymi, dzięki czemu tabele mogą odwoływać się do nich po nazwie
Wersja 2.276.0
Dodano
- Wypełnienia gradientowe komórek: liniowe przebiegi według stopni i gradienty ścieżkowe z kolorami per przystanek przechodzą pełny cykl przez
gradientFill, renderują się jako gradienty CSS w eksporcie HTML, wypełnienia z interpolacją pasmową w eksporcie PDF i podglądzie skoroszytu oraz są oferowane przez udogodnienieTXLSXFills.AddLinearGradient - Formaty liczb czasu narastającego (
[h]:mm:ss,[mm]:ss,[s]) renderują teraz sumy bieżące zamiast zawijania jak zegar, na każdej ścieżce wyświetlania (FormattedText, HTML, PDF, wartości formatów warunkowych) - Formaty liczb ułamkowych (
# ?/?,# ??/??, stałe mianowniki jak0/8) renderują się z najlepszym racjonalnym przybliżeniem Excela, w tym ukrywaniem zerowej części całkowitej i odstępami wyrównania - Nawiasy kolorów w stylu
[Red]ujawniają się teraz przezTXLSXCell.GetFormattedTextColori przemalowują tekst komórki w eksporcie PDF TXLSXWorkbook.ValidateNumberFormatsprawdza niestandardowy łańcuch formatu tak, jak robi to okno dialogowe formatu niestandardowego Excela — liczbę sekcji, równowagę cudzysłowów i zawartość nawiasów (kolory, warunki, jednostki narastające, dyrektywy regionalne)- Stan zamrożonych okienek można odczytać przez
GetFrozenPanes, a pozycja przewijania prawego dolnego okienka przechodzi pełny cykl przezSetPaneScroll/GetPaneScroll(zapisywana jakotopLeftCell) - Przełącznik wyświetlania nagłówków wierszy i kolumn
DisplayRowColHeadersprzechodzi pełny cykl przezshowRowColHeaders - Wykresy udostępniają
DispBlanksAs(przerwa / połączenie / zero) iPlotVisibleOnlyzamiast sztywnego kodowania ich i odtwarzają oba z zachowanego ChartML przy otwarciu - Komentarze niosą edytowalną geometrię pola (
WidthPt/HeightPt, punkty VML) oraz heurystykęAutoSizeFromTextsterowaną tekstem
Wersja 2.275.0
Dodano
- Znajdź & zamień rozumie symbole wieloznaczne Excela:
*(dowolny ciąg znaków),?(dokładnie jeden znak) oraz~jako znak ucieczki dla literału*,?lub~— te same semantyki, które samo Excel stosuje w funkcjach Znajdź & zamień, kryteriach rodzinyCOUNTIFi autofiltrach - Arkusz XLSX
FindTextzyskuje przeciążenie opcji: rozróżnianie wielkości liter, dopasowanie całej zawartości komórki, wyszukiwanie także tekstu formuł, tryb symboli wieloznacznych i skanowanie wstecz, z kotwicą startową, aby powtarzane wywołania przechodziły przez dopasowania ReplaceTextzyskuje ten sam zestaw opcji plus opcjonalne wywołanie zwrotne per dopasowanie, które może przyjąć, przepisać, pominąć lub przerwać każdą komórkę zamiany komórka po komórce- Klasyczny arkusz XLS
FindText/ReplaceTextzyskuje przeciążenia symboli wieloznacznych i całych komórek, więc obie fasady współdzielą semantyki wyszukiwania Excela GetRangeStatisticsskanuje prostokąt i raportuje minimum, maksimum, sumę, średnią, liczbę wartości liczbowych i liczbę wypełnionych komórek w jednym przebieguWriteAutoValuezapisuje tekst tak, jak interpretuje go własny wpis komórki Excela:TRUE/FALSEstają się wartościami logicznymi, literały błędów takie jak#N/Astają się wartościami błędów, jednoznaczne daty ISO stają się datami, zwykłe liczby w formacie niezmiennym stają się liczbami, a wszystko inne — w tym wiodące zera i separatory tysięcy — pozostaje tekstem (obie fasady)GetHtmlFromCellrenderuje jedną komórkę jako stylizowany fragment HTML z escapowanym znacznikiem, uzupełniając eksport HTML całego arkuszaSortRangeprzyjmuje flagę bez rozróżniania wielkości liter, aby klucze tekstowe porządkowały się alfabetycznie niezależnie od wielkości liter (fasada XLSX)
Wersja 2.274.0
Dodano
- Tabele Excela przechodzą teraz pełny cykl tabel bez nagłówka i komentarzy per tabela przez nowe właściwości tabeli
HasHeaderRowiComment, zapisywane jakoheaderRowCount="0"i atrybutcomment - Wykresy mogą wybrać styl galerii Excela przez nową właściwość
ChartStyle(1–48 lub rozszerzony zakres 101–148), przechodzący pełny cykl przez element stylu części wykresu - Wykresy kombinowane mogą kontrolować warstwy obszaru wykresu przez nową właściwość
ZOrderna każdej grupie wykresu, więc seria kolumnowa może renderować się za lub przed serią liniową - Arkusze i pojedyncze komórki mogą zamrozić formuły w ich obliczone wartości przez
ConvertFormulasToValuesiConvertFormulaToValue, zachowując buforowany wynik przy porzucaniu formuły, łącza formuły współdzielonej i metadanych tablicy - Nazwy zdefiniowane niosą teraz opcjonalny komentarz przez nową właściwość nazwy
Comment, przechodzący pełny cykl przez klasyczny rekord komentarza nazwy i atrybutcommentnazwy zdefiniowanej XLSX - Eksport PDF przyjmuje niestandardowe wymiary papieru w punktach przez nowe właściwości
PaperWidthiPaperHeight, nadpisując wyliczenie rozmiaru papieru dla każdego renderowanego arkusza - Eksport PDF może pominąć pasmo nagłówka lub stopki przez nowy zestaw
HidePrintObjects - Kody pól nagłówka i stopki PDF
&F(nazwa pliku) i&Z(ścieżka) rozwijają się teraz przy użyciu ścieżki źródłowego skoroszytu przechwyconej przez eksporty plikowe - Paski danych obsługują niezależny kolor obramowania wartości ujemnych przez nowe ustawienia
NegativeBorderColoriNegativeBarBorderColorSameAsPositive, emitowane w rozszerzeniu pasków danych Excel 2010+ - Wbudowane style komórek, których identyfikatory nie mają starszego miejsca w rekordzie (Hyperlink, Title, Headings, Accents, Good/Bad/Neutral, …), rozpoznają teraz swoje kanoniczne nazwy wyświetlane przy zapisie, więc galeria stylów Excela przetrwa pełny cykl
- Skoroszyty zaszyfrowane Agile niosą teraz prawdziwy blok
dataIntegrity: pisarz emituje zgodny ze specyfikacją HMAC nad kompletnym zaszyfrowanym pakietem, a otwieranie weryfikuje go, wykrywając błędne hasło lub zmodyfikowany pakiet; pliki od pisarzy bez tego bloku nadal otwierają się bez zmian - Klasyczne skoroszyty obsługują rezerwację zapisu “hasło do modyfikacji” Excela przez
SetModifyPassword(flaga zalecania tylko do odczytu, starszy skrót hasła i rezerwująca nazwa użytkownika emitowane jako para rekordów WRITEPROT + FILESHARING);IsWriteReservedraportuje stan, a puste hasło go czyści - Opcjonalna notatka
RecalcLookupCacheprzyspiesza przeliczanie obciążone wyszukiwaniem: powtarzane skanowaniaXLOOKUP/XMATCHnad tym samym zakresem ponownie wykorzystują wynik pierwszego skanowania. Notatka włącza się tylko wtedy, gdy graf zależności jest w sposób udowadnialny stabilny pod względem odwołań (bezOFFSET/INDIRECTani nierozstrzygalnych odwołań, bez łańcuchów cyklicznych, bez tabel danych What-If) i poza tym pozostaje cicho wyłączona, więc wyniki są zawsze identyczne - Towarzysząca notatka
RecalcAggregateCacheprzyspiesza przeliczanie agregatów warunkowych: powtarzane skanowaniaSUMIF/COUNTIF/AVERAGEIFnad tym samym zakresem i kryteriami ponownie wykorzystują pierwszy wynik, pod tą samą bramką stabilności odwołań i z identycznymi wynikami - Wyrażenia
LAMBDAoceniają się z pełnymi domknięciami: nazwa zdefiniowana, której RefersTo jestLAMBDA, może być wywoływana po nazwie z argumentami (=MyFunc(5)), domknięcia wiążą się leksykalnie wewnątrzLET(=LET(f, LAMBDA(x, x*2), f(21))), parametry przesłaniają odwołania do kolumn o tej samej pisowni, a tekst formuły przechodzi pełny cykl dosłownie; gołeLAMBDAprzechowywane jako wynik komórki zachowuje zachowanie pomijania bez wartości LETma teraz kompletne semantyki: każde wiązanie jest widoczne dla późniejszych wiązań i dla wyrażenia ciała, w tym kompozycję zagnieżdżonegoLET— zastępując poprzednią częściową implementację- Tekst formuł przyjmuje teraz przecinek jako separator argumentów obok klasycznego średnika, dopasowując się do kanonicznej składni Excela dla formuł wklejanych i importowanych
- Odwołania strukturalne w formułach są teraz oceniane:
Table[Column],Table[[Column]], zakresy kolumn oraz formy elementów[#Data]/[#All]/[#Headers]/[#Totals]rozstrzygają się względem tabel Excela skoroszytu w czasie analizowania, więc=SUM(Table1[Amount])oblicza się, podczas gdy oryginalny tekst formuły nadal przechodzi pełny cykl dosłownie; nierozstrzygalne odwołania zachowują poprzednie zachowanie pomijania bez wartości, a formy bieżącego wiersza ([@Column]) pozostają nieobsługiwane
Zmieniono
- Gdy skoroszyt wyłącza pełną precyzję, przeliczone wyniki są teraz przechowywane zaokrąglone do liczby miejsc dziesiętnych pokazywanych przez format liczb każdej komórki, dopasowując się do zachowania “precyzja jak wyświetlana” Excela dla wartości obliczonych przez HotXLS
- Reguły formatowania warunkowego zapisywane do XLSX otrzymują teraz priorytety unikalne dla arkusza, eliminując pliki z duplikatami priorytetów, które skłaniały Excela do monitu o naprawę
- Formaty warunkowe oznaczone jako zakres tabeli przestawnej przez nową właściwość
IsPivotsą kierowane do zasobnika rozszerzeń zamiast do głównego bloku formatowania warunkowego arkusza, gdzie Excel mógłby je porzucić lub źle umieścić
Wersja 2.273.0
Zmieniono
TXLSXWorkbook.PreserveRawPartskopiuje teraz niezmienione obrazy arkuszy, obrazy nagłówków i stopek oraz części wykresów z ich oryginalnymi skompresowanymi ładunkami, podczas gdy edycje danych obrazów i edycje modelu wykresów przechodzą ścieżką serializacji- Udane zapisanie pliku SaveAs przyjmuje teraz zatwierdzony pakiet jako następną bazę surowej kopii, umożliwiając kolejnym zapisom ponowne użycie świeżo zserializowanych nieprzezroczystych danych, VBA, połączeń, łączy zewnętrznych, obrazów, wykresów, motywów i ładunków tabel przestawnych bez ponownego otwierania poprzedniego pakietu źródłowego
Naprawiono
- Nieznane relacje arkuszy i rysunków z pakietów o niestandardowych lokalizacjach części są teraz przenumerowane względem wygenerowanych kanonicznych właścicieli, w tym pakietów tylko z rysunkami, których jedynymi kotwicami są zachowane nieobsługiwane kształty
- Nieudana kopia skompresowanego elementu wycofuje teraz swój częściowy lokalny nagłówek, bajty ładunku, wpisy folderu nadrzędnego i licznik katalogu centralnego przed bezpiecznym fallbackiem serializacji, zapobiegając gromadzeniu się nieosiągalnych danych w archiwum wyjściowym
Wersja 2.272.0
Zmieniono
- SaveAs XLSX otwiera teraz jedno zwalidowane archiwum źródłowe na całą operację zapisu i kopiuje każdą niezmienioną nieprzezroczystą część osiągalną przez relacje z jej oryginalnym skompresowanym ładunkiem, unikając powtarzanych skanów katalogu centralnego oraz dekompresji i rekompresji, podczas gdy zmodyfikowane ładunki nadal przechodzą ścieżką serializacji
Naprawiono
- Nieznane relacje skoroszytu z pakietów, których skoroszyt używa niestandardowej nazwy części, są teraz przenumerowane względem wygenerowanej lokalizacji skoroszytu, zapobiegając staniu się ich zachowanych części docelowych nieosiągalnymi po SaveAs
- Rzutowane odczyty bezpośrednie zachowują teraz definicje master formuł współdzielonych poza wybranym zestawem wierszy lub kolumn, więc wybrane komórki następujące nadal otrzymują swoje poprawnie przetłumaczone formuły bez odbudowywania niewybranych wartości ani tekstu sformatowanego
- Edycja wykresu nie usuwa już niezmodelowanego formatu liczb osi tylko dlatego, że autorskie tworzenie formatu liczb etykiet danych używa elementu o tej samej nazwie lokalnej
Wersja 2.271.0
Naprawiono
- Klasyczny eksporter HTML zapisuje teraz UTF-8 i deklaruje je za pomocą
<meta charset>oraz doctype HTML5; wcześniej strumień był zapisywany w systemowej stronie kodowej ANSI, psując każdą wartość komórki niebędącą ASCII, a brak deklaracji zestawu znaków pozostawiał stronę na łasce przeglądarki
Wersja 2.270.0
Dodano
- Etykiety danych wykresów mogą teraz nieść jawny format liczb i położenie przez nowe właściwości serii
LabelNumFmtiLabelPos(z ich flagami*Set), emitowane jako<c:numFmt>i<c:dLblPos>w obu pisarzach — standardowym i wykresów kombinowanych — umożliwiając tekst etykiet procentowych lub walutowych oraz położenia etykiet takie jak poza końcem lub środek; samo jedno z tych ustawień również włącza blok etykiet, a serie bez ustawień pozostają bajtowo identyczne
Wersja 2.269.0
Dodano
- Serie wykresów liniowych i punktowych mogą teraz nieść jawny symbol i rozmiar znacznika przez nowe właściwości
MarkerSymbol,MarkerSizeiMarkerSet, emitowane jako blok<c:marker>serii w obu pisarzach — standardowym i wykresów kombinowanych; serie bez ustawień zachowują automatyczne znaczniki - Osie wartości z jednostkami wyświetlania mogą teraz pokazywać etykietę jednostki (“Tysiące”, “Miliony”, …) przez nową właściwość osi
ShowDispUnitsLabel
Wersja 2.268.0
Dodano
- Linie trendu wykresów XLSX obsługują teraz stałe przecięcie oraz okresy prognozy do przodu i wstecz przez nowe właściwości
Intercept/InterceptSet,ForwardiBackward, emitowane jako<c:intercept>/<c:forward>/<c:backward>; wcześniej te elementy sterujące oferował tylko klasyczny konstruktor wykresów BIFF, a linie trendu bez ustawień pozostają bajtowo identyczne
Wersja 2.267.0
Dodano
- Obliczanie formuł ocenia teraz funkcje liczb zespolonych
IMCOS,IMSIN,IMTAN,IMSEC,IMCSC,IMCOT,IMLOG2iIMLOG10, uzupełniając rodzinę inżynieryjnąIM*o pokrycie trygonometryczne, odwrotnościowe oraz logarytmy o podstawie 2/10 nad złożonymi operandami łańcuchowymi
Wersja 2.266.0
Zmieniono
- Strumieniowy czytnik bezpośredni stosuje teraz projekcję kolumn przed gromadzeniem wartości komórek: gdy skonfigurowany jest zestaw rzutowanych kolumn, komórki poza nim pomijają budowanie wartości, formuły i łańcuchów tekstu sformatowanego, które wcześniej wykonywało się dla każdej komórki i odrzucało na końcu komórki, przyspieszając odczyty szerokich arkuszy rzutujące tylko kilka kolumn
Wersja 2.265.0
Dodano
- Grupy wykresów słupkowych i kolumnowych udostępniają teraz konfigurowalny tryb grupowania (
clustered,stacked,percentStacked), szerokość odstępu grupy i nakładanie serii przez nowe właściwościBarGrouping,GapWidthiOverlap; wcześniej każdy wykres słupkowy/kolumnowy był sztywno zakodowany jakoclusteredbez kontroli odstępu ani nakładania, a grupy bez ustawień pozostają bajtowo identyczne, podczas gdy lista scalania po edycji po otwarciu traktuje nowe elementy jako należące
Wersja 2.264.0
Naprawiono
- Obramowania komórek PDF odzwierciedlają teraz styl i grubość obramowania arkusza zamiast rysowania każdego obramowania jako identycznej linii ciągłej 0,75 pt: komórki XLSX renderują grubości cienką, średnią, grubą, włosową i podwójną oraz wzory przerywane, kropkowane, kreska-kropka, kreska-kropka-kropka i ukośna kreska-kropka, a komórki BIFF renderują style cienki, średni oraz przerywany/kropkowany
Wersja 2.263.0
Dodano
- Eksport PDF może teraz osadzać metadane dokumentu przez nowe właściwości
DocumentTitle,DocumentAuthor,DocumentSubjectiDocumentKeywords; gdy którakolwiek jest ustawiona, PDF niesie słownik/Infoz tymi polami oraz tożsamościąCreator/ProduceriCreationDate, podczas gdy domyślne eksporty bez metadanych pozostają bajtowo identyczne
Wersja 2.262.0
Naprawiono
- Eksport CSV nie nadcytułuje już pól: wewnętrzna spacja nie wymusza już cudzysłowów, więc wartości takie jak
John Smithsą zapisywane bez cudzysłowów, zgodnie z RFC 4180 i Excelem; pola z separatorem, podwójnym cudzysłowem, znakiem nowej linii lub wiodącymi bądź końcowymi białymi znakami nadal są cytowane jak wcześniej
Wersja 2.261.0
Dodano
- Każda seria wykresu może teraz nieść jednolity kolor wypełnienia przez nową właściwość
SolidFillHex, emitowaną jako właściwości kształtu<c:spPr>serii; przypisanie koloru hex nadaje serii kolor marki lub palety zamiast automatycznego koloru motywu Excela, podczas gdy serie bez ustawień pozostają bajtowo identyczne, a lista scalania po edycji po otwarciu traktujespPrjako należące, więc zastępuje zamiast duplikować
Wersja 2.260.0
Zmieniono
- Zaplecze rzadkiego przechowywania komórek rozrasta teraz bufor każdego bloku 256 wierszy geometrycznie (podwajając) zamiast realokacji przy każdej dołączanej komórce, usuwając kwadratowy koszt kopiowania przy ładowaniu gęstych arkuszy
Wersja 2.259.0
Naprawiono
- Rekordy ochrony obiektów arkusza BIFF8 (
OBJECTPROTECT) i ochrony scenariuszy (SCENARIOPROTECT) są teraz odczytywane z powrotem do stanu ochrony arkusza, więc flagi blokady przetrwają pełny cykl zamiast być zapisywane, ale tracone przy ponownym ładowaniu - Rekordy globali skoroszytu BIFF8
MMS,RefreshAlliUseSelFSsą teraz zachowywane przez pełny cykl zamiast być po cichu porzucane
Wersja 2.258.0
Dodano
- Sformatowany tekst wyświetlany rozpoznaje teraz dyrektywy kolorów
[Cyan]i[Magenta]oraz indeksowane dyrektywy palety od[Color1]do[Color8], więc sformatowane wyjście w stylu HTML stosuje te kolory zamiast je porzucać
Wersja 2.257.0
Dodano
- Obliczanie formuł ocenia teraz funkcje inżynieryjne i matematyczne
FACTDOUBLE,SQRTPI,DELTA,GESTEP,SERIESSUMiCONVERT, przy czymCONVERTobejmuje jednostki masy, odległości, czasu, ciśnienia, siły, energii, mocy, magnetyzmu, temperatury i objętości oraz odrzuca niedopasowane kategorie jednostek
Wersja 2.256.0
Naprawiono
- Sformatowany tekst wyświetlany renderuje teraz minuty poprawnie w maskach czasu takich jak
hh:mm,mm:ssi[h]:mm:ss; wcześniej używane byłomm(miesiąc) Delphi, więc pola minut pokazywały numer miesiąca - Dyrektywy regionalne i walutowe takie jak
[$-409]i[$$-1009]są teraz usuwane z sformatowanego wyjścia zamiast przeciekać jako dosłowny prefiks$-409, podczas gdy symbol waluty obecny w dyrektywie jest zachowywany
Wersja 2.255.0
Dodano
- Odczyt pakietów ZIP rozumie teraz archiwa ZIP64, parsując rozszerzone pole informacji dodatkowych oraz rekord i lokalizator ZIP64 końca katalogu centralnego, więc skoroszyty, których części lub przesunięcia przekraczają klasyczne limity 4 GB / 65535 wpisów, otwierają się poprawnie zamiast zawodzić kontrolę spójności końca katalogu centralnego
Wersja 2.254.0
Bezpieczeństwo
- Weryfikacja hasła zaszyfrowanych skoroszytów porównuje teraz skrót weryfikatora w czasie stałym zarówno dla szyfrowania Agile, jak i Standard, zamykając kanał boczny czasu, który mógł ujawnić, ile wiodących bajtów skrótu hasła jest zgodnych
- Szyfrowanie Agile nie korzysta już z fallbacku do generatora pseudolosowego z ziarnem czasowym dla soli, weryfikatorów i kluczy pośrednich, gdy systemowy CSPRNG jest niedostępny; kończy się teraz niepowodzeniem w trybie zamkniętym zamiast emitować przewidywalny materiał kluczy
Wersja 2.253.0
Dodano
- Obliczanie formuł ocenia teraz funkcje kształtowania tablic programu Excel 365
VSTACK,HSTACK,TOROW,TOCOL,WRAPROWS,WRAPCOLS,TAKE,DROP,CHOOSECOLS,CHOOSEROWS,EXPAND,RANDARRAYiTEXTSPLIT, rozlewając ich wyniki przez istniejący mechanizm tablic dynamicznych - Obliczanie formuł ocenia teraz nowoczesne funkcje tekstowe
TEXTBEFOREiTEXTAFTERz obsługą numeru wystąpienia, braku rozróżniania wielkości liter, dopasowania końca oraz braku wyniku - Obliczanie formuł ocenia teraz
RANDBETWEEN,ISEVEN,ISODDoraz aliasFORECAST.LINEARfunkcjiFORECAST
Wersja 2.252.0
Dodano
- Nazwy zdefiniowane niosą opcjonalny komentarz, przechodzący pełny cykl jako rekord BIFF8 NAMECMT i atrybut
commentelementudefinedNameOOXML - Cele hiperłączy do plików lokalnych są normalizowane (konwersja ukośników odwróconych na zwykłe, prefiksy
file://ifile:///, kodowanie procentowe znaków zastrzeżonych), więc Excel przechowuje je dosłownie - Rodzaje wypełnień kształtów, obrazów i pól tekstowych (jednolite, obraz, gradient, brak, automatyczne) są teraz typizowane nad surową właściwością typu wypełnienia i wiernie przechodzą pełny cykl
- Paski danych formatowania warunkowego obsługują niezależne kolory obramowania paska dla wartości ujemnych z programu Excel 2010+
- Pola pamięci podręcznej tabel przestawnych przechodzą pełny cykl powiązania grupowania dat i liczb na wielu poziomach
- Wywołania zwrotne funkcji użytkownika otrzymują deskryptor rodzaju argumentu, dzięki czemu procedury obsługi mogą rozróżniać wartości literałów, odwołania do komórek lub zakresów oraz stałe tablicowe
- Kompilacja formuł akceptuje zlokalizowane nazwy funkcji (niemieckie, francuskie, hiszpańskie), przepisywane na kanoniczny angielski przed analizą leksykalną
- Pomocnicze funkcje haseł i szyfrowania udostępniają nazwane stałe kodów powrotnych
Zmieniono
- Zapisy pakietów i XLSX przepływają teraz przez większe bufory deflate z wyższym poziomem pamięci kompresji i pomijają zbędny przebieg sumy kontrolnej nad już skompresowanymi bajtami, zmniejszając zużycie procesora i czas rzeczywisty zapisu
- Wewnętrzny wzrost konstruktorów łańcuchów, list i tablic haszujących używa teraz geometrycznej (podwajającej) alokacji wraz z wcześniejszym punktem zmiany rozmiaru hasza, obniżając rotację alokacji i koszt wyszukiwania, gdy skoroszyt niesie wiele stylów, nazw, zdefiniowanych zakresów lub ciągów współdzielonych
- Wyszukiwania w tablicy ciągów współdzielonych porównują teraz bezpośrednio przechowywane bajty przed materializacją pełnego łańcucha, ograniczając alokacje wyszukiwań w dużych tablicach ciągów współdzielonych
Wersja 2.251.0
Naprawiono
- Odczyt i zapis XLSX zachowują teraz obce deklaracje przestrzeni nazw w korzeniu skoroszytu, atrybuty zgodności znaczników, kompletne ładunki
<extLst>na poziomie skoroszytu oraz ich nieznane relacje podczas regenerowania typizowanego stanu skoroszytu; zachowane odwołaniar:idpodążają za ponownym przypisaniem identyfikatorów relacji zamiast stawać się nieaktualnymi, gdy kolidują z wygenerowanymi relacjami arkuszy lub skoroszytu
Wersja 2.250.0
Zmieniono
- Rzadkie wpisy wierszy XLSX przechowują teraz tylko swoją kolumnę i stabilny uchwyt komórki, eliminując nieużywane znaczniki ładunku oraz nadmiarową klasyfikację i drugie wyszukiwanie indeksu wiersza za każdym razem, gdy zmienia się wartość komórki, formuła lub obiekt tekstu sformatowanego
Wersja 2.249.0
Dodano
- Przeciążenia
TXLSRTFImport.LoadFromRTFiTXLSWorksheet.OpenRTFmogą importować tabele lub listy akapitów w jawnym docelowym wierszu i kolumnie liczonym od jedynki, podczas gdy oryginalne przeciążenia nadal zaczynają od A1
Zmieniono
- Typizowane pisarze wierszy XLSX dołączają teraz ściśle postępujące partie bezpośrednio do wstępnie rozmiarowanych rzadkich wektorów wierszy, a wyszukiwanie rzadkich komórek rozstrzyga trafienia pierwszej i ostatniej kolumny bez wyszukiwania binarnego, podczas gdy zapisy nakładające zachowują istniejącą ścieżkę zastępowania i stabilne uchwyty komórek
Naprawiono
- Kopiowanie nieprzetworzonych części XLSX z pliku i selektywne ładowanie arkuszy używają teraz prywatnej tożsamości archiwum źródłowego z walidacją rozmiaru i znacznika czasu, więc późniejsze otwarcie strumienia lub publiczne przypisanie
FileNamenie może przekierować zachowanych części do innego skoroszytu RefreshPivotCacheprzełącza teraz odświeżone pamięci podręczne na typizowaną serializację, więc odbudowane rekordy nie mogą zostać nadpisane przez nieaktualne surowe bajty pakietu podczas zapisu- Surowe kopiowanie skompresowanych elementów ZIP wymaga teraz, aby strumień źródłowy zawierał dokładnie zadeklarowaną liczbę skompresowanych bajtów, odrzucając zarówno wpisy obcięte, jak i zbyt długie przed rejestracją w katalogu centralnym
- Ponowne użycie jednego importera RTF resetuje teraz stan parsera strony kodowej i formatu znaków między dokumentami, więc pogrubienie, kursywa, podkreślenie, przekreślenie i rozmiar czcionki nie mogą przeciec do następnego importu
- Otwarcia XLSX w trybie
MetadataOnlypomijają teraz nieprzezroczyste ładunki ciągów współdzielonych, osób, relacji arkuszy, komentarzy, rysunków, wykresów, tabel, tabel zapytań, tabel przestawnych i osiągalnych z arkusza, zachowując właściwości skoroszytu, nazwy, stany arkuszy, style, motyw, połączenia i łącza zewnętrzne
Wersja 2.248.0
Zmieniono
- Zapis XLSX SaveAs kopiuje teraz niezmienione części
connections.xmlz pakietu źródłowego w postaci surowej, gdy sparsowany model połączeń jest niezmieniony, zachowując wierność XML źródła i unikając zbędnej dekompresji i rekompresji, nadal przepisując edytowane połączenia z typizowanego modelu
Wersja 2.247.0
Zmieniono
- Zapis XLSX SaveAs kopiuje teraz niezmienione części XML łączy zewnętrznych i relacji z pakietu źródłowego w postaci surowej, gdy sparsowany model jest niezmieniony, zachowując nieznane XML rozszerzeń i unikając zbędnej dekompresji i rekompresji, nadal przepisując edytowane łącza z typizowanego modelu
Wersja 2.246.0
Dodano
- Przeciążenia
TXLSHTMLImport.LoadFromHTMLmogą importować w docelowym wierszu i kolumnie liczonym od jedynki, wybierać jedną tabelę najwyższego poziomu liczoną od zera lub wszystkie tabele oraz analizować liczby z jawnym separatorem dziesiętnym bez zmiany globalnych ustawień formatu
Zmieniono
- Ładowanie stylów XLSX rozstrzyga teraz każdy styl komórki przez współdzieloną niezmienną tablicę cellXf zamiast powtarzanego tworzenia kluczy łańcuchowych i liniowych wyszukiwań w mapie, skracając czas otwierania stylizowanych skoroszytów i tymczasowe alokacje
Naprawiono
- Zmodyfikowane bajty projektu VBA omijają teraz zachowane kopiowanie surowych części, więc zapis edytowanego skoroszytu z włączonymi makrami nie może przywrócić oryginalnego ładunku
vbaProject.bin - Surowe kopiowanie elementów ZIP odrzuca teraz metody kompresji inne niż STORE i DEFLATE zamiast emitować niezgodny nagłówek kompresji, umożliwiając wywołującym użycie bezpiecznej dekompresji i ścieżek zastępczych przepisywania
- Import HTML ignoruje teraz znaczniki wierszy i komórek poza tabelami najwyższego poziomu i zachowuje ustalone zachowanie wszystkich tabel oryginalnych przeciążeń
Wersja 2.245.0
Dodano
- Edytowalne komórki
TXLSWorkbookViewerz wejściem świadomym chronionych komórek, wprowadzaniem i przeliczaniem formuł, prostokątnym zaznaczaniem zakresów, wybieraniem odwołań do formuł oraz ograniczoną cykliczną historią cofania i ponawiania TXLSPivotDesignerzapewnia wielokrotnie używalny niewizualny model listy pól ze strefami wierszy, kolumn, filtrów i wartości, deterministycznym przesuwaniem pól, wyborem agregacji, walidacją układu i zastosowaniem wyników- Klasyczne skoroszyty XLS zapewniają teraz diagnostykę
CalculateAndVerifyze współdzielonymi rekordami niezgodności zawierającymi tożsamość arkusza, współrzędne komórek liczone od jedynki, wartości buforowane i świeżo obliczone oraz tekst formuły - Klasyczne arkusze XLS i XLSX zapewniają teraz typizowane pisarze wierszy i kolumn numeryczne, łańcuchowe i wariantowe ze współrzędnymi liczonymi od jedynki, przycinaniem do granic siatki, bezpośrednimi zapisami modelu komórek i zwracaną liczbą zapisów
Zmieniono
- Malowanie przeglądarki XLSX zachowuje teraz rzadkie arkusze, unikając materializacji pustych komórek podczas przemalowania i rozstrzygania stylów
TXLSXWorksheet.ReplaceTextodwiedza teraz przechowywane komórki bezpośrednio w czasie liniowym bez kopiowania i sortowania kompletnej kolekcji komórek
Naprawiono
- Odczyt i zapis klasycznych XLS RC4 i RC4 CryptoAPI zachowują teraz każde ciało rekordu tekstu jawnego wymagane przez
[MS-XLS], utrzymująBoundSheet8.lbPlyPosniezaszyfrowane, konsumują pasujące pozycje strumienia klucza i aktywują deszyfrowanie przed odczytem pierwszego zaszyfrowanego rekordu poFILEPASS - Serializacja SpreadsheetML stosuje teraz symetryczny kodek
_xHHHH_tylko do pól Xstring, podczas gdy formuły i składnia odwołań używają zwykłego escapowania XML, więc literały w kształcie tokenów zachowują dokładne znaczenie formuły
Wersja 2.244.0
Dodano
- Import ze schowka w wielu formatach:
XLSPasteFromClipboardRichpreferuje format schowka XML Spreadsheet (przenoszący formuły, style i scalenia) zamiast zwykłego tekstu Unicode, zXLSClipboardHasXmlSpreadsheet,XLSGetClipboardXmlSpreadsheetiXLSParseXmlSpreadsheetdo wykrywania formatu, ekstrakcji i analizowania SpreadsheetML 2003
Wersja 2.243.0
Dodano
- Zewnętrzne nazwy zdefiniowane:
TXLSXExternalLinkanalizuje teraz, przechowuje i przeprowadza pełny cykl wpisów<definedNames>(nazwa + refersTo) z łączy zewnętrznych skoroszytów, zAddDefinedName,FindDefinedNamei indeksowanym dostępemDefinedNames[] - Stan niepowodzenia odświeżania per arkusz: każdy
TXLSXExternalSheetDataniesie flagęRefreshError, która rejestruje, czy ostatnia próba odświeżania nie powiodła się, analizowaną z atrybuturefreshErrori emitowaną do niego
Wersja 2.242.0
Dodano
TXLSXWorkbook.PreserveRawPartskopiuje skompresowaną reprezentację niezmienionych części (motyw, projekt VBA, tabele przestawne i pamięci podręczne tabel przestawnych) bezpośrednio z archiwum źródłowego podczas SaveAs, unikając dekompresji i rekompresji zachowanych nieprzezroczystych wpisów
Wersja 2.241.0
Dodano
- Właściwość
TXLSXWorkbook.SelectedSheetsumożliwia selektywne ładowanie arkuszy: Open analizuje XML komórek tylko dla arkuszy wymienionych na liście, podczas gdy pozostałe arkusze zachowują swoje nazwy i stany widoczności z zerową liczbą komórek. WywołajLoadSheet(Index), aby zmaterializować pominięty arkusz na żądanie z oryginalnego archiwum
Wersja 2.240.0
Dodano
- Tryb otwierania
TXLSXWorkbook.MetadataOnlyanalizuje właściwości skoroszytu, nazwy zdefiniowane, nazwy i stany widoczności arkuszy, style, motyw, połączenia i łącza zewnętrzne, ale pomija cały XML komórek arkuszy i części satelitarne dla szybkiego wykrywania właściwości i nazw z dużych skoroszytów
Wersja 2.239.0
Dodano
- Zwarte przechowywanie komórek w blokach 256 wierszy ze stabilnymi publicznymi uchwytami, serializacją przyjazną dla pamięci podręcznej w kolejności wierszy i kompakcją stylów we wszystkich pulach skoroszytu przed każdym zapisem
- Przedziałowe nakładki stylów pozwalają formatowaniu wierszy, kolumn i prostokątów pozostać zwartym bez materializowania pustych obiektów komórek, rozstrzygają się leniwie przy dostępie do komórki, przetrwają edycje strukturalne i przechodzą pełny cykl jako zwarte wpisy komórek kolumn, wierszy i wyłącznie stylów
Zmieniono
- Zwykły zapis skoroszytu strumieniuje teraz każdy wiersz arkusza bezpośrednio do strumienia deflate pakietu, więc szczytowa pamięć podąża za największym pojedynczym wierszem zamiast za kompletnym XML arkusza
- Ciągi współdzielone i pomocnicze części XML strumieniują teraz jeden wpis na raz przez pojedynczy wielokrotnie używalny serializator UTF-8, ograniczając szczytową pamięć przez największy wpis zamiast przez całą część
Wersja 2.238.0
Dodano
TXLSPaginationModelbuduje wielokrotnie używalne strony logiczne dla zakresów, arkuszy i skoroszytów XLS oraz XLSX z geometrią papieru, marginesami, nagłówkami, stopkami, pasmami wierszy i kolumn, powtarzanymi tytułami, kolejnością stron, polityką linii siatki i rozmieszczeniami rysunkówTXLSWorkbookViewerzapewnia teraz podgląd wydruku ze współdzielonym modelem, nawigację po stronach klawiaturą i kółkiem przewijania, buforowany dostęp doPaginationModel, jawneRefreshPaginationoraz wyjście EMF wybranej stronyTXLSPDFExport.CreatePaginationModeludostępnia dokładny należący model stron używany przez liczenie i renderowanie PDF dla wszystkich sześciu typów wejściowych XLS i XLSX
Zmieniono
- Eksport PDF i liczenie stron korzystają teraz z jednego silnika paginacji zamiast utrzymywać oddzielne pętle stron XLS i XLSX
- Skalowanie dopasowania do szerokości i wysokości rozstrzyga teraz względem rzeczywistych pasm stron, w tym ręcznych podziałów i powtarzanych tytułów, w zakresie skalowania Excela od 10% do 400%
Wersja 2.237.0
Dodano
TXLSFormulaDebuggertworzy należącą interaktywną sesję zawierającą sparsowane drzewo wyrażeń, zakresy źródłowe, operatory, węzły i wartości operandów, wyniki pośrednie, deterministyczną kolejność oceny oraz nawigowalny stan bieżącego kroku- Sesje debugowania formuł udostępniają zależności komórek i zakresów z rozstrzygniętymi współrzędnymi arkuszy, raportują wybrane i pominięte gałęzie dla
IF,IFERROR,IFNA,CHOOSE,IFSiSWITCHoraz zachowują odzyskane błędy wewnętrzne z ich węzłem pochodzenia
Zmieniono
Calculateskoroszytu i arkusza zwraca teraz niepowodzenia formuł Excela jako standardowe wartości błędówVariantzamiast konwertować je naNullTXLSFormulaTracerrejestruje teraz dokładne stosy operandów przed i po dla kroków push i redukcji
Wersja 2.236.0
Dodano
TXLSXWorksheet.StructuralEditRegistryumożliwia teraz metadanym arkusza należącym do aplikacji udział w wstawianiach lub usuwaniach wierszy i kolumn przezIXLSXStructuralEditParticipant
Zmieniono
- Edycje strukturalne XLSX kończą teraz swoją wrażliwą na odwołania pracę w jednej chronionej transakcji obejmującej formuły, nazwy, walidacje, formaty warunkowe, komentarze, hiperłącza, rysunki, tabele, zapytania, scenariusze, tabele danych, ustawienia drukowania, przebiegi iskrowe, pamięci podręczne i widoki tabel przestawnych oraz rozszerzenia arkuszy
Naprawiono
- Wstawione lub usunięte wiersze i kolumny aktualizują teraz chronione zakresy, kotwice komentarzy w wątkach, ponownie otwarte VML klasycznych komentarzy, lokalne i międzyarkuszowe odwołania przebiegów iskrowych, typizowane źródła i kotwice tabel przestawnych, obliczane formuły przestawne oraz rozpoznawalne odwołania wewnątrz zachowanych XML rozszerzeń arkuszy
Wersja 2.235.0
Dodano
TXLSDirectWriterdodaje teraz klasyczne komentarze, zakotwiczone obrazy arkuszy, wykresy kolumnowe, słupkowe, liniowe, obszarowe, kołowe, pierścieniowe i punktowe oparte na formułach oraz kompletne ChartML dostarczone przez wywołującego bez konstruowania pełnego modelu obiektów skoroszytu- Obrazy mogą być dostarczane jako bajty, przeszukiwalne strumienie z opcjonalnym przekazaniem własności lub ścieżki plików i mogą używać zawartości PNG, JPEG, GIF, BMP, EMF lub WMF
Zmieniono
- Rozbudowane części pisarza bezpośredniego używają deskryptorów kanału bocznego bieżącego arkusza, przypisują identyfikatory relacji arkusza przed zamknięciem arkusza i strumieniują multimedia oraz powiązane części XML po XML arkusza, aby utrzymać pamięć wierszy niezależną od rozmiaru arkusza
Wersja 2.234.0
Dodano
TXLSDirectReaderudostępnia teraz opcjonalne zdarzenia wymiarów, formatu arkusza, kolumn, wierszy, paneli i scalonych zakresów z typizowanymi rekordami układu- Zdarzenia kolumn i wierszy raportują szerokości lub wysokości, stan ukrycia i zwinięcia, poziomy konspektu oraz indeksy stylów źródłowych bez konstruowania obiektów komórek arkusza
Zmieniono
- Przypisane wywołania zwrotne układu używają przebiegu metadanych o ograniczonej pamięci przed dostarczaniem komórek, zapewniając, że scalone zakresy i inne fakty układu docierają przed komórkami, które od nich zależą, podczas gdy zwykłe skany wyłącznie komórek zachowują oryginalną ścieżkę jednoprzebiegową
- Równoległe odczyty bezpośrednie utrzymują wywołania zwrotne układu na wątku wywołującym i kończą metadane wybranych arkuszy przed opróżnieniem uporządkowanych kolejek komórek pracowników
Wersja 2.233.0
Dodano
TXLSXChartTextStylezapewnia teraz typizowane nazwy czcionek tytułu wykresu, legendy, tytułu osi i etykiet osi, rozmiary punktów, kolory RGB, wyróżnienie i obrót tekstuTXLSXChartLayoutzapewnia teraz znormalizowane ręczne pozycjonowanie obszaru wykresu, tytułu wykresu, tytułu osi i legendy z jawnymi trybami krawędzi lub współczynnika oraz celami wykresu wewnętrznymi lub zewnętrznymi- Wykresy udostępniają teraz typizowaną widoczność legendy, pozycję, nakładanie, styl tekstu i kontrolki układu wraz z ustawieniami nakładania tytułu wykresu
Zmieniono
- Ręczne układy zawsze serializują kompletne grupy x, y, szerokości i wysokości przy użyciu domyślnych trybów zgodnych z Office, więc Excel nie odrzuca częściowych lub sprzecznych współrzędnych
Naprawiono
- Edycja typizowanych czcionek lub układów wykresu zachowuje niezwiązane listy rozszerzeń i niestandardową zawartość przestrzeni nazw, podczas gdy wyczyszczenie znanej właściwości koloru lub wyróżnienia nie przywraca już zaimportowanej wartości podczas scalania strukturalnego
Wersja 2.232.0
Dodano
TXLSXImageudostępnia teraz krawędzie kadrowania oparte na procentach, przezroczystość, jasność, kontrast, obrót w stopniach oraz tryby wypełnienia rozciąganiem lub kafelkowaniemTXLSXImage.HasPreservedXmlraportuje, czy zaimportowany DrawingML jest dostępny, podczas gdyClearPreservedXmlwybiera jeden obraz do czystej regeneracji typizowanego modelu
Zmieniono
- Wartości efektów obrazów używają zwartego przechowywania stałoprzecinkowego i zapisują natywne jednostki DrawingML bez alokowania obiektów pomocniczych per efekt
Naprawiono
- Edycja obsługiwanej właściwości na zaimportowanym obrazie zachowuje teraz niezwiązane rozszerzenia, wybory zgodności znaczników, atrybuty niestandardowe, efekty kształtów i treści kwalifikowane przestrzenią nazw
Wersja 2.231.0
Dodano
- Zaimportowane wykresy XLSX zachowują teraz swój oryginalny ChartML, gdy włączone jest
TXLSXWorkbook.PreserveUnsupportedParts, zatrzymując nieznane przestrzenie nazw, alternatywy zgodności znaczników, listy rozszerzeń, style niestandardowe i niemodelowane formatowanie TXLSXChart.HasPreservedXmlraportuje, czy oryginalny ChartML jest dostępny, aClearPreservedXmlpozwala aplikacjom wybrać jeden wykres do czystej regeneracji typizowanego modelu
Zmieniono
- Zapis nietkniętego zaimportowanego wykresu odtwarza jego oryginalny ChartML, podczas gdy edycje obsługiwanych właściwości strukturalnie nakładają tylko modelowane węzły wykresu i utrzymują niezwiązaną zawartość na miejscu
Naprawiono
- Edycja tytułu wykresu, serii, osi lub innej obsługiwanej właściwości nie odrzuca już niezwiązanych rozszerzeń utworzonych w Excelu, treści alternatywnych, stylów ani formatowania z części wykresu
Wersja 2.230.0
Dodano
TXLSXChart.AddPlotGroupbuduje teraz uporządkowane wykresy kombinowane, których rodziny wykresów i serie zachowują niezależne przypisania osi głównej lub pomocniczej- Wykresy udostępniają teraz główne i pomocnicze osie kategorii i wartości oraz oś serii, z typizowanymi ustawieniami osi kategorii, wartości, daty i serii, obejmującymi pozycje, identyfikatory, przecięcia, jednostki daty, odstępy etykiet i widoczność
- Wykresy kolumnowe, słupkowe, liniowe, kołowe i obszarowe mają teraz dedykowane typy wykresów 3D z konfigurowalnym obrotem, wysokością, głębią, perspektywą, osiami pod kątem prostym i głębią odstępu
- Serie udostępniają teraz typizowane pamięci podręczne łańcuchowe i numeryczne dla nazw, kategorii, wartości i rozmiarów bąbelków, w tym rzadkie indeksy punktów i kody formatów numerycznych
Zmieniono
- Kompatybilne API
ChartType,AddSeriesi płaskieSeriesnadal odnoszą się do głównej grupy wykresu, podczas gdy model wykresu zachowuje każdą uporządkowaną grupę wykresu
Naprawiono
- Otwieranie i ponowne zapisywanie wykresów kombinowanych nie zwija ich już w jedną rodzinę wykresów ani nie gubi osi pomocniczych, daty lub serii
- Odwołania do formuł wykresów i buforowane wartości serii przetrwają teraz kopie skoroszytów oraz cykle otwierania i zapisu bez spłaszczania lub odrzucania
- Kotwice wykresów są teraz dopasowywane do swoich części wykresów po identyfikatorze relacji, więc aplikacje zmieniające kolejność wpisów relacji nie zamieniają już zawartości wykresów między pozycjami arkuszy
Wersja 2.229.0
Dodano
TXLSXWorksheet.HeaderFooterImagesteraz tworzy, znajduje, zastępuje i usuwa typizowane gniazda obrazów dla każdej lewej, środkowej i prawej pozycji nagłówka lub stopki na stronach nieparzystych, parzystych i pierwszych- Obrazy nagłówków i stopek udostępniają swoje surowe dane, format, tytuł, wymiary w punktach i marginesy w punktach, z bezpośrednim ładowaniem z plików PNG, JPEG, GIF, BMP, EMF i WMF
Zmieniono
- Obrazy stron parzystych i pierwszej strony automatycznie włączają odpowiednie warianty stron i utrzymują wymagane kody pól obrazów, gdy tekst nagłówka lub stopki jest edytowany
Naprawiono
- Komentarze arkusza i obrazy nagłówków lub stopek teraz zachowują niezależne relacje VML, gdy współdzielą jeden arkusz
- Gniazda obrazów nagłówków i stopek utworzone w Excelu teraz zachowują swoje bajty obrazu, formaty, tytuły, wymiary, marginesy i relacje przez cykle otwierania i zapisywania
Wersja 2.228.0
Dodano
- Klasyczne arkusze XLS i kolekcje kształtów teraz tworzą i odkrywają typizowane kontrolki
TXLSButtoniTXLSRadioButtonobok pól wyboru, pól kombi i pól listy - Kontrolki formularzy teraz udostępniają nazwy makr, połączone komórki, zakresy wejściowe, stany zaznaczenia, płaski lub 3D wygląd oraz łącza grup opcji za pomocą typizowanych właściwości
- Zdefiniowane nazwy udostępniają
IsMacro, aby powiązania makr zachowywały wymagane metadane nazwy skoroszytu
Naprawiono
- Edycja i ponowne zapisywanie klasycznych kontrolek formularzy nie porzuca już stanów zaznaczenia, powiązań makr, formuł połączonych komórek, zakresów źródłowych ani obsługiwanych metadanych grup opcji
- Czyszczenie zakresu źródłowego pola kombi lub pola listy teraz usuwa zserializowaną formułę wejściową zamiast przywracać poprzedni zakres przy następnym otwarciu
Wersja 2.227.0
Dodano
LINESTiLOGESTteraz zwracają kompletne wielozmiennowe tablice współczynników oraz opcjonalne pięciowierszowe macierze statystyczneTRENDiGROWTHteraz zwracają uformowane tablice prognoz dla wejść jednoczynnikowych i wielozmiennowych
Zmieniono
- Arytmetyka tablic, porównania, konkatenacja, negacja jednoargumentowa i operacje procentowe teraz rozgłaszają skalary oraz pojedyncze wiersze lub kolumny, zachowując wyniki dla każdej komórki
- Zależności obliczeń teraz rozszerzają zagnieżdżone nazwy skoroszytów i arkuszy, nazwy zdefiniowane formułami i odniesienia wieloobszarowe z ochroną cykli świadomą zakresu
Naprawiono
- Błąd w jednym elemencie tablicy nie powoduje już zawalenia pełnego wyniku ani błędnie nie wraca do oceny skalarnej
- Nazwy zdefiniowane formułami, których zależności można rozwiązać statycznie, nie wymuszają już niepotrzebnego pełnego przeliczenia nietrwałego
Wersja 2.226.0
Dodano
- Istniejące pamięci podręczne pivot XLSX i widoki tabel przestawnych teraz ładują się do modelu typizowanego przez relacje pakietu, w tym rekordy pamięci podręcznej, pola, elementy współdzielone, grupowanie, filtry, formaty, definicje obliczane i rozszerzenia
TXLSPivotTable.Maketeraz ocenia obliczane pola pamięci podręcznej, obliczane elementy i obliczane elementy członkowskie danych z wiązaniem nazw świadomym zależności- Rozszerzone tryby
ShowDataAsdodają procenty nadrzędne, procenty skumulowane i rangę rosnącą lub malejącą z prawidłowym znacznikiem rozszerzenia XLSX
Zmieniono
- Generowanie wyników pivot teraz stosuje widoczność elementów, wybory stron oraz filtry podpisów, dat, agregacji i wartości przed budową grupowanych domen
- Grupy liczbowe, daty i dyskretne, sortowanie według etykiety lub wartości danych, skonfigurowane sumy częściowe oraz opcjonalne zmaterializowane wiersze lub kolumny sum końcowych teraz uczestniczą w generowaniu wyników
Naprawiono
- Filtry pivot teraz używają prawidłowego dla schematu znacznika filtru poziomu głównego i symbolicznych typów filtrów zamiast niejednoznacznych wartości liczbowych
- Ładowanie oparte na relacjach nie zakłada już konwencjonalnych ani sekwencyjnych nazw części pamięci podręcznej pivot, rekordu pamięci podręcznej lub tabeli przestawnej
Wersja 2.225.0
Dodano
TXLSXWorkbook.ConnectionsiTXLSXWorksheet.QueryTableszapewniają teraz typowane tworzenie i edycję metadanych zewnętrznych baz danych, sieci, tekstu i wyników zapytań- Parametry połączenia zachowują swój dokładny rodzaj Boolean, liczbę całkowitą, zmiennoprzecinkową, łańcuch lub odwołanie do komórki, w tym jawne wartości zero, false i pusty łańcuch
Zmieniono
- Otwieranie i zapisywanie XLSX teraz rozwiązuje i zapisuje części połączeń i tabel zapytań poprzez ich relacje właścicielskie, synchronizuje tabele wyników i zdefiniowane nazwy oraz zachowuje nieznane atrybuty, węzły podrzędne i listy rozszerzeń
- Edycje wierszy i kolumn utrzymują zakresy wyników zapytań wyrównane, podczas gdy kopie arkuszy w tym samym skoroszycie i między skoroszytami zachowują własność zapytań oraz ponownie mapują identyfikatory połączeń i nazwy w konflikcie
Naprawiono
- Tabele zapytań mogą współistnieć z tabelami standardowymi, komentarzami wątkowymi i tabelami przestawnymi bez kolizji identyfikatorów relacji arkusza lub skoroszytu
Wersja 2.224.0
Dodano
- Klasyczne arkusze XLS i nowoczesne arkusze XLSX udostępniają teraz
AddDataTableiDataTablesdla tabel danych What-If o jednej zmiennej dla wiersza, jednej zmiennej dla kolumny oraz dwóch zmiennych
Zmieniono
- Przeliczanie skoroszytu ocenia każdy wynik tabeli danych w izolowanym kontekście wejściowym, w tym pośrednie zależności formuł, i zachowuje definicje oraz wyniki w pamięci podręcznej podczas otwierania, zapisywania, kopiowania arkusza oraz strukturalnych edycji wierszy lub kolumn
Naprawiono
- Usunięte komórki wejściowe What-If dają teraz wyniki
#REF!, a klasyczne przeliczanie skoroszytu odwiedza każdy arkusz zamiast pomijać pierwszy arkusz - Wstawianie wierszy u góry klasycznego arkusza nie stwarza już ryzyka naruszenia dostępu w systemie Win64
Wersja 2.223.0
Zmieniono
- Anulowanie równoległego czytnika bezpośredniego propaguje się teraz przez aktywne odczyty elementów ZIP i każdy krok dekompresji, zamiast czekać na następne pociągnięcie XML
Naprawiono
- Przerywanie równoległego skanowania arkusza nie czeka już na zakończenie dużego odczytu skompresowanego XML, zanim zablokowani pracownicy zostaną zwolnieni
Wersja 2.222.0
Dodano
TXLSDirectReader.ParallelBufferMemoryLimitogranicza zagregowany ładunek kolejki surowych komórek dla równoległego skanowania arkuszy, podczas gdyParallelPeakBufferedBytesudostępnia zmierzone maksimum do diagnostyki i testów pojemności
Zmieniono
- Równoległe odczyty bezpośrednie przesyłają teraz strumieniowo wpisy ZIP arkusza do czytników XML lokalnych dla pracownika oraz ograniczonych kolejek producent-konsument, zamiast zachowywać całkowicie rozpakowany XML arkusza i pełne bufory komórek dla każdego arkusza
- Aktywne arkusze otrzymują niezależne budżety kolejek i są przetwarzane w oknach o rozmiarze pracownika, zachowując kolejność wywołań zwrotnych bez pozwalania późniejszym arkuszom wygłodzić arkusz aktualnie emitowany
Naprawiono
- Przerwania komórek, błędy wywołań zwrotnych i błędy pracownika budzą teraz zablokowanych producentów i konsumentów, współoperacyjnie zatrzymują pociągnięcia XML, dołączają wszystkich pracowników i pozostawiają czytnik bezpośredni ponownie użyteczny
Wersja 2.221.0
Zmieniono
- Otwieranie wieloarkuszowego pliku XLSX przesyła teraz strumieniowo każdy wpis ZIP arkusza bezpośrednio do jego dekompresora i czytnika XML lokalnych dla pracownika, zamiast zachowywać rozpakowany XML arkusza przed analizą
- Równoległe czytniki arkuszy serializują tylko krótkie odczyty pozycyjne ze źródła pakietu, więc dekompresja i analiza XML pozostają równoległe, podczas gdy przejściowa pamięć wejściowa arkusza jest ograniczona liczbą aktywnych pracowników
Wersja 2.220.0
Dodano
- Generowanie wyników tabeli przestawnej wykonuje teraz wszystkie dziewięć klasycznych trybów
ShowDataAs, w tym różnicę, procent elementu bazowego, różnicę procentową, sumę narastającą, procent wiersza, procent kolumny, procent całości i obliczenia indeksu xlPivotBaseItemPreviousixlPivotBaseItemNextzapewniają typowane selektory dla sąsiadujących elementów bazowych w obliczeniach porównawczych
Zmieniono
- Wartości procentowe i indeksowe tabeli przestawnej używają sum częściowych wierszy, kolumn i sum końcowych agregowanych bezpośrednio z rekordów źródłowych, zachowując poprawną semantykę średniej, iloczynu, liczby, wariancji i odchylenia standardowego bez ponownego skanowania źródła
- Sumy narastające są zgodne z kolejnością elementów tabeli przestawnej, resetują się niezależnie dla każdej grupy równorzędnej i zachowują rzadki magazyn wyników dla tabel przestawnych o wysokiej kardynalności
Naprawiono
- Rekordy BIFF8
SXDIużywają teraz standardowego 14-bajtowego stałego układu i zachowująShowDataAs, pole bazowe, element bazowy, format liczbowy i nazwę wyświetlaną poprzez typowane odczyty, podczas gdy starsze rekordy HotXLS pozostają czytelne - Pola danych XLSX zapisują teraz indeksy pól tabeli przestawnej, mapują selektory poprzedni i następny na wymagane wartości OOXML oraz emitują atrybuty bazowe tylko dla trybów, które ich używają
- Brakujące komórki porównawcze pozostają puste, podczas gdy obecne zerowe mianowniki zwracają
#DIV/0!zamiast być mylone z brakującymi danymi
Wersja 2.219.0
Naprawiono
VDBstosuje teraz amortyzację malejącego salda w okresach ułamkowych, przełącza się na amortyzację liniową, gdy jest to korzystne, i uwzględniano_switch- Zerowe współczynniki, granice wartości końcowej, ułamkowe okresy początkowe i nieprawidłowe zakresy okresów są teraz zgodne z wynikami zgodnymi z programem Excel zamiast zaokrąglać okresy i zwracać uproszczone przybliżenie malejącego salda
Wersja 2.218.0
Dodano
TXLSXWorksheet.Scenarioszapewnia teraz typowane tworzenie menedżera scenariuszy What-If z nazwanymi scenariuszami, indeksami aktywnymi i wyświetlanymi, zakresami komórek zmieniających, metadanymi użytkownika i komentarza, stanami zablokowanym i ukrytym oraz należącymi wartościami komórek wejściowych- Definicje scenariuszy są teraz zgodne z kopiami arkuszy i edycjami strukturalnymi wierszy lub kolumn, podczas gdy limity zgodności z programem Excel są walidowane przed zapisaniem nieprawidłowych metadanych
Naprawiono
- Otwieranie i zapisywanie scenariuszy utworzonych w programie Excel zachowuje teraz atrybuty główne i zagnieżdżone komórki wejściowe zamiast spłaszczać hierarchię do stratnego surowego kodu XML
- Elementy arkusza scenariuszy, autofiltru, konsolidacji danych, scalonych komórek i fonetyki używają teraz kolejności schematu, dzięki czemu rygorystyczni konsumenci arkuszy kalkulacyjnych nie wymagają przebiegu naprawy
Wersja 2.217.0
Dodano
TXLSXWorksheet.IgnoredErrorszapewnia teraz typowane tworzenie dla każdej standardowej kategorii ignorowanych błędów z odwołaniami wieloobszarowymi, obsługą kopiowania arkuszy, aktualizacjami edycji strukturalnej oraz podróżami w obie strony przy otwieraniu/zapisywaniuTXLSXWorkbookudostępnia teraz tryb odwołań, przeliczanie przy zapisywaniu, pełną precyzję, obliczenia współbieżne oraz ustawienia ręcznej współbieżności obok istniejących opcji obliczeń
Naprawiono
- Każde nie-domyślne ustawienie obliczeń skoroszytu teraz niezależnie tworzy i poddaje podróży w obie strony element
calcPruporządkowany według schematu, w tym granice iteracji skonfigurowane przed włączeniem iteracji - Tryby obliczeń, tryby odwołań, granice iteracji, identyfikatory obliczeń i liczniki ręcznej współbieżności teraz odrzucają lub normalizują nieprawidłowe wartości zamiast zapisywać niejednoznaczny stan skoroszytu
Wersja 2.216.0
Zmieniono
XMATCHiXLOOKUPwykonują teraz logarytmiczne, rosnące lub malejące wyszukiwania binarne na żądanie, w tym granice duplikatów i dopasowań przybliżonych zgodne z ExcelemXIRRuwzględnia teraz swoją wartość początkową za pomocą zabezpieczonego solvera potrafiącego znaleźć pierwiastki wysokie i wrażliwe na tę wartość, podczas gdyXNPVstosuje sumowanie skompensowane oraz zwalidowane wejścia dat i stóp- Wyszukiwanie zdefiniowanych nazw XLSX o wysokiej kardynalności korzysta teraz z leniwego, uwzględniającego zakres indeksu skrótu, zachowując kolejność serializacji, pierwszeństwo nazw lokalnych oraz zachowanie pierwszego dopasowania
- Zachowywane części pakietu XLSX przydzielają teraz zadeklarowany rozmiar nieskompresowany jednokrotnie, zachowując pełną weryfikację długości i CRC
Naprawiono
- Nieprawidłowe tryby wyszukiwania, wyszukiwania binarne z symbolami wieloznacznymi, dwuwymiarowe zakresy wyszukiwania oraz niezgodne wektory zwracane
XLOOKUPzgłaszają teraz błędy formuły zamiast dawać niejednoznaczne wyniki XIRRiXNPVodrzucają teraz nieprawidłowe znaki przepływów pieniężnych, stopy, wartości początkowe i daty, obcinają ułamkowe numery seryjne dat oraz zgłaszają brak zbieżności zamiast zwracać niezweryfikowaną wartość środkową
Wersja 2.215.0
Dodano
FREQUENCYzwraca teraz pionową tablicę z jednym wynikiem na przedział plus przedział przepełnienia
Zmieniono
SORTstosuje teraz stabilne, skalowalne porządkowanie wierszy lub kolumn, zachowując kolejność źródłową równych kluczyUNIQUEkorzysta teraz ze stabilnego dopasowania indeksowanego skrótami dla wierszy lub kolumn, w tym wynikówexactly_onceoraz tekstu niezależnego od wielkości literPERCENTRANK.INC,PERCENTRANK.EXCiMODE.MULTskalują się teraz efektywnie na wejściu o wysokiej kardynalności, zamiast polegać na skanowaniach kwadratowych
Naprawiono
- Opcja
by_colwSORTiUNIQUEdziała teraz na kolumnach, zamiast wracać do zachowania dla wierszy
Wersja 2.214.0
Dodano
- Otwieranie XLSX akceptuje teraz przesyłane strumieniowo fragmenty XML w UTF-16 little-endian i big-endian ze znacznikiem kolejności bajtów lub wymaganą deklaracją specyficzną dla kolejności bajtów, w tym znaki spoza Podstawowej Płaszczyzny Wielojęzycznej
Zmieniono
- Odświeżenia pamięci podręcznej PivotTable o wysokiej kardynalności korzystają teraz z deterministycznych indeksów skrótów dla wartości współdzielonych i przydzielają macierz rekordów jednokrotnie, zachowując kolejność elementów wg pierwszego wystąpienia i unikając powtarzających się wyszukiwań liniowych oraz przyrostu wiersz po wierszu
- Projekcyjne odczyty bezpośrednie odrzucają komórki spoza wybranych wierszy i kolumn, zanim skopiują surowe wartości, formuły i tekst sformatowany do buforów poszczególnych arkuszy
Naprawiono
- Zniekształcony XML ze zduplikowanymi znacznikami kolejności bajtów, nieobsługiwanymi lub sprzecznymi deklaracjami kodowania, sygnaturami UTF-32, nieparzystymi długościami bajtów UTF-16 albo nieprawidłowymi parami zastępczymi jest teraz odrzucany
- Równolegli pracownicy odczytu bezpośredniego inicjują teraz cały stan zadań przed startem, przestają przyjmować nowe zadania arkusza po awarii, deterministycznie zgłaszają ponownie błąd zadania o najniższym indeksie i usuwają każdego utworzonego pracownika, gdy budowa puli się nie powiedzie
Wersja 2.213.0
Dodano
T.TESTocenia teraz próby niezależne ze skumulowaną równą wariancją lub nierówną wariancją Welcha, oprócz prób sparowanych, w tym prawdopodobieństwa jedno- i dwuostronne
Zmieniono
- Otwieranie XLSX podąża teraz za celami relacji skoroszytu, arkusza i rysunku dla arkuszy, ciągów współdzielonych, stylów, motywów, makr, połączeń zewnętrznych, komentarzy, komentarzy wątkowych, VML, rysunków, obrazów, wykresów, tabel i PivotTable, w tym poprawnymi pakietami używającymi zmienionych lub nieciągłych ścieżek części
Naprawiono
- Zniekształcone pakiety ze zduplikowanymi identyfikatorami relacji nie pozwalają już późniejszej nieobsługiwanej relacji zastąpić pierwszego użytecznego celu podczas odzyskiwania zgodności
Wersja 2.212.0
Zmieniono
- Śledzenie zależności formuł skaluje się teraz lepiej na dużych arkuszach dzięki indeksowaniu zależności komórek i zakresów przed przebudową oraz unieważnieniem brudnych komórek
- Duże formuły statystyczne i regresyjne oceniają teraz każdą wartość liczbową w podanych zakresach, zamiast zatrzymywać się na poprzednim buforze stałego rozmiaru
Naprawiono
- Komórki XLSX poza siatką arkusza są spójnie odrzucane, tak aby nieprawidłowe współrzędne nie mogły już aliasować poprawnych komórek
- Edycja formuł nie resetuje już trybu obliczania skoroszytu, limitów iteracji, flag pełnego przeliczenia ani innych ustawień obliczeń
- Odczyty listy blobów walidują teraz jawnie żądane zakresy i pozwalają na poprawne puste wycinki na końcu strumienia
Bezpieczeństwo
- Klasyczne szyfrowanie XLS obejmuje teraz strumienie pamięci podręcznej tabel przestawnych wraz z danymi arkusza
- Zniekształcone ogony rozszerzeń SST i rekordy katalogu centralnego ZIP są odrzucane przed nadmiernym przydziałem pamięci, uciętymi odczytami lub osadzonymi w komentarzu fałszywymi rekordami katalogu, które mogłyby wpłynąć na ładowanie
Wersja 2.211.0
Dodano
TXLSPivotTable.Makematerializuje teraz każde skonfigurowane pole danych z własną agregacją i rozwija wartości w wierszach lub kolumnach zgodnie zDataFieldAxisIsRow
Zmieniono
- Generowanie wyniku tabeli przestawnej ponownie wykorzystuje indeksowane skrótami domeny kluczy wierszy i kolumn dla wszystkich pól danych, wybiera pamięć akumulatora gęstą lub rzadką na podstawie kształtu wyniku, zachowuje kolejność elementów pamięci podręcznej powyżej dziewięciu kluczy i emituje czytelne połączone etykiety dla osi wielopolowych
Naprawiono
Countuwzględnia teraz niepusty tekst, wartości logiczne, błędy, daty oraz liczbowe wartości pamięci podręcznej, podczas gdyCountNumsuwzględnia tylko wartości liczbowe i daty,Productzwraca zero dla przecięć bez wartości liczbowych, puste komórki nie są już liczone jako wpisy, a tabele przestawne tylko z wartościami mogą materializować swoje sumy końcowe bez pól wierszy lub kolumn
Wersja 2.210.0
Dodano
TXLSWorkbookViewerrenderuje teraz warunkowe wypełnienia XLSX, kolor i wyróżnienie czcionki, formaty liczbowe, kierunkowe dodatnie i ujemne paski danych, gradienty, obramowania, osie, ukryte wartości oraz wszystkie wbudowane rodziny zestawów ikonTXLSWorkbookViewer.RefreshConditionalFormatsprzebudowuje przygotowany zagregowany stan i stan progów po tym, jak wywołujący zmodyfikuje podłączony skoroszyt XLSX w miejscu
Zmieniono
- Przeglądarka buforuje jeden przygotowany ewaluator formatowania warunkowego na aktywny arkusz, ponownie wykorzystuje go podczas przewijania, zaznaczania i odświeżania oraz zwalnia go, gdy skoroszyt lub arkusz się zmienia
Naprawiono
- Osie pasków danych na prawej granicy są teraz przycinane wewnątrz komórki właściciela zamiast rysować się w sąsiedniej komórce
Wersja 2.209.0
Dodano
- Arkusze XLSX udostępniają teraz przygotowany ewaluator formatowania warunkowego, który rozstrzyga priorytet reguły,
StopIfTrue, formuły względne, style różnicowe, ranking Top/Bottom, testy powyżej/poniżej średniej, wartości zduplikowane i unikalne, względne okresy dat, skale dwu- i trójkolorowe, paski danych oraz zestawy ikon dla dowolnej komórki
Zmieniono
- Eksport HTML i PDF renderuje teraz pasujące wypełnienia warunkowe, wyróżnienie i kolor czcionki, formaty liczbowe, skale kolorów, kierunkowe dodatnie i ujemne paski danych, jawne osie, glify rodzin ikon, ukryte wartości oraz kolory motywu z rozstrzyganiem odcienia
- Duże domeny formatowania warunkowego ponownie wykorzystują teraz skompilowane formuły względne bez alokacji drzewa składniowego dla każdej komórki, strumieniują statystyki średniej, odchylenia, minimum i maksimum, zachowują uporządkowane wartości tylko dla reguł rankingu lub percentyla, sortują partiami klucze zduplikowane Unicode oraz korzystają z indeksów kandydatów pasm wierszy, aby uniknąć skanowania niepowiązanych reguł
Naprawiono
- Klasyczne reguły warunkowe ładują teraz poprawnie typy wyrażeń i spójnie oceniają odwrócone między granicami, predykaty tekstu niezależne od wielkości liter, puste komórki oraz predykaty błędów
Wersja 2.208.0
Zmieniono
- Silnik spakietowanego magazynu komórek zapisuje teraz natywne ładunki typu string, logicznego, błędu i puste, iteruje komórki w kolejności wiersz-główny i stosuje kodowanie RLE dla kolejnych komórek równego typu, co zmniejsza zużycie pamięci i przyspiesza sekwencyjny zapis
- Ciągi współdzielone klasycznego skoroszytu przechowują teraz bajty znaków w jednej alokacji i tworzą wartości zdekodowane leniwie, ograniczając narzut alokacji dla dużych tabel unikalnych ciągów
Dodano
- Tabele przestawne potrafią teraz obliczać kompletną macierz wyników z rekordów pamięci podręcznej z grupowaniem kluczy wierszy i kolumn oraz wszystkimi 11 obsługiwanymi funkcjami agregującymi
- Wykresy klasycznego skoroszytu udostępniają teraz typowane informacje o seriach, osiach, legendzie i grupie wykresu dla przepływów konwersji i inspekcji
Wersja 2.207.0
Dodano
TXLSPivotCache.RefreshFromSourcebuduje pamięć podręczną tabeli przestawnej z zakresu arkusza źródłowego: odczytuje wiersz nagłówka, aby nazwać pola, wyodrębnia różne wartości każdego wiersza danych do domeny elementów współdzielonych w polu, blokuje typ pola z pierwszej niepustej wartości i zapisuje indeks elementu współdzielonego dla każdej pary (rekord, pole) — tak aby tabelę przestawną można było utworzyć programowo z zakresu danych, zamiast polegać narefreshOnLoadprogramu Excel. Oparty na wywołaniach zwrotnych czytnik wartości utrzymuje jednostkę tabeli przestawnej wolną od bezpośredniej zależności od arkusza
Wersja 2.206.0
Dodano
- Nowy
TlxCellMMU(modułlxCellMMU) implementuje spakietowany, wiersz-główny silnik magazynu komórek z kodowaniem RLE dla ciągów komórek równego typu i pustych oraz kodem typu znacznika bajtu, który pełni jednocześnie funkcję selektora szerokości danych — tak aby kolumna małych liczb całkowitych kosztowała jeden bajt na komórkę zamiast ośmiu. Silnik koduje liczby w najmniejszej szerokości zachowującej wartość (int8 / int16 / int32 / liczby całkowite skalowane 2-miejscowe / 4-miejscowe / IEEE double), przechowuje komórki indeksu ciągów, logiczne, błędu i puste w sposób zwarty oraz udostępnia APIGetValue/SetNumber/SetStringwraz z iteratorem do przodu. Jest to nowej generacji zaplecze ukryte za flagą funkcji dla istniejącego APITXLSXCells, dążące do 10–25-krotnego zmniejszenia zestawu roboczego na gęstych arkuszach
Wersja 2.205.0
Dodano
TXLSCustomChart.GetChartInfodekoduje teraz podsumowanie semantyczne ze surowego strumienia rekordów wykresu BIFF — rodzina typu wykresu (słupkowy, liniowy, kołowy, warstwowy, punktowy, radarowy, pierścieniowy, powierzchniowy, bąbelkowy), liczba serii oraz obecność legendy — tak aby typ wykresu BIFF można było odpytać programowo, a konwersja wykresu BIGH-do-XLSX mogła wybrać właściwą rodzinę docelową. Magazyn typu byte-passthrough gwarantujący wierność round-trip pozostaje niezmieniony
Wersja 2.204.0
Zmieniono
- Klasyczna tabela ciągów współdzielonych
.xlszapisuje teraz ciągi wyłącznie ASCII w skompresowanym kodowaniu Latin-1 ([MS-XLS] §2.5.294fHighByte=0, jeden bajt na znak) zamiast zawsze używać UTF-16, co około dwukrotnie zmniejsza rozmiar SST — a więc i pliku.xls— dla skoroszytów z przewagą ASCII
Wersja 2.203.0
Dodano
- Nowy
TlxCompoundFileodczytuje i zapisuje format kontenera Compound File Binary (OLE2) bezpośrednio w czystym Pascalu, bez zależności odole32.dll/ COMIStorage— otwierając drogę do obsługi.xlsw pamięci i wieloplatformowej. Czytnik obejmuje układ v3, z którym HotXLS spotyka się w praktyce (nagłówek + DIFAT w nagłówku + przejście łańcucha FAT + MiniFAT i mini-strumień dla strumieni poniżej 4096 bajtów + drzewo katalogów); moduł zapisu emituje minimalny, ale poprawny kontener v3 wystarczający dla wyjścia HotXLS
Wersja 2.202.0
Dodano
- Stan sortowania autofiltru ma teraz typowany model (
TXLSXSortStatez elementami podrzędnymiTXLSXSortCondition) obejmujący sortowanie według wartości / koloru komórki / koloru czcionki / ikony, metody sortowania (brak / stroke / pinYin), uwzględnianie wielkości liter, sortowanie kolumn oraz listy niestandardowe dla warunków — tak aby aplikacje mogły budować stany sortowania programowo zamiast edytować surowy XML, podczas gdy starsze nieprzezroczyste przejścieSortStateXmlnadal wygrywa dla plików nieautorstwa HotXLS - Filtry dynamiczne są teraz odczytywane i zapisywane jako typowany
TXLSXDynamicFilterType(powyżej/poniżej średniej i odchylenia standardowego, dziś/wczoraj/jutro, ten/pop/poprzedni tydzień, miesiąc, kwartał i rok, od początku roku, Q1–Q4, M1–M12) z opcjonalnymi granicamival/maxVal— otwarcie skoroszytu używającego filtru dynamicznego nie gubi go już przy zapisie
Wersja 2.201.0
Dodano
- Wykresy powierzchniowe i trójwymiarowe powierzchniowe (
xlsxChartSurface/xlsxChartSurface3D) są teraz pełnoprawnymi typami wykresów — zapisywanymi, odczytywanymi i round-tripowanymi jak pozostałe rodziny wykresów - API tworzenia autokształtów obejmuje praktyczny podzbiór listy ustawień geometrii OOXML — trójkąty, romby, równoległoboki, sześciokąty, ośmiokąty, strzałki, szewrony, objaśnienia, węzły schematów blokowych, gwiazdy, serca, słońce, księżyc, nawiasy i klamry — każdy mapowany na właściwy token
prsti identyfikator kształtu[MS-ODRAW], tak aby utworzone kształty renderowały się poprawnie w Excelu (pełna lista 187 ustawień była już zachowywana w round-trip poprzez przejście surowej kotwicy)
Wersja 2.200.0
Naprawiono
- Otwarcie skoroszytu, którego autofiltr używa filtru koloru lub filtru ikony, nie gubi już tego filtru przy zapisie —
colorFilteriiconFiltersą teraz odczytywane do typowanych kolumn (TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter) i emitowane ponownie dosłownie, zamiast być tracone jako nierozpoznane elementy podrzędne kolumny filtru
Wersja 2.199.0
Dodano
TCondFormatRule.Evaluateodpowiada, czy reguła formatowania warunkowego uruchamia się dla danej komórki, obejmując porównania wartości komórki, wyrażenia formuł, reguły tekstowe zawiera/zaczyna się/kończy, puste komórki oraz reguły błędów — podstawę do odpytywania, które komórki reguła aktualnie podświetla, oraz do renderowania wyników CF poza Excelem
Zmieniono
FACTi wewnętrzne funkcje pomocnicze silnię korzystają teraz z wstępnie obliczonej tabeli 0!..170! zamiast przeliczać iloczyn O(n) przy każdym wywołaniu, przyspieszającFACT, współczynniki wielomianowe oraz ścieżki rozkładów Poissona/dwumianowego/chi-kwadrat
Wersja 2.198.0
Zmieniono
- Zapisywanie arkusza grupuje teraz komórki w wiersze jednym przebiegiem liczenia-następnie-wypełniania zamiast powiększać indeks każdego wiersza przy realokacji na komórkę, usuwając ukryte kopiowanie O(komórki × komórek-na-wiersz) na dużych arkuszach
- Graf zależności formuł indeksuje teraz swoje zakresy odniesienia wg (arkusz, wiersz), tak że inicjowanie brudnej komórki wyszukuje binarnie pasmo kandydatów zamiast skanować każdą formułę przy każdej zmienionej komórce — im większy skoroszyt i im więcej arkuszy ma, tym większe przyspieszenie przy przeliczaniu
- Przejście komórek w kolejności wiersz-główny, posortowane kolumnami, jest teraz udostępnione jako
TXLSXWorksheet.BuildRowMajorCellOrder, tak że zapis, schowek, autofiltr i inni konsumenci uporządkowani wierszowo współdzielą jedno przejście zamiast ponownie je wyprowadzać
Wersja 2.197.0
Naprawiono
- Wykresy radarowe, giełdowe oraz pie-of-pie/bar-of-pie nie są już tracone, gdy skoroszyt
.xlsxzawierający je jest otwierany i ponownie zapisywany — czytnik wykresów rozpoznaje teraz elementy kontenerowec:radarChart,c:stockChartic:ofPieChart, które sam zapisuje, przywracając symetryczne pokrycie odczytu/zapisu SUBTOTALz kodami funkcji 101–111 wyklucza teraz wartości z ukrytych wierszy, aAGGREGATEuwzględnia teraz kody opcji ignorowania ukrytych wierszy (2, 3, 6, 7), zgodnie z Excelem, zamiast traktować warianty z uwzględnieniem i ignorowaniem ukrytych identycznie- Wywołanie wbudowanej funkcji o stałej arności większej liczby argumentów niż zadeklarowano (na przykład
=SIN(1,2)) zgłasza teraz centralnie#VALUE!zamiast być akceptowane przez dyspozytora
Wersja 2.196.0
Naprawiono
- Wstawianie i usuwanie wierszy oraz kolumn partycjonuje teraz warunkowe formaty wartości komórek i wyrażeń oraz walidacje danych, gdy edytowane obszary docelowe wymagają różnych kotwic formuł względnych, zachowując przy tym ustawienia reguł, przypisując unikalne priorytety formatowań warunkowych i utrzymując nienaruszone zagregowane domeny formatowań warunkowych
Wersja 2.195.2
Zmieniono
- Eksport PDF tworzy teraz podzbiór osadzonej czcionki TrueType poprzez API
CreateFontPackagebibliotekifontsub.dllsystemu Windows, zachowując tylko glify faktycznie wyrenderowane w dokumencie zamiast osadzać cały.ttf— zazwyczaj zmniejszając PDF 8–20-krotnie dla arkuszy obciążonych Unicode; w razie niedostępności podzbioru wraca do pełnego osadzenia
Wersja 2.195.1
Naprawiono
- Wstawianie lub usuwanie wierszy i kolumn w klasycznym silniku
.xlsprzepisuje teraz każde dotknięte odniesienie formuły (formuły komórek i zdefiniowane nazwy), aby dopasować się do semantyki Excela — odniesienia poniżej wstawienia przesuwają się, odniesienia w całości wewnątrz usuwania stają się#REF!, a obszary częściowo pokrywające się kurczą — zamiast pozostawiać nieaktualne współrzędne
Wersja 2.195.0
Zmieniono
- Usuwanie kolumn tabeli konwertuje teraz każdy dotknięty token odniesienia strukturalnego na
#REF!w formułach arkusza, formułach tabeli, zdefiniowanych nazwach i seriach wykresów, zachowując niezwiązane odniesienia i literały tekstowe
Naprawiono
- Usunięcie całej tabeli nie pozostawia już kwalifikowanych odniesień strukturalnych wskazujących na tabelę, która już nie istnieje
- Sklonowane walidacje danych zachowują teraz swój tryb wprowadzania IME
Wersja 2.194.0
Zmieniono
- Edycje wierszy i kolumn utrzymują teraz identyfikatory kolumn tabeli Excela, nazwy, formuły obliczane, formuły sum, kolumny filtru, zakresy filtru i warunki sortowania w zgodności z edytowaną tabelą
Naprawiono
- Formuły formatowania warunkowego i walidacji danych przebazowują teraz odniesienia względne i mieszane, gdy usunięcie usuwa ich pierwszy obszar docelowy
- Stany sortowania arkusza i tabeli zapisują teraz poprawne atrybuty i odrzucają warunki, których zakresy zostały usunięte
Wersja 2.193.0
Zmieniono
- Edycje wierszy i kolumn aktualizują teraz złożone i między-zakresowe formuły zdefiniowanych nazw, zakresy danych wykresów bąbelkowych oraz progi wizualnego formatowania warunkowego oparte na formułach
- Wykresy bąbelkowe i punktowe przywracają teraz swoje zakresy serii osi X, osi Y i rozmiaru bąbelka po ponownym otwarciu
Naprawiono
- Wieloobszarowe cele formatowania warunkowego i walidacji danych przesuwają teraz każdy przetrwały obszar niezależnie, zamiast pozostawiać pełną listę celów niezmienioną
- Kotwice pól tekstowych i obiektów WordArt przesuwają się lub zmieniają rozmiar wraz z wstawionymi i usuniętymi wierszami i kolumnami
Wersja 2.192.0
Dodano
- Strumieniowe odczyty bezpośrednie oraz przejście kursora wierszy mogą opcjonalnie korzystać ze strukturyzowanych ciągów sformatowanych z pełnym formatowaniem przebiegów, przebiegami fonetycznymi i właściwościami fonetycznymi, zachowując ograniczony magazyn ciągów współdzielonych
TXLSDirectWriter.WriteRichStringzapisuje sformatowany i fonetyczny tekst jako ciągi inline lub deduplikowane ciągi współdzielone
Zmieniono
- Deduplikacja sformatowanych ciągów współdzielonych rozróżnia teraz formatowanie przebiegów i metadane fonetyczne, utrzymując zwykłe internowanie ciągów na istniejącej szybkiej ścieżce
Naprawiono
- Tekst fonetyczny w ciągach inline nie jest już uwzględniany w wyświetlanej wartości komórki
Wersja 2.191.0
Dodano
TXLSXRange.SetDynamicArrayFormulatworzy teraz natywne formuły tablic dynamicznych z kompletnym łańcuchem metadanych XLDAPR programu Excel
Zmieniono
- Korzenie tablic dynamicznych współdzielą teraz jeden zdeduplikowany rekord metadanych skoroszytu, a kopie arkuszy lub zakresów między skoroszytami przemapowują ten rekord do skoroszytu docelowego
- Obsługiwane metadane tablic dynamicznych pozostają dostępne, gdy zachowywanie nieobsługiwanych części pakietu jest wyłączone, podczas gdy niezwiązane metadane wartości nadal są usuwane
Naprawiono
- Komórki rozlania tablic dynamicznych nie są już modelowane jako starsze naśladownice CSE, a zastąpienie lub wyczyszczenie korzenia nie zostawia już nieaktualnych indeksów metadanych
- Usunięcie ostatniego korzenia tablicy dynamicznej usuwa teraz nieużywaną część metadanych, relację skoroszytu i wpis typu zawartości
Wersja 2.190.0
Zmieniono
- Strumieniowe odczyty bezpośrednie oraz przejście kursora wierszy rozwijają teraz naśladownice formuł współdzielonych w kompletne formuły względne wobec komórki, zachowując projekcję i zachowanie ograniczonej pamięci
Naprawiono
- Skoroszyty tablic dynamicznych zachowują teraz indeksy metadanych komórek i wartości, atrybuty przeliczania formuł, relacje części pakietu metadanych oraz niezmienione prefiksy funkcji przyszłościowych podczas cykli otwarcia i zapisu
- Wyłączenie zachowywania nieobsługiwanych części nie zostawia już wiszących indeksów metadanych arkusza po usunięciu części metadanych
Wersja 2.189.0
Dodano
- Otwieranie skoroszytów XLSX rozwija teraz naśladownice formuł współdzielonych w kompletne formuły poszczególnych komórek z poprawnymi odniesieniami względnymi, bezwzględnymi, mieszanymi, zakresowymi i kwalifikowanymi arkuszem
Naprawiono
- Same-zamykające się naśladownice formuł współdzielonych nie przechwytują już późniejszego XML wartości lub formuły, a ich zbuforowane wyniki przetrwają cykle otwarcia i zapisu
- Formuły tablicowe CSE zachowują teraz swoją kotwicę i relacje naśladownic przez edycje struktury wierszy lub kolumn, kopie całego zakresu, duplikowanie arkusza oraz kopie arkuszy między skoroszytami
- Przypisanie zwykłej formuły lub wyczyszczenie komórki usuwa teraz przestarzałe członkostwo tablicy CSE, tak że obliczenia nie mogą być przekierowane do starej kotwicy tablicy
- Kopiowanie tylko części tablicy CSE nie tworzy już wiszących odniesień naśladownic w miejscu docelowym
- Kopie zakresów tworzą teraz migawkę nakładających się źródeł i przesuwają względne odniesienia formuł, zapobiegając nadpisaniu komórek źródłowych lub kotwic tablic przed ich skopiowaniem
- Edycje wierszy lub kolumn przecinające tylko część tablicy CSE są odrzucane zamiast cicho zmieniać rozmiar lub odłączać tablicę
Wersja 2.188.0
Dodano
TXLSDirectReader.SharedStringMemoryLimitogranicza zdekodowaną pamięć ciągów współdzielonych i automatycznie migruje większe tabele do indeksowanego magazynu tymczasowego typu usuń-przy-zamknięciu ze stałej wielkości pamięcią podręczną wartościTXLSRowCursor.SharedStringMemoryLimitudostępnia tę samą kontrolę ograniczonego magazynu ciągów współdzielonych dla przejścia wierszy tylko-do-przodu
Zmieniono
- Bezpośrednie parsowanie ciągów współdzielonych zachowuje teraz wartości składające się z samych białych znaków, CDATA, encje XML, znaki spoza BMP, puste elementy oraz kolejność przebiegów tekstu sformatowanego, wykluczając jednocześnie tekst przewodnika fonetycznego z wyświetlanej wartości
Naprawiono
- Otwieranie skoroszytów XLSX zachowuje teraz każdy element ciągu współdzielonego w kolejności dokumentu, zapobiegając zawaleniu się późniejszych indeksów komórek przez zduplikowany tekst lub inaczej sformatowane ciągi sformatowane
- Zapisywanie skoroszytów XLSX deduplikuje teraz ciągi sformatowane wg granic przebiegów i właściwości formatowania, zamiast tylko wg widocznego tekstu, zachowując różne formatowanie dla komórek o tej samej wyświetlanej wartości
Wersja 2.187.0
Dodano
TXLSDirectReader.FirstRowiLastRowograniczają strumieniowe odczyty do jednostkowego zakresu wierszy i zatrzymują parsowanie arkusza po żądanym zakresieTXLSDirectReader.IncludeColumniClearColumnProjectionzapewniają rzędu-stałą projekcję kolumn, która pomija niezaznaczone komórki przed dekodowaniem wartości i wysyłką wywołań zwrotnych
Wersja 2.186.0
Dodano
TXLSDirectWriter.UseSharedStringspotrafi deduplikować powtarzany tekst do części ciągów współdzielonych OOXML z dokładnymi liczbami całkowitą i unikalną, zmniejszając rozmiar pakietu dla danych obciążonych powtórzeniamiTSimpleDomReaderudostępnia zwarte, jednoprzebiegowe drzewo XML do losowego dostępu do zapytań o metadane skoroszytu i części pakietu, z uwzględniającym wielkość liter wyszukiwaniem QName i nazwy lokalnej
Zmieniono
- Bezpośrednie odczytywanie XLSX korzysta teraz z asystowanego skrótem dokładnego wysyłania elementów, jednorazowego zbierania atrybutów oraz rzędu-stałego wyszukiwania kolumny bieżącego wiersza, zachowując strumieniowe zachowanie pamięci
- Generowanie XML ciągów współdzielonych korzysta teraz z bufora o wzroście liniowym, aby uniknąć powtarzających się kopii całych ciągów przy dużych tabelach różnych ciągów
Naprawiono
- Eksport formuł CSV nie dodaje już drugiego znaku równości, gdy tekst formuły już go zawiera
- Eksport XLSX do PDF nie obcina już tekstu komórki przy użyciu oszacowania liczby znaków przed układem
- Skróty nazw czytnika XML śledzą teraz instrukcje przetwarzania, atrybuty oraz powroty do ich elementów właścicielskich bez eksponowania przestarzałego stanu elementu
Wersja 2.185.1
Naprawiono
- Wstawianie lub usuwanie wierszy i kolumn dostosowuje teraz lokalne i między-arkuszowe odniesienia formuł dokładnie raz, zachowując nazwy funkcji i literały tekstowe
Wersja 2.185.0
Dodano
TXLSPDFExportudostępnia teraz jednostkowy wybór wyjściaFirstPageiLastPage, kompletny logicznyPageCountoraz sześć przeciążeńCalculatePageCountdla klasycznych i XLSX zakresów, arkuszy oraz skoroszytów bez konstruowania obiektów stron PDFTXLSXWorkbook.SaveWorkbookAsHTMLpublikuje widoczne arkusze w jednym nawigowalnym dokumencie HTML ze stabilnymi kotwicami poszczególnych arkuszy, zneutralizowanymi tytułami i nazwami arkuszy oraz opcją uwzględnienia ukrytych lub bardzo ukrytych arkuszyTDataToXLS.BeforeRecordmoże pomijać rekordy przed zapisem wiersza, aBeforeValuemoże przekształcać lub pomijać wartości pól z kontekstem zbioru danych, poziomu szczegółu, pola źródłowego i kolumny eksportuTXLSWorkbookViewerudostępnia komentarze i hiperłącza zaznaczonej komórki, zgłasza sterowane przez aplikację zdarzenie hiperłącza, maluje wskaźniki komentarzy oraz czcionki, wypełnienia i wyrównanie XLSX, a także normalizuje zaznaczenie i renderowanie w obrębie scalonych zakresów
Zmieniono
- Przykład ConversionWorkbench potrafi teraz tworzyć wyjście PDF i publikuje wszystkie widoczne arkusze XLSX dla celów HTML, podczas gdy przykład WorkbookViewer demonstruje nawigację po scalonych komórkach, komentarze i aktywację hiperłączy
Wersja 2.184.0
Dodano
- Klasyczne zakresy XLS i XLSX mogą kopiować tekst tabelowy Unicode i sformatowany HTML do schowka Windows przez
CopyToClipboard, zachowując formuły, scalone komórki, łącza, formatowanie wyświetlania oraz bezpiecznie cytowane osadzone tabulatory, podziały wierszy i cudzysłowy TXLSXWorkbookzachowuje teraz niestandardowe części pakietu osiągalne z nieznanych relacji korzenia pakietu, skoroszytu, arkusza lub rysunku, w tym obsługę kolizji identyfikatorów relacji, typy zawartości, relacje podrzędne, wybór kompresji oraz dokładne bajty ładunku;PreserveUnsupportedParts,UnsupportedPartCount,UnsupportedPartBytesiClearUnsupportedPartsudostępniają kontrolę i diagnostykę- Klasyczne zapisy XLS udostępniają wywołania zwrotne początku, pracy i końca z anulowaniem przez
OnProgressEx, podczas gdyIXLSWorkbookProgresszapewnia strukturalną diagnostykę ze stabilnymi kodami, wagą, operacją, kontekstem arkusza, natywnymi wartościami zwrotnymi i szczegółami wyjątków TXLSXWorkbookudostępnia te same strukturalne powierzchnieDiagnostics,LastDiagnosticiOnDiagnosticdla raportowania zapisu, otwarcia, przeliczania, anulowania i wyjątków- Parsowane moduły VBA obsługują teraz edycję
SourceCodei zapisywanie zaktualizowanego skompresowanego strumienia modułu z powrotem przez klasyczny XLS, samodzielny magazyn VBA oraz zapisy OOXML z włączonymi makrami, zachowując prefiksy strumieni i nietkniętą zawartość projektu - Klasyczne arkusze i kolekcje kształtów udostępniają teraz typowane kontrolki formularza
TXLSCheckBox,TXLSComboBoxiTXLSListBoxz pomocnikami tworzenia, etykietami, inspekcją rodzaju kontrolki, kotwicami komórek, usuwaniem oraz wykrywaniem przy otwarciu/zapisie TXLSXRange.ApplyFormatPatchpotrafi selektywnie kopiować komponenty czcionki, wypełnienia, obramowania, formatu liczbowego, wyrównania i ochrony z kafelkowaniem wzorca źródłowego, zachowując wartości docelowe i niezaznaczone formatowanieTDataToXLSpotrafi rekursywnie eksportować połączone zbiory danych master-detail przezReadDetailTablesiIndentDetailTables, zachowując aktywne łącza danych, dołączając każdą tabelę szczegółów poniżej rekordu nadrzędnego i dziedzicząc opcje pól, tytułów i formatowania na każdym poziomieTXLSXWorksheet.AddWordArttworzy zakotwiczony w komórkach tekst DrawingML z ustawieniowym zniekształceniem oraz konfigurowalnym kolorem tekstu i konturu, a ścieżka zachowywania surowej kotwicy rysunku utrzymuje kompletny kształt WordArt w późniejszych cyklach otwarcia/zapisuTXLSWorkbookViewerdodaje przeglądarkę arkuszy VCL dla klasycznych i nowoczesnych obiektów skoroszytu z ładowaniem plików XLS, XLSX, XLSM, szablonów i ODS, sformatowanym tekstem komórek, klasycznymi stylami, rozmiarami wierszy i kolumn, nagłówkami, renderowaniem linii siatki i zaznaczenia, paskami przewijania, zaznaczaniem myszą, nawigacją klawiatury, pozycjonowaniem komórek, przełączaniem arkuszy oraz zdarzeniami zaznaczenia lub arkusza- Nowe przykłady Delphi
FeatureShowcaseiWorkbookViewerdemonstrują stylowany wydruk PDF, tytuły wydruku, ręczne podziały, klasyczne kontrolki formularza, selektywne łaty formatu, WordArt, diagnostykę, tworzenie przeglądarki w czasie działania, ładowanie plików, nawigację komórek, przełączanie arkuszy i zdarzenia przeglądarki, z dopasowanymi anglojęzycznymi przewodnikami i tematami odniesienia dla deweloperów
Zmieniono
- Klasyczny XLS oraz nowoczesny eksport PDF zakresów skoroszytu, arkusza i zakresu XLSX zapisuje teraz każdy widoczny arkusz do jednego dokumentu, pomija ukryte arkusze i arkusze wykresów, renderuje pełne wypełnienia, kolory i rozmiary czcionek, pogrubienie i kursywę, wyrównanie poziome i pionowe, jawne obramowania komórek oraz opcjonalne linie siatki arkusza, podąża za obszarem wydruku, rozmiarem papieru, orientacją, marginesami, powiększeniem, ustawieniem dopasowania-do-szerokości, szerokościami kolumn, rzeczywistymi wysokościami wierszy, ręcznymi podziałami stron wierszy i kolumn, powtarzanymi wierszami i kolumnami tytułowymi oraz trzyczęściowymi nagłówkami i stopkami z polami strony, całkowitej liczby stron, nazwy arkusza, daty i czasu, dzieli szerokie i wysokie zakresy na obie osie, emituje niezależny od ustawień regionalnych składnię liczb PDF i osadza kwalifikującą się czcionkę TrueType plus mapę ToUnicode dla tekstu spoza WinAnsi
- Rozszerzone wywołania zwrotne postępu XLSX otrzymują teraz niezawodne stany początku, pracy i końca dla zapisu, otwarcia i przeliczania, podczas gdy starsze wywołanie zwrotne pozostaje tylko-praca, a każda operacja resetuje poprzedni stan anulowania
- Klasyczna serializacja XLS propaguje teraz błędy arkusza, wykresu, rozszerzenia stylu, VBA, strumienia kontrolki, magazynu i zatwierdzenia wyjścia zamiast zgłaszać sukces, a zapisy plików przygotowują kompletny plik złożony przed atomowym zastąpieniem miejsca docelowego
- Zapisy plików XLSX i ODS budują teraz kompletny równoległy pakiet tymczasowy i atomowo zastępują miejsce docelowe dopiero po pomyślnym finalizowaniu, pozostawiając istniejące pliki niezmienione po anulowaniu lub awarii
Wersja 2.183.0
Dodano
TXLSDirectWriterobsługuje teraz wielokrotnego użytku uchwyty stylów komórek na poziomie pakietu oraz klonowanie stylów bez buforowania wierszy arkusza; ten sam indeks stylu można zastosować do dowolnej liczby komórek lub ponownie używać w wielu arkuszach- Bezpośrednie style komórek zapewniają 30 możliwości formatowania obejmujących nazwę i rozmiar czcionki, kolor BGR, pogrubienie, kursywę, przekreślenie, kontur, cień, pięć trybów podkreślenia, 19 wzorów wypełnienia z kolorami pierwszego planu/tła, pięć niezależnie pokolorowanych krawędzi obramowania z 14 stylami linii i kierunkami ukośnymi, wbudowane lub niestandardowe formaty liczbowe, wyrównanie poziome i pionowe, zawijanie, dopasowanie-do-rzędów, wcięcie, obrót tekstu, prefiksy cudzysłowu oraz ochronę zablokowane/ukryte
- Sformatowane przeciążenia są dostępne dla ciągów, liczb, wartości logicznych, dat, formuł, błędów oraz każdego typu wyniku zbuforowanej formuły, pozwalając eksporterom dużej objętości wybrać gotowy styl wg indeksu całkowitego podczas zapisów sekwencyjnych
Zmieniono
- Moduł bezpośredniego zapisu deduplikuje równe komponenty czcionki, wypełnienia, obramowania i formatu liczbowego podczas budowania
styles.xml, zachowując stabilne indeksy stylów komórek już zapisane w strumieniach arkusza - Generowane tabele stylów modułu bezpośredniego zapisu zawierają teraz standardowe domyślne wypełnienia
noneigray125przed wypełnieniami niestandardowymi dla ściślejszej zgodności z OOXML
Wersja 2.182.0
Dodano
TXLSDirectWriterzapisuje teraz formatowanie warunkowe, zachowując niezależny od liczby wierszy profil pamięci, z ośmioma operatorami wartości komórki, regułami wyrażeń, regułami tekstu zawiera/nie-zawiera/zaczyna się/kończy, regułami górnych lub dolnych wartości i procentów, regułami powyżej lub poniżej średniej, wartościami zduplikowanymi i unikalnymi, komórkami pustymi i niepustymi, komórkami błędu i bez błędu, paskami danych, skalami dwu- i trójkolorowymi oraz wszystkimi 17 rodzinami bazowych zestawów ikon- Bezpośrednie reguły formatowania warunkowego obsługują jawne priorytety, ocenę stop-if-true, opcje odchylenia standardowego średniej i równości, zastępowanie progów ikon, wyświetlanie tylko ikon i odwrócone, widoczność wartości pasków danych, kolory BGR oraz różnicowe style wypełnienia, koloru czcionki, pogrubienia i kursywy
Zmieniono
- Moduł bezpośredniego zapisu deduplikuje równoważne style różnicowe w obrębie arkuszy i przechowuje tylko reguły i style formatowania warunkowego, tak że zużycie pamięci skaluje się wraz z liczbą reguł, a nie liczbą wierszy arkusza
- Automatyczne rodzaje progów minimum i maksimum pasków danych są normalizowane do standardowych tokenów
minimaxw bazowym elemencie OOXML dla szerokiej zgodności z arkuszami kalkulacyjnymi
Wersja 2.181.0
Dodano
TXLSDirectWriterzapisuje teraz ochronę arkusza i skoroszytu bez buforowania danych arkusza, w tym 15 precyzyjnych uprawnień arkusza, starsze weryfikatory haseł, nowoczesne metadane skrótu, edytowalne chronione zakresy z opcjonalnymi hasłami lub deskryptorami bezpieczeństwa, blokady struktury i okna skoroszytu, przypisywanie surowego weryfikatora oraz czyszczenie ochrony
Naprawiono
- Nieobsługiwane kotwice rysunków zachowują teraz każdy element zamykający przy rekonstrukcji dla wyjścia round-trip, tak że rysunki zawierające tylko kształty pozostają poprawnie uformowane po otwarciu i zapisie
- Uprawnienia ochrony arkusza XLSX podążają teraz za definicją flagi zablokowania OOXML, tak że dozwolone akcje zapisują
0, zabronione akcje zapisują1, a pominięte atrybuty otwierają się z wartościami domyślnymi schematu - Starsze hasła arkusza XLSX, chronionego zakresu i skoroszytu używają teraz zgodnego z Excelem algorytmu weryfikatora 16-bitowego z konwersją ANSI i limitem 15 bajtów
Wersja 2.180.0
Dodano
- Model arkusza XLSX round-tripuje teraz elementy Menedżera scenariuszy What-If (
<scenarios>) i Konsolidacji danych (<dataConsolidate>). Nowe właściwości surowego XMLScenariosXmliConsolidateXmlwTXLSXWorksheetniosą treść wewnętrzną dosłownie — moduł zapisu emituje elementy otoki, a czytnik parsuje z powrotem elementy podrzędne scenariusza/konsolidacji danych. Pliki modelowania finansowego definiujące scenariusze lub konsolidacje nie tracą już ich w round-trip
Wersja 2.179.0
Dodano
- Nowa funkcja pomocnicza
XlsxBuildNumFmtkonstruuje kody formatów liczbowych OOXML z właściwości semantycznych —Decimals,Thousands(separator),NegativeRed(czerwone ujemne),CurrencySymboliPercent. Wywołujący nie muszą już pisać ręcznie ciągów formatu takich jak"$#,##0.00;[Red]-$#,##0.00"— budowniczy wytwarza je z prostych parametrów. Zaprojektowana do użycia zCell.NumberFormatlubWorkbook.NumberFormats.Add
Wersja 2.178.0
Dodano
- Model arkusza XLSX round-tripuje teraz nazwę kodową VBA (
<sheetPr codeName="..."/>), istotną dla interoperacyjności VBA, gdzie projekt VBA odnosi się do arkuszy wg nazwy kodowej. Nowa właściwośćCodeNamewTXLSXWorksheet - Komentarze obsługują teraz przełącznik widoczności
AlwaysShowwTXLSXComment— gdy True dymek komentarza jest zawsze widoczny (przełącznik "Pokaż/Ukryj komentarz" programu Excel dla komentarza), a nie tylko po najechaniu - Walidacja danych round-tripuje teraz atrybut trybu IME (
imeMode) wTXLSXDataValidation. Jedenaście-wartościowa wyliczenie kontroluje zachowanie metody wprowadzania CJK przy wprowadzaniu komórki (noControl / off / on / hiragana / fullKatakana / itd.). Istotne dla plików w ustawieniach regionalnych japońskich/koreańskich/chińskich - Model arkusza zyskuje właściwość
PaneStatedla atrybutu stanu okna na<pane>poza istniejącą obsługą trybu zamrożenia — obsługuje stanyfrozenSplit(zamrożone-następnie-przewijalne) isplit
Wersja 2.177.0
Dodano
- Trzy wcześniej zarejestrowane, ale niezaimplementowane funkcje arkusza mają teraz pełną wysyłkę:
DOLLAR(tekst sformatowany walutowo),FIXED(tekst o stałych dziesiętnych z opcjonalnym pominięciem przecinka) iAREAS(liczba obszarów w odniesieniu). Wcześniej były one zarejestrowane wInitFuncHash, ale nie miały przypadku w silniku obliczeń — ewaluacja=DOLLAR(...)po cichu zwracała błędne wyniki - Model arkusza XLSX round-tripuje teraz skale powiększenia poszczególnych typów widoku (
zoomScaleNormal/zoomScalePageLayoutView/zoomScaleSheetLayoutView), kolor linii siatki (sheetView color) oraz flagi wyświetlania widoku arkusza (showFormulas/showZeros). Nowe właściwości wTXLSXWorksheet:ZoomNormal,ZoomPageLayout,ZoomSheetLayout,GridColor,ShowFormulas,ShowZeros - Kierunek podsumowania konspektu round-tripuje teraz. Nowe właściwości
SummaryBelow,SummaryRightiShowOutlineSymbolswTXLSXWorksheetkontrolują, czy wiersze/kolumny podsumowania pojawiają się poniżej/prawo od szczegółów oraz czy symbole konspektu są widoczne. Moduł zapisu emituje<outlinePr>wewnątrz<sheetPr>; czytnik parsuje to z powrotem - Element calcPr skoroszytu niesie teraz atrybuty
forceFullCalcicalcCompletedobok istniejącej trójkicalcId/fullCalcOnLoad/calcMode/iterate
Wersja 2.176.0
Dodano
- Silnik formuł XLSX rozstrzyga teraz zidentyfikowane odniesienia tabeli przed kompilacją. Nowa metoda
ResolveStructuredRefswTXLSXWorkbookskanuje tekst formuły w poszukiwaniu wzorcówTableName[ColumnSpec]i zastępuje je konkretnymi odniesieniami zakresu A1 przy użyciu kolekcjiTXLSXTableskoroszytu. Obsługiwane specyfikacje obejmują zakres danych kolumny (Sales[Qty]), kolumnę bieżącego wiersza (Sales[@Total]), pełne dane (Sales[#Data]/Sales[#All]), nagłówki (Sales[#Headers]) oraz wiersz sum (Sales[#Totals]). Rozstrzyganie uruchamia się automatycznie wewnątrzGetCompiledFormula— istniejące formuły pozostają nienaruszone, ponieważ identyfikatory nietabelowe są zostawione dosłownie. Wcześniej odniesienia strukturalne powodowały niepowodzenie kompilacji formuły
Wersja 2.175.0
Dodano
- Silnik formuł obsługuje teraz kompilację formuł w stylu odniesienia R1C1. Nowa metoda
GetCompiledFormulaR1C1wTXLSCalculator(orazGetCompiledR1C1wTXLSFormula) przyjmuje formułę zapisaną w notacji R1C1 (R2C3dla bezwzględnej,R[-1]C[2]dla względnej,RCdla bieżącej komórki) i kompiluje ją, najpierw konwertując na notację A1 przy użyciu wiersza/kolumny komórki formuły. Samodzielna funkcjaR1C1ToA1wykonuje konwersję — wykrywa znacznikiR/C, które są samodzielne (nie są częścią nazwy funkcji jak ROUND), parsuje opcjonalne przesunięcia w nawiasach i wytwarza równoważne odniesienie A1. Literały tekstowe i identyfikatory są pomijane. Wcześniej kompilować można było tylko formuły w stylu A1
Wersja 2.174.0
Dodano
- Wyjście AutoFiltr
TXLSDirectWriterobsługuje teraz kolumny filtru arkusza i tabeli, filtry wartości, filtry puste, filtry grup dat, filtry porównania niestandardowe, filtry dynamiczne, filtry górne/dolne, flagi przycisków filtru, stany sortowania, warunki sortowania, ucieczki XML oraz tłumienie zduplikowanych zakresów filtru arkusza/tabeli podczas strumieniowania plików XLSX
Wersja 2.173.0
Dodano
- Wyjście tabeli
TXLSDirectWriterobsługuje teraz komentarze tabeli, liczby wierszy sum, etykiety wiersza sum dla kolumn, funkcje wiersza sum dla kolumn, formuły kolumn obliczanych, formuły wiersza sum oraz ucieczki XML dla metadanych kolumn tabeli podczas strumieniowania plików XLSX
Wersja 2.172.0
Dodano
TXLSDirectWriterzapisuje teraz części tabel Excela podczas strumieniowania plików XLSX, w tym relacje tabel arkusza, typy zawartości części tabeli, zakresy tabeli, nazwy kolumn, flagi wiersza nagłówka i wiersza sum oraz flagi wyświetlania wbudowanego stylu tabeli bez budowania pełnego modelu obiektowego skoroszytu
Wersja 2.171.0
Dodano
TXLSDirectWriterzapisuje teraz walidacje danych arkusza podczas strumieniowania plików XLSX, w tym listy, liczby całkowite, dziesiętne, daty, czasu, długości tekstu, formuły niestandardowe, dowolnesqref, monity, alerty błędów, flagi pozwalaj-puste, listy rozwijane oraz komunikaty wejścia/błędu bez budowania pełnego modelu obiektowego skoroszytu
Wersja 2.170.0
Dodano
TXLSDirectWriterzapisuje teraz zdefiniowane nazwy skoroszytu i lokalne dla arkusza podczas strumieniowania plików XLSX, w tym ukryte nazwy, komentarze, generowane zakresy bezwzględne, obszary wydruku, wiersze tytułów wydruku, kolumny tytułów wydruku, połączone tytuły wydruku, cytowane odniesienia nazw arkuszy, ucieczki XML oraz semantykę zastępowania dla powtarzających się ustawiaczy nazw wydruku bez budowania pełnego modelu obiektowego skoroszytu
Wersja 2.169.0
Dodano
TXLSDirectWriterzapisuje teraz hiperłącza arkusza podczas strumieniowania plików XLSX, w tym relacje zewnętrznych URL, mailto i plików, wewnętrzne lokalizacje arkuszy, tekst wyświetlany, podpowiedzi, zakresy hiperłączy pojedynczych lub wielu komórek, normalizację nagich URLwww., ucieczki XML oraz zakodowane procentowo cele relacji bez budowania pełnego modelu obiektowego skoroszytu
Wersja 2.168.0
Dodano
TXLSDirectWriterzapisuje teraz metadane wydruku i widoku arkusza podczas strumieniowania plików XLSX, w tym przełączniki wyświetlania linii siatki i nagłówków wierszy/kolumn, marginesy strony, tekst nieparzystego nagłówka/stopki, linie siatki i nagłówki wydruku, wyśrodkowanie strony, rozmiar papieru i orientację poziomą, wymiary dopasowania-do-strony oraz ręczne podziały stron wierszy lub kolumn bez budowania pełnego modelu obiektowego skoroszytu
Wersja 2.167.0
Dodano
TXLSDirectWriterzapisuje teraz metadane układu arkusza podczas strumieniowania plików XLSX, w tym domyślne rozmiary wierszy i kolumn, niestandardowe szerokości kolumn, ukryte wiersze i kolumny, scalone zakresy, zakresy AutoFiltru, zamrożone okienka, kolory kart arkuszy oraz widoki arkusza od prawej-do-lewej bez budowania pełnego modelu obiektowego skoroszytu
Wersja 2.166.0
Dodano
- Strumieniowe przepływy pracy XLSX obejmują teraz listę nazw arkuszy bez skanowania arkuszy, wybór arkusza kursora wierszy wg nazwy, strumieniowanie surowych dat liczbowych, ponowne użycie modułu bezpośredniego zapisu, zapis komórek błędu oraz zapisywiarki zbuforowanych wyników formuł dla liczb, ciągów, wartości logicznych, dat i błędów
Wersja 2.165.0
Naprawiono
TXLSDirectReader.ReadStreamprzywraca teraz pozycję strumienia wywołującego po bezpośrednim skanowaniu, zgodnie z udokumentowanym kontraktem strumienia, pozwalając aplikacjom ponownie użyć tego samego strumienia po przejściu odczytu bezpośredniego
Wersja 2.164.0
Dodano
- Eksporty zbiorów danych
TDataToXLSobsługują teraz listy ciągówIncludeFieldsiExcludeFields. Aplikacje mogą dodać do białej listy eksportowane pola, pominąć wrażliwe kolumny i utrzymać nagłówki, wiersze danych, szerokości kolumn oraz wywołania zwrotne eksportu w zgodności z wybranym zbiorem pól
Wersja 2.163.0
Dodano
- Eksport CSV zyskuje konfigurowalne cytowanie tekstu w silnikach XLS i XLSX.
TXLSWorkbookudostępnia terazCSVEmitFormulasiCSVQuoteAllStrings, aTXLSXWorkbookdodajeCSVQuoteAllStrings. Gdy włączone, eksport formuł zapisuje tekst formuły, a pola tekstowe są cytowane, podczas gdy pola liczbowe, daty, logiczne, Null i Empty zachowują normalne reguły cytowania
Wersja 2.162.0
Dodano
- Silnik XLSX zyskuje przerywalny system zdarzeń postępu. Nowe wywołanie zwrotne
OnProgressExwTXLSXWorkbookuruchamia się obok istniejącegoOnProgressz trzema ulepszeniami: (1) parametrTXLSXProgressState(ppsBegin/ppsWork/ppsEnd) otaczający każdy z faz, tak by interfejsy wiedziały, kiedy operacja się zaczyna i kończy; (2) parametr varAbort: Booleanpozwalający wywołaniu zwrotnemu anulować bieżącą operację w trakcie strumienia — pętle odczytu/zapisu/przeliczania sprawdzająWorkbook.Abortedi czysto się wyłamują; (3) nowa fazaxlsxProgressExportingdla operacji eksportu (HTML/RTF/CSV/ODS). Metoda pomocniczaFireProgresscentralizuje podwójną wysyłkę wywołań zwrotnych. FlagaFAbortedjest resetowana na początku każdej operacji najwyższego poziomu (Open / SaveAs / Recalculate)
Wersja 2.161.0
Dodano
- Model wykresu XLSX obsługuje teraz cztery nowe elementy wykresu dla silniejszej zgodności z Excelem. Tabela danych wykresu (
c:dTable):TXLSXChartzyskuje przełącznikiShowDataTable+ShowDataTableKeys— gdy włączone, moduł zapisu emituje element tabeli danych wewnątrz obszaru kreślenia, tak by Excel renderował dane źródłowe jako siatkę poniżej osi wykresu. Słupki góra/dół + linie hi-low (elementy wykresu giełdowego/OHLC):TXLSXChartzyskujeHasUpDownBars+UpDownGapWidthorazHasHiLowLines— moduł zapisu emitujec:upDownBarsic:hiLowLineswewnątrz elementu wykresu (wykresy liniowe/giełdowe). Sterowanie widokiem 3D:TXLSXChartzyskujeRotation3DX/Rotation3DY/Elevation3D/Perspective3D/RightAngleAxes3D— moduł zapisu emitujec:view3Dna poziomie wykresu, gdy jakakolwiek właściwość 3D różni się od domyślnej. Wcześniej żaden z tych elementów nie był emitowany, więc wykresy zbudowane z tabelami danych, elementami wykresu giełdowego lub widokami 3D traciły je w round-trip
Wersja 2.160.0
Dodano
- Odniesienia formuł dostosowują się teraz automatycznie, gdy wiersze lub kolumny są wstawiane lub usuwane w silniku XLSX. Metoda
ShiftSheetGeometry— wywoływana przezInsertRows/DeleteRows/InsertCols/DeleteCols— przechodzi teraz każdą przetrwałą komórkę formuły i przepisuje jej odniesienia A1, by odzwierciedlić zmianę strukturalną. Nowy skaner tekstuXlsxAdjustFormulaRowColRefswykrywa odniesienia pojedynczych komórek (A1,$B$2) i odniesienia zakresów (A1:B3), przesuwa ich komponenty wiersza/kolumny poza punktem wstawienia i konwertuje usunięte odniesienia na#REF!. Odniesienia względne i bezwzględne są przesuwane (zgodnie z zachowaniem Excela). Wcześniej formuły po cichu wskazywały złe komórki po edycji strukturalnej
Wersja 2.159.0
Dodano
- Stan sortowania autofiltru round-tripuje teraz przez silnik XLSX.
TXLSXWorksheetzyskuje właściwośćSortStateXml, która niesie surowy wewnętrzny XML elementu OOXML<sortState>(kierunek sortowania kolumny, uwzględnianie wielkości liter, metoda sortowania oraz każdy<sortCondition>z flagą malejąco + ref). Moduł zapisu emituje element po<autoFilter>; czytnik parsuje atrybuty i warunki sortowania z powrotem. Wcześniej stan sortowania był po cichu gubiony przy odczycie i nigdy nie był zapisywany - Ustawienia fonetyczne/ruby CJK round-tripują teraz przez silnik XLSX.
TXLSXWorksheetzyskujePhoneticFontId,PhoneticType(hiragana / katakana / fullWidthKatakana / noConversion) orazPhoneticAlignment(lewo / środek / rozdzielone). Moduł zapisu emituje<phoneticPr>po<sheetData>; czytnik parsuje atrybuty z powrotem. Wcześniej element fonetyczny był po cichu gubiony przy odczycie — pliki rynku japońskiego traciły swoje ustawienia pomocy czytania furigana
Wersja 2.158.0
Dodano
- Silnik XLSX round-tripuje teraz tabelę nazwanych stylów komórek (
<cellStyles>). Nowa klasaTXLSXNamedStyle+ kolekcjaTXLSXNamedStyleswTXLSXWorkbookniesie pełną powierzchnię:Name,XfId,BuiltInId,CustomBuiltIn,Hidden,BuiltinLevel. Moduł zapisu emituje jeden<cellStyle>na wpis, gdy kolekcja jest niepusta; czytnik parsuje je z powrotem. Wcześniej moduł zapisu zakodował na sztywno pojedynczy wpis"Normal", a czytnik odrzucał wszystkie nazwane style, więc pliki ze stylami "Good"/"Bad"/"Total"/o nazwach niestandardowych traciły te nazwy w round-trip
Wersja 2.157.0
Dodano
- Silnik XLSX round-tripuje teraz pełny element
<calcPr>, a nie tylko przełączniki obliczeń iteracyjnych.TXLSXWorkbookzyskujeCalcId(identyfikator silnika obliczeń, którego Excel używa, by zdecydować, czy zbuforowane wartości są przestarzałe),FullCalcOnLoad(wymusza na Excelu pełne przeliczenie przy otwarciu — krytyczne dla skoroszytów wyprodukowanych przez silnik inny niż Excel) orazCalcMode(auto / manual / autoNoTable). Moduł zapisu emituje pasujące atrybuty na<calcPr>; czytnik parsuje je z powrotem. Wcześniej obsługiwane były tylkoiterate/iterateCount/iterateDelta, a reszta była po cichu gubiona
Wersja 2.156.0
Dodano
- Ewaluator formuł implementuje teraz 37 funkcji arkusza, które były wcześniej zarejestrowane (ptg przypisany w InitFuncHash), ale nie miały implementacji wysyłki — wpadały do
#NAME?. Nowe implementacje obejmują pięć rodzin funkcji: Regresja (FORECAST,LINEST,TREND,GROWTH,LOGEST,CORREL,PEARSON,SLOPE,INTERCEPT,RSQ,STEYX), Amortyzacja (SLN,SYD,DB,DDB,VDB), Statystyka opisowa (AVEDEV,DEVSQ,KURT,SKEW,GEOMEAN,HARMEAN,TRIMMEAN,FREQUENCY), Tablicowe parami (SUMXMY2,SUMX2MY2,SUMX2PY2) oraz Kombinatoryka/Matematyka (COMBIN,PERMUT,FACT,QUOTIENT,ROMAN,DEGREES,RADIANS,STANDARDIZE). Funkcje regresji korzystają z solvera najmniejszych kwadratów; funkcje amortyzacji implementują metody liniową, sumy-liczb-lat i malejącego salda; funkcje statystyki opisowej obliczają średnie odchylenie bezwzględne, kurtozę, asymetrię oraz średnie geometryczną/harmoniczną/obciętą; a funkcje parami obliczają sumę kwadratów różnic dwóch zakresów równego rozmiaru. Nowy pomocnikCollectRangeValueswTXLSCalculatorwyodrębnia wartości liczbowe z argumentów zakresów dla funkcji statystycznych
Wersja 2.155.0
Dodano
- Ewaluator formuł obsługuje teraz pięć dodatkowych statystycznych i inżynieryjnych nazw zgodności:
ERFC,ERFC.PRECISE,BINOM.INV,CHI.INV.RTorazF.TEST.ERFCuzupełnia istniejący szereg funkcji błędu,BINOM.INVprzeszukuje próg CDF dwumianowego,CHI.INV.RTaliasuje prawostronny odwrotny chi-kwadrat, aF.TESTzwraca dwuostronną wartość p wariancji próbki
Wersja 2.154.0
Dodano
- Ewaluator formuł rozstrzyga teraz odniesienia między-skoroszytowe przez nowe wywołanie zwrotne
OnGetExternalValuewTXLSCalculator. Gdy trójwymiarowe odniesienie zakresu wskazuje do zewnętrznego skoroszytu ([1]Sheet1!A1), ewaluator kieruje przez wywołanie zwrotne zamiast zwracać#REF!. Silnik XLSX podłącza to wywołanie zwrotne doGetExternalCellValue, które mapuje indeks SupBook + indeks arkusza do pasującej pamięci podręcznej<sheetDataSet>zTXLSXExternalLinki dekoduje zbuforowaną wartość komórki po jej atrybucie typu OOXML (liczbowy / logiczny / ciąg / błąd). Wcześniej formuły między-skoroszytowe bezwarunkowo zwracały#REF!; infrastruktura wywołań zwrotnych pozwala teraz dowolnemu silnikowi (BIFF8, XLSX lub niestandardowemu hostowi kalkulatora) dostarczać wartości zewnętrzne - Ewaluator formuł wykonuje teraz element-po-elementie rozgłaszanie tablic na operatorach binarnych (
+/-/*///^). Gdy którykolwiek operand jest jednowymiarową lub dwuwymiarową tablicą wariantów (np. wynik funkcji macierzowej, zakres rozlany lub operand tablicy CSE), operator jest stosowany element-po-elementie; operand skalarny jest rozgłaszany do każdego elementu operandu tablicowego. Nowy pomocnikApplyArrayBinaryOpobsługuje walidację kształtu, rozgłaszanie skalarne oraz propagację dzielenia-przez-zero. Starsza arytmetyka skalarna jest niezmieniona — ścieżka tablicowa aktywuje się tylko, gdy co najmniej jeden operand jest tablicą wariantów - Ewaluator formuł rozpoznaje teraz funkcję
TABLE(analiza What-If DataTable). Excel przechowuje tabele danych jako formuły tablicowe CSE, których treścią jestTABLE(rowRef, colRef); wcześniejTABLEbyło nierozpoznane i wpadało do#NAME?. Funkcja jest zarejestrowana z syntetycznym ptg (ftabTABLE = 4232), tak by round-tripowała przez kodowanie formuł BIFF8, a w czasie ewaluacji zwraca wartość zastępczą (0) — rzeczywiste wyniki są wstępnie obliczone przez Excel i przechowane jako zbuforowane wartości komórek, więc HotXLS nie ponownie ewaluuje logiki podstawienia
Wersja 2.153.0
Dodano
- Typowany model PivotTable niesie teraz typowane właściwości osi strony (Hier / Caption / Name), zakres auto-sort oraz haki round-trip surowego XML dla
<formats>i<extLst>potrzebne do pełniejszej zgodności z Excelem.TXLSPivotFieldzyskujePageHier/PageCaption/PageName(F16 — nazwa hierarchii OLAP + podpis osi strony + nazwa wyświetlana) orazAutoSortScope(F20 — odniesienie zakresu A1 przypinające komórki, których Excel używa do auto-sortowania elementów pola);TXLSPivotTablezyskujeFormatsXml/ExtLstXml(F17 — round-trip surowego wewnętrznego XML dla bloku zastąpień CF / formatu liczbowego<formats>oraz bloku slicer / timeline / x14<extLst>, emitowanego dosłownie po ustawieniu, tak by round-trip był bezpieczny nawet między wersjami silnika). Moduł zapisu XLSX emituje pasujące atrybuty<pageField hier=... cap=... name=.../>, element podrzędny<autoSortScope>w<pivotField>oraz bloki<formats>+<extLst>przed zamykającym sentinelem - Śledzik formuł rejestruje teraz migawki stosu operandów dla każdego kroku, umożliwiając prawdziwy krokowy debugger "Oceń formułę".
TXLSFormulaStepzyskujeStepKind(push / reduce / function),StackBefore/StackAfter(oddzielone przecinkami migawki stosu operandów w momencie rozpoczęcia / zakończenia każdego kroku) orazTokenStart/TokenEnd(jednostkowe przedział znaków przypinający krok z powrotem do formuły źródłowej).TXLSFormulaTracerzyskujeTraceReversed(zwraca te same kroki w odwrotnej kolejności ewaluacji — przydatne dla interfejsu cofania kroku idącego od wyniku końcowego ku oryginalnym operandom) oraz właściwośćStepCount. Wcześniej śledzik rejestrował tylko Depth / Source / Expression / Value bez stanu stosu - Eksport HTML osadza teraz obrazy poszczególnych komórek przez nowe wywołanie zwrotne
OnCellImagewTXLSHTMLExportoraz nową opcjęxhImages. Gdy opcja jest ustawiona i wywołanie zwrotne podłączone, eksporter pyta implementatora o fragment<img>każdej komórki (zazwyczaj data-URI Base64) i dołącza go po tekście komórki. To oddziela eksporter od magazynu obrazów BIFF8 silnika XLS (który żyje w rekordzie MsoDrawing poszczególnych arkuszy), tak że eksporter nie musi sam parsować kotwic. Eksport HTML silnika XLSX już osadzał obrazy; to zamyka lukę dla silnika XLS - Import RTF stosuje teraz właściwości znaków (pogrubienie / kursywa / podkreślenie / przekreślenie / rozmiar) ze słów kontrolnych RTF do czcionki komórki docelowej.
TXLSRTFImportśledzi\b/\i/\ul/\strike/\fsw całym dokumencie i wypycha formatowanie dominującego przebiegu do XF komórki w momencie zatwierdzenia. Nowa właściwośćImportCharFormat(domyślnie True) przełącza zachowanie; ustaw False, by przywrócić starszy import tylko tekstowy. Komórki wieloprzebiegowe zapadają się do pojedynczego XF (wygrywa ostatni aktywny przebieg), ponieważ API komórek silnika XLS jest na poziomie komórki, a nie fragmentu — ale jest to znacznie lepsze niż gubienie całego formatowania, które robił starszy importer - Nowa klasa
TXLSHTMLImportparsuje tabele HTML do komórek arkusza. Przechodzi pierwszy<table>w źródle, emitując jeden wiersz arkusza na<tr>i jedną komórkę na<td>/<th>. Honorujecolspan/rowspan(scalanie w stylu Excela), obiera tagi wewnątrz komórki (zapadając zagnieżdżone formatowanie do zwykłego tekstu), dekoduje pięć standardowych encji znaków (&/</>/"/'/ ) oraz formy numeryczne&#NNN;/&#xNN;i przekształca czyste ciągi liczbowe na Double, tak by zaimportowane tabele pozostały obliczalne. Zaprojektowana dla wyjścia, które sam HotXLS produkuje (SaveAsHTML), oraz ogólnych tabel HTML jakości kopiuj-wklej; nie jest pełnym parserem HTML5
Wersja 2.152.0
Dodano
- Tabele XLSX zachowują teraz metadane sum na poziomie kolumny oraz formuły tabeli.
TXLSXTableudostępniaColumnTotalsRowFunctions[],ColumnTotalsRowLabels[],ColumnCalculatedColumnFormulas[]iColumnTotalsRowFormulas[];SaveAsemituje pasujący XML kolumn tabelitotalsRowFunction,totalsRowLabel,calculatedColumnFormulaitotalsRowFormula,Openodczytuje je z powrotem, a klony tabeli zachowują je
Wersja 2.151.0
Dodano
- Typowany model PivotTable niesie teraz kolekcję filtrów dla pola, przełącznik wielokrotnego wyboru, powierzchnię discretePr fieldGroup + groupItems oraz model elementów obliczanych / członków obliczanych potrzebnych do pełniejszej zgodności PivotTable.
TXLSPivotFieldzyskuje typowaną kolekcjęTXLSPivotFilters(każdy wpis niesieFilterTypeprzez 80-elementową enumerację OOXMLST_FilterType— rodziny count / percent / sum / caption / value / date — plusValue1/Value2/StrValue1/StrValue2,EvalOrder,DataField,MemberPropertyId,Name,Description), przełącznikMultipleItemSelectionAllowed(F9) oraz kolekcjęTXLSPivotCalculatedItem(F14).TXLSPivotCacheFieldzyskujeDiscreteIndices[]+AddDiscreteIndexorazGroupItemLabels[]+AddGroupItemdla bloków discretePr fieldGroup + groupItems (F13).TXLSPivotTablezyskuje kolekcjęTXLSPivotCalculatedMember(F14). Moduł zapisu XLSX emituje pasujące<pivotField multipleItemSelectionAllowed="1">, blok per-pole<filters><filter .../>, element<fieldGroup><discretePr>...</discretePr><groupItems>...</groupItems></fieldGroup>, blok per-pole<calculatedItems>oraz blok na poziomie tabeli<calculatedMembers>— tak by programowo zbudowane tabele przestawne z filtrami / wielokrotnym wyborem / grupowaniem / elementami obliczanymi round-tripowały
Wersja 2.150.0
Dodano
- Zdefiniowane nazwy utrzymują teraz swój tekst formuły poprawnym, gdy arkusz, do którego się odnoszą, jest usuwany lub zmieniany. Usunięcie arkusza przepisuje każdy kwalifikator
SheetN!wewnątrz formuły zdefiniowanej nazwy na#REF!(zgodnie z zachowaniem Excela); zmiana nazwy arkusza przepisuje kwalifikator na nową nazwę. Wcześniej tekst formuły nadal wskazywał nieistniejącą nazwę arkusza, co Excel następnie oznaczał jako uszkodzone łącze przy ponownym otwarciu - Typowany model PivotTable niesie teraz kolejność sortowania na poziomie pola i przełączniki układu oraz atrybuty układu / wyświetlania na poziomie tabeli potrzebne do pełniejszej zgodności układu PivotTable.
TXLSPivotFieldzyskujeSortType(ręczna / rosnąca / malejąca),Compact,Outline,SubtotalTop,DragToRow/DragToCol/DragToPage/DragToData,ShowAll,InsertBlankRow,NumFmtId;TXLSPivotTablezyskujeCompact/CompactData/Outline/OutlineData/Indent/ShowEmptyRow/ShowEmptyCol/ShowHeaders/ShowDrill/EnableDrill/FieldListSortAscending/GridDropZonesplusRowHeaderCaption/ColHeaderCaption/ErrorCaption/MissingCaption/ShowError/ShowMissingoraz parę układu osi stronyRowPageCount/ColPageCount. Moduł zapisu XLSX emituje pasujące atrybuty<pivotField sortType=... compact=... outline=...>i<pivotTableDefinition indent=... outline=... showEmptyRow=...>oraz element<location rowPageCount=... colPageCount=.../>, tak by programowo zbudowane tabele przestawne niosły układ ustawiony przez użytkownika zamiast wartości domyślnych Excela - Nowa metoda
FormulaIsVolatilewTXLSWorkbookraportuje, czy formuła wymusiłaby przeliczenie przy każdym przejściu obliczeń — tzn. wywołuje funkcję niestabilną (NOW / RAND / TODAY / OFFSET / INDIRECT) lub niesie nierozstrzygalne odniesienie. Sonda współdzieli ten sam ekstraktor zależności, którego używa silnik przeliczania, więc odpowiedź pasuje do tego, co faktycznie robiRecalculate. Wywołujący mogą użyć jej do oznaczania komórek dla interfejsu weryfikacji, do zapełnienia zbioru niestabilnego łańcucha obliczeń na nowym skoroszycie lub do pominięcia buforowania wyniku świeżo wprowadzonej formuły
Wersja 2.149.0
Dodano
- Pamięci podręczne PivotTable mogą być teraz odświeżane ze swojego zakresu źródłowego programowo. Nowa metoda
RefreshPivotCache(ACacheId)wTXLSXWorkbookponownie skanuje zakres źródłowy pamięci podręcznej, przebudowuje domenę elementów współdzielonych dla pola (ponownie deduplikując wartości i ponownie wyprowadzając granice per-typ) oraz przepisuje indeksy elementów per-rekord. Wcześniej HotXLS polegał na zakodowanej na sztywno fladzerefreshOnLoad="1"i odraczał całą pracę odświeżania do Excela przy następnym otwarciu; programowe przepływy mogą teraz odświeżać w procesie
Wersja 2.148.0
Dodano
InsertColsw silniku XLSX dziedziczy teraz szerokość kolumny od lewego sąsiada, zgodnie z domyślnym zachowaniem Excela dla "wstaw kolumnę". Wcześniej wstawiona kolumna przejmowała domyślną szerokość skoroszytu, dając widoczną lukę wierności po ponownym otwarciu- Silnik XLSX zyskuje wygodne pomocniki zwijania konspektu
ToggleColGrouped/ToggleRowGroupedwTXLSXWorksheet, które przechodzą drzewo konspektu i zwijają lub rozwijają grupę na danym poziomie. Same flagi zwijania już round-tripowały; to dodaje brakujące wygodne API przejścia drzewa
Wersja 2.147.0
Dodano
- Eksport HTML emituje teraz kotwice
<a name>w komórkach, które są celami hiperłączy wewnętrznych, tak by hiperłącza#SubAddressrozstrzygały się poprawnie, gdy czytelnik w nie kliknie. Wcześniej łącza były emitowane, ale cele nie miały kotwic, więc skoki wewnętrzne rozstrzygały się do niczego - Eksport CSV zyskał właściwość
CSVEmitFormulaswTXLSXWorkbook. Gdy True, komórki formuł eksportują swój tekst formuły (=SUM(A1:A2)) zamiast obliczonej wartości — przydatne do debugowania i dla przepływów ponownie importujących do innego silnika - Zewnętrzne URL hiperłączy są teraz kodowane procentowo przy zapisie (
XlsxEncodeHyperlinkUrl): spacja, nawiasy kątowe, cudzysłowy, klamry, potoki, ukośniki odwrotne, daszki i odwrócone apostrofy są kodowane jako%XXw atrybucie<Relationship Target="..."/>, tak by plik otwierał się poprawnie w każdej przeglądarce. Istniejące sekwencje zakodowane procentowo (%20) są zachowywane jak są - Informacja stylu PivotTable niesie teraz pełną powierzchnię
pivotTableStyleInfo:StyleName,ShowRowHeaders,ShowColHeaders,ShowRowStripes,ShowColStripes,ShowLastColumnwTXLSPivotTable. Moduł zapisu XLSX emituje pasujący element, tak by programowo zbudowane tabele przestawne niosły styl pasowania wybrany przez użytkownika zamiast zakodowanego na sztywno domyślnego - Nowa metoda
CalculateAndVerifywTXLSXWorkbookponownie ewaluuje każdą komórkę formuły i porównuje obliczony wynik z wartością zbuforowaną komórki. Zwraca liczbę niezgodności (0 = wszystkie zbuforowane wartości pasują do świeżych obliczeń silnika; formuły niestabilne są wykluczone). Przydatne do QA przy przenoszeniu skoroszytów między silnikami lub walidacji, że zapisywacz nie uszkodził zbuforowanych wartości
Wersja 2.146.0
Dodano
- Silnik XLSX obsługuje teraz iteracyjne obliczanie odniesień cyklicznych (tryb obliczeń iteracyjnych Excela). Nowa trójka właściwości
Iterate/IterateCount/IterateDeltawTXLSXWorkbookkontroluje zachowanie: gdyIterate=Truei cykl odniesienia zostanie wykryty podczasRecalculate, silnik ponownie ewaluuje komórki członków cyklu doIterateCountrazy (domyślnie 100) lub aż zmiana każdej komórki będzie< IterateDelta(domyślnie 0,001), zamiast zwracać#REF!. Ustawienia round-tripują przez element OOXML<calcPr iterate="1" iterateCount="N" iterateDelta="X"/>. Modele finansowe z zamierzonymi odniesieniami cyklicznymi (odsetki od odsetek, cykliczne alokacje) teraz zbiegają się zamiast zgłaszać błąd - Pola pamięci podręcznej PivotTable niosą teraz model grupowania dla grupowania zakresu liczbowego i hierarchii dat.
TXLSPivotCacheFieldzyskujeHasGroup+GroupStartNum/GroupEndNum/GroupInterval(zakres liczbowy) orazGroupByDate/GroupDays/GroupMonths/GroupQuarters/GroupYears/GroupHours/GroupMinutes/GroupSeconds/GroupStartDate/GroupEndDate(data). Moduł zapisu XLSX emituje element<fieldGroup><rangePr groupBy="range|days|months|..."/>, tak by programowo zbudowane tabele przestawne z pogrupowanymi polami pasowały do wyjścia Excela - Eksport HTML emituje teraz przypisy końcowe komentarzy. Gdy
xhCommentsjest w opcjach eksportu, każda komentowana komórka otrzymuje łącze indeksu górnego[n], a pełny tekst komentarza (autor + treść) jest wymieniony jako sekcja przypisów końcowych po tabeli z kotwicą powrotną do komórki. Wcześniej komentarze były dostępne tylko przez atrybuttitle=komórki, który jest niewidoczny przy drukowaniu lub kopiowaniu-wklejaniu
Wersja 2.145.0
Dodano
- Literały błędów formuł BIFF8 (token
tErr) dekodują się teraz do typowanego elementu składniSA_ERRORzamiast powodować niepowodzenie parsowania formuły. Komórka przechowująca=#N/A(lub dowolną z siedmiu stałych błędów Excela) wcześniej powodowała, że cała formuła była gubiona przy odczycie; bajt błędu round-tripuje teraz przez odczyt → ewaluacja → zapis i rekonstruuje się do formy tekstowej (#NULL!,#DIV/0!,#VALUE!,#REF!,#NAME?,#NUM!,#N/A) przez nowy pomocnikXlsErrorToString - Token BIFF8
tIsect $0F(operator niejawnej części wspólnej) dekoduje się teraz w translatorze formuł binarnych, budując ten sam węzełSA_ISECT, który parser tekstu produkuje dla@. Wcześniej formuła binarna zawierającatIsectnie parsowała się - Formatowanie warunkowe pasków danych emituje teraz blok rozszerzenia
x14Excela 2010+ wextLstarkusza, gdy model niesie jakiekolwiek pole x14 inne niż domyślne (kolor wypełnienia ujemnego, gradient wyłączony, kolor osi, kierunek, obramowanie). NowyBuildDataBarExtXmlbuduje elementext<x14:conditionalFormattings>z pasującym priorytetem, parą cfvo, kolorami wypełnienia + ujemnego + osi oraz atrybutami gradient/obramowanie/kierunek/negativeBarColorSameAsPositive
Wersja 2.144.0
Dodano
- Silnik XLSX potrafi teraz zapisywać skoroszyty szyfrowane Agile (
TXLSXWorkbook.SaveAsEncryptedAgile), zamykając lukę zgodności odczytu/zapisu o wysokiej wartości. Agile to to, co Excel 2010+ zapisuje domyślnie dla plików .xlsx chronionych hasłem; HotXLS mógł wcześniej czytać Agile, ale tylko zapisywać Standard Encryption (AES-128). Nowy potok zapisu odzwierciedla istniejącą ścieżkę deszyfrowania: haszowanie hasła SHA-512 z liczbą obrotów 100000, szyfrowanie pakietu na segment AES-256-CBC, losowo wygenerowany klucz pośredni opakowany według trzech przypiętych do specyfikacji kluczy blokowych oraz kompletny deskryptor XML<encryption>niosący zaszyfrowane bloby weryfikatora + klucza. Wyjście jest bajtowo wierne temu, co produkuje Excel, i round-tripuje czysto przezXlsLoadAgileEncryptedFile(zweryfikowane testem: poprawne hasło deszyfruje, błędne hasło odrzucone) - Nowe prymitywy kryptograficzne podstawiają ścieżkę zapisu Agile:
XlsHMACSHA512(RFC 2104, potrzebny dla elementudataIntegrity),XlsBase64Encode(koder RFC 4648 odzwierciedlający istniejący dekoder) orazAESEncryptCBC(szyfrowanie AES-CBC dla dowolnego rozmiaru klucza 128/192/256, odwrotność istniejącegoAESDecryptCBC). Jednostka AES importuje terazaes_encrypt_key192/aes_encrypt_key256z obiektu Gladman (wcześniej dostępne było tylko szyfrowanie 128-bitowe)
Wersja 2.143.0
Dodano
- Ewaluator formuł parsuje i ewaluuje teraz operator jawnej części wspólnej
@(składnia tablic dynamicznych Excela 365, np.=A2:A4 @ B2:B4). Lekser emituje nowy tokenLT_ISECTdla symbolu@, parser pierwszeństwa buduje węzełSA_ISECT(wiążący silniej niż^, luźniej niż%), a nowy ewaluatorIntersectRangesrozstrzyga oba operandy jako zakresy i zwraca wartość pojedynczej komórki przecięcia — reguła niejawnej części wspólnej Excela. Serializator tokenów BIFF emitujetIsect $0F, tak by operator round-tripował przez XLS, a ścieżka rekonstrukcji tekstu formuły emituje formę z niejawną spacją. Wcześniej takie formuły nie parsowały się - Standardowy koder Base64 (
XlsBase64Encode) jest teraz dostępny, odzwierciedlając istniejącyXlsBase64Decode. Jest to warunek dla ścieżki zapisu szyfrowania Agile, która emituje saltValue / encryptedVerifierHashInput / encryptedKeyValue / encryptedHmacValue jako wartości atrybutów Base64 - Zdarzenie
OnProgressskoroszytu uruchamia się teraz również podczas pełnego przeliczania (Recalculate), z nową faząxlsxProgressCalculating. Wcześniej zdarzenie uruchamiało się tylko podczas odczytu i zapisu, więc długie pełne przeliczenia nie dawały interfejsowi bicia serca. Zdarzenie uruchamia się mniej więcej co 4% komórek, aby uniknąć zalewania - Rozszerzone właściwości dokumentu (
docProps/app.xml) round-tripują teraz trzy kolejne pola, które Excel zapisuje dla dokumentów chronionych hasłem / opartych na szablonie:Manager,TemplateorazDocSecurity(pole bitowe: 1=chroniony hasłem, 2=zalecany tylko-do-odczytu, 4=wymuszony tylko-do-odczytu, 8=zablokowany do adnotacji)
Wersja 2.142.0
Dodano
- Typowany model PivotTable niesie teraz powierzchnię metadanych, źródła, pola obliczanego, "pokaż wartości jako" oraz granic elementów współdzielonych, które poprzednia runda analizy oznaczyła jako luki.
TXLSPivotCachezyskujeRefreshOnLoad/RefreshedBy/RefreshedDate/MissingItemsLimit/CreatedVersion/RefreshedVersion/MinRefreshableVersion/EnableRefresh/BackgroundQuery/SaveDataplus typowany kształt źródła arkusza (SourceName/SourceRelId/SourceIsNamedRange);TXLSPivotCacheFieldzyskujeFormula/DatabaseField/MemberPropertyField(pola obliczane) oraz granice elementów współdzielonych (ContainsBlank/ContainsInteger/ContainsString/ContainsNumber/ContainsDate/MinValue/MaxValue/MinDate/MaxDate/HasBounds);TXLSPivotDataFieldzyskujeShowDataAs/BaseField/BaseItemdla przekształceń "pokaż wartości jako" (procent-z / różnica / suma-bieżąca / indeks). Moduł zapisu XLSX (BuildPivotCacheDefinitionXml/BuildPivotTableXml) honoruje wszystkie te, tak że programowo zbudowana tabela przestawna (AddPivotTable) emituje bogatszepivotCacheDefinition+pivotTableDefinition— refreshOnLoad / trójkę wersji / refreshedBy / źródło nazwanego zakresu / obliczaną formułę cacheField / granice sharedItems / subtotal dataField + showDataAs. Tabele przestawne odczytane z pliku nadal round-tripują swój surowy XML dosłownie - Zachowanie kotwicy obrazu round-tripuje teraz przez nową właściwość
AnchorTypewTXLSXImage(xaTwoCell= przenoś i skaluj z komórkami,xaOneCell= przenoś ale nie skaluj,xaAbsolute= nie przenoś ani nie skaluj). Moduł zapisu wybiera element kotwicy (xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor) do dopasowania; czytnik parsuje nazwę elementu + atrybuteditAsz powrotem. Mapuje się do menu Excela prawy-klik → Rozmiar i właściwości → okno Właściwości - Nagłówek/stopka round-tripuje teraz różnicę parzystej/pierwszej strony.
TXLSXWorksheetzyskujeEvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterTextplus cztery przełączniki<headerFooter>(DifferentOddEven,DifferentFirst,ScaleWithDoc,AlignWithMargins). Pliki, w których użytkownik włączył "Różne strony nieparzyste i parzyste" lub "Różna pierwsza strona", nie tracą już sekcji parzystej/pierwszej strony w round-trip - Ustawienia strony round-tripują teraz rozszerzone atrybuty
<pageSetup>, które Excel zapisuje dla ustawień wydruku innych niż domyślne:Copies,FirstPageNumber+UseFirstPageNumber,HorizontalDpi,VerticalDpi,PrintErrors(wyświetlane/puste/myślnik/NA),UsePrinterDefaults <sheetFormatPr>round-tripuje terazcustomHeight,zeroHeight,outlineLevelRowioutlineLevelCol, więc pliki, w których użytkownik ustawił przypiętą przez użytkownika domyślną wysokość wiersza, domyślnie ukryte wiersze lub domyślny poziom konspektu, nie tracą już tego zachowania- Formatowanie warunkowe pasków danych round-tripuje standardowy atrybut
gradient(gradient vs pełne wypełnienie), aTXLSDataBarSpeczyskuje pola rozszerzeniax14Excela 2010+ (NegativeBarColor,NegativeBarColorSameAsPositive,GradientFill,AxisColorz motywem/odcieniem,Direction,Border) w modelu, tak by konsumenci API mogli je ustawić - Dymki komentarzy round-tripują swój rysunek VML dosłownie. Czytnik przechwytuje
xl/drawings/vmlDrawingN.vmljak jest, a moduł zapisu odtwarza go przy zapisie (zamiast wbudowanego szablonu żółtego dymka), tak by pozycja / rozmiar / kolor wypełnienia / widoczność ustawione przez użytkownika dla każdego dymka przetrwały - Ciała komentarzy round-tripują formatowanie per-przebieg.
TXLSXCommentzyskuje leniwy ładunekRichText: TXLSXRichText(ponownie używając modelu przebiegów ciągów współdzielonych); moduł zapisu emituje jeden<r><rPr>...</rPr><t>...</t></r>na przebieg, gdy RichText niesie formatowanie, a czytnik parsuje<b/>,<i/>,<sz val=N/>,<color rgb=.../>z powrotem, tak by pogrubienie / kursywa / rozmiar / kolor przetrwały - Ewaluator formuł implementuje teraz
SUBTOTAL(wszystkie jedenaście agregatorów: AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP, plus warianty 101–111 ignorujące ukryte) orazAGGREGATE(dziewiętnaście agregatorów z flagami kodu opcji 0–7 wybierającymi pomijanie błędów/ukrytych, w tym rodzina LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE z ich argumentemk). Obie wcześniej wpadały do ścieżki nieobsługiwanej funkcji;SUBTOTALbył zarejestrowany, ale nie miał implementacji,AGGREGATEwcale nie był zarejestrowany - Funkcje arkusza
CELLiINFOsą teraz ewaluowane:CELLobsługujeaddress,col,row,type,contents,filename,formatorazinfo_typestanu GUI (color,parentheses,prefix,protect,width) zwracają neutralne wartości domyślne;INFOobsługujeosversion,system,recalc,memavail,numfile,release,origin. Obie były zarejestrowane, ale wpadały do#NAME? - Formatowanie warunkowe round-tripuje teraz atrybuty
stopIfTrue,stdDev,equalAverageitimePeriodcfRule, plus pełną dziesięcioelementową rodzinętimePeriod(wczoraj / dziś / jutro / ostatnie7Dni / popTydzień / tenTydzień / następnyTydzień / popMiesiąc / tenMiesiąc / następnyMiesiąc). Były one po cichu gubione przy odczycie; Excel zapisuje je rutynowo w regułach powyżej średniej i pasm dat, a gubienie ich zmieniało, jak reguła ponownie ewaluowała się przy ponownym otwarciu - Eksport CSV zyskał właściwość
TXLSCsvEncodingwTXLSCSVSaverz trzema trybami:ceSystemAnsi(starsza domyślna),ceUtf16(historyczny tryb Unicode) orazceUtf8, który zapisuje plik UTF-8 ze znacznikiem kolejności bajtów EF BB BF — nowoczesna domyślna przyjazna dla Excela, która otwiera się ponownie bez kreatora importu tekstu w dowolnych ustawieniach regionalnych - Import CSV zyskał właściwość
LocaleTolerantNumberswTXLSCSVLoader. Gdy włączone, pole liczbowe, które nie parsuje się z.jako separatorem dziesiętnym, jest ponownie próbowane z,(i odwrotnie), tak by europejskie3,14importowało się jako liczba 3,14 na maszynie z USA. Tryb ścisły (domyślny) jest niezmieniony, więc tekst z wiodącym zerem, kody pocztowe i inne tokeny niosące przecinki pozostają tekstem
Naprawiono
- Tryb ścisły wnioskowania liczb silnika XLSX nie przekształca już pól tekstowych niosących przecinek (np.
3,14) w liczby przezTryStrToFloatDelphi, które toleruje przecinek jako separator tysięcy nawet wtedy, gdyThousandSeparatorjest ustawione na#0. Takie pola pozostają teraz tekstem, chyba że włączona jest nowa opcjaLocaleTolerantNumbers
Wersja 2.140.0
Zmieniono
- Silnik XLSX komponuje teraz swoje sześć pul stylów per-atrybut (Fonts / Fills / Borders / NumberFormats / Alignments / Protections) przed każdym zapisem: nowy przebieg
CompactStylePoolsskanuje indeksy stylów każdej komórki i odrzuca wpisy puli, do których nie odnosi się już żadna komórka — wpisy, które kumulują się, gdy komórki są czyszczone, usuwane lub ponownie stylizowane po pierwszym dodaniu wpisu puli. Skompaktowane pule wytwarzają mniejszą tabelę<cellXfs>w pliku wyjściowym (zazwyczaj 30–70% mniejszą dla dokumentów po kilku cyklach edycji), dorównując komponowaniu, które silnik XLS już robi przezCreateAllReferredList
Wersja 2.139.0
Dodano
- Kształty warstwy rysunku, złącza, kształty grupy i nierysunkowe ramy graficzne round-tripują teraz dosłownie: gdy czytnik XLSX napotyka kotwicę
<xdr:sp>,<xdr:cxnSp>,<xdr:grpSp>lub nierysunkową<xdr:graphicFrame>, której typowany model (obrazy / wykresy / pola tekstowe) nie obejmuje, przechwytuje kompletny XML kotwicy i odtwarza go niezmieniony przy zapisie — tak by rysunki utworzone w Excelu (strzałki, objaśnienia, zgrupowane kształty, ramy smart art) przetrwały cykl odczyt→zapis bez straty. Każdy arkusz udostępniaRawDrawingAnchorCount/RawDrawingAnchor(i)do inspekcji
Wersja 2.138.0
Dodano
- Zbuforowane wartości komórek łącza zewnętrznego round-tripują teraz w silniku XLSX: nowy model
TXLSXExternalCell/TXLSXExternalRow/TXLSXExternalSheetDatazwisa z każdegoTXLSXExternalLinkprzezAddSheetData/AddRow/AddCell, moduł zapisu emituje pasujący blok<sheetDataSet>wewnątrzexternalLinkN.xml, a ponowne otwarcie przywraca każdą zbuforowaną wartość.FindCachedCell(sheetIdx, row, col)wyszukuje ostatnio znaną wartość komórki odniesienia zewnętrznego — dane, które sam Excel pokazuje, gdy zdalny skoroszyt jest offline
Wersja 2.137.0
Dodano
- Flaga
quotePrefixcellXf OOXML — mechanizm Excela do oznaczania zapisanego tekstu jako literału, by przetrwał przekształcenie liczbowe (kody zaimportowane z CSV jak00123, długie numery kont, cokolwiek, co użytkownik prefiksował apostrofem) — round-tripuje teraz w silniku XLSX:TXLSXAlignmentzyskuje właściwośćQuotePrefix, pula wyrównania liczy ją w deduplikacji, moduł zapisu emitujequotePrefix="1"na pasującym<xf>, a ponowne otwarcie przywraca ją niezależnie od tego, czy cellXf niosło dziecko<alignment/>czy było gołym same-zamykającym się<xf quotePrefix="1"/>
Wersja 2.136.0
Dodano
- Osię wykresu są teraz w pełni programowalne: nowy model
TXLSXChartAxisna każdejCategoryAxisiValueAxiswykresu udostępniaLogBase(skala logarytmiczna, np. 10 dla logarytmu o podstawie 10),Orientation(normalna / odwrócona),MajorGridlines/MinorGridlines,MinValue/MaxValue(NaN = auto),MajorUnit/MinorUnit,CrossesAt,TickLblPosiDispUnits(jednostki wyświetlania: setki / tysiące / miliony / miliardy / biliony). Wszystkie domyślnie stosują zachowanie automatyczne programu Excel, więc istniejące wykresy emitują ten sam XML co wcześniej; moduł zapisu dodaje<c:logBase>,<c:orientation>,<c:majorGridlines>,<c:majorUnit>,<c:crossesAt>,<c:tickLblPos>i<c:dispUnits>tylko wtedy, gdy wywołujący ustawi wartość inną niż domyślna, a ponowne otwarcie takiego wykresu przywraca każde ustawienie
Wersja 2.135.0
Dodano
- Słupki błędów wykresu są teraz programowalne i przechodzą round-trip w silniku XLSX: każda
TXLSXChartSerieszyskujeAddErrorBar(dir)zwracająceTXLSXChartErrBarzValueType(stała / procent / stdDev / stdErr / niestandardowa),Value,PlusValue/MinusValue(niestandardowa) iNoEndCap; jeden slot słupka błędu na kierunek (X / Y) jest przechowywany, moduł zapisu emituje pasujący blok<c:errBars>, a ponowne otwarcie przywraca kierunek, typ i wielkość, tak że wykresy naukowe / inżynieryjne zachowują swoje wskaźniki niepewności
Wersja 2.134.0
Dodano
- Etykiety danych wykresu są teraz programowalne i przechodzą round-trip w silniku XLSX: każda
TXLSXChartSerieszyskuje właściwościShowValue,ShowCategoryName,ShowSeriesName,ShowLegendKey,ShowPercent,ShowBubbleSizeiSeparator, które emitują pasujący blok<c:dLbls>wraz z elementami potomnymi<c:show*/>; ponowne otwarcie takiego wykresu przywraca przełączniki, tak że ustawienia „pokaż wartość” / „pokaż procent” przetrwają cykl zapisz-edytuj-zapisz
Wersja 2.133.0
Dodano
- Wektorowe formaty obrazów EMF i WMF są teraz pełnoprawnymi typami obrazów w silniku XLSX:
TXLSXImageFormatzyskujexlsxImageEmf/xlsxImageWmf, moduł zapisu emituje pasujące typy zawartościimage/x-emf/image/x-wmforaz rozszerzenia.emf/.wmf, a wykrywacz formatu rozpoznaje nagłówki EMF (01 00 00 73), placeable WMF (D7 CD C6 9A) oraz standardowe nagłówki WMF — dzięki czemu obrazy wklejone z programów Word lub PowerPoint, które Excel osadza jako dane wektorowe, są teraz zachowywane podczas zapisu i odczytu zamiast być pomijane
Poprawione
- Podstrumienie wykresów BIFF8, których rekord GELFRAME (
$1066) przekracza granicę kontynuacji 8224 bajtów, nie tracą już geometrii wypełnienia/linii: czytnik akceptuje teraz autokontynuację GELFRAME (Excel zapisuje kolejny rekord$1066zamiast standardowego$003CCONTINUE), a także pozwala standardowym rekordom CONTINUE łączyć się wewnątrz kontekstu wykresu, co pasuje do istniejącego mechanizmu wysyłania wielu fragmentów w module zapisu - Obrazy tła nagłówka/stopki BIFF8 (
$0866), których dane rozciągają się na rekordy kontynuacji, nie ulegają już uszkodzeniu: każdy segment kontynuacji powtarza 14-bajtowy nagłówek MSO, który czytnik teraz usuwa przed łączeniem, dzięki czemu wbudowane dane obrazu nie są już przesunięte o 14 bajtów na segment
Wersja 2.132.19
Poprawione
- Czyszczenie pamięci klasycznego formatu XLS i zaszyfrowanego XLSX zwalnia teraz strumienie plików złożonych w sposób deterministyczny, zapobiegając blokowaniu plików tymczasowych po operacjach zapisu, ładowania, VBA lub pakietów zaszyfrowanych
- Sformatowane wyświetlanie rozszerzonych wartości wariantów całkowitych spójnie stosuje teraz żądany format liczbowy, odpowiadając istniejącemu zachowaniu dla standardowych wartości całkowitych
- Ciągi współdzielone, walidacja danych, arkusze wykresów, archiwa ZIP, rysunki PNG i powtarzające się formuły tekstowe czyszczą teraz bufor tymczasowy bardziej defensywnie podczas ścieżek błędów i operacji na dużych tekstach
Wersja 2.132.18
Poprawione
- Przypisanie wartości wewnętrznego konstruktora ciągów znaków czyści teraz poprzedni tekst po przypisaniu pustego ciągu znaków, zapobiegając zachowywaniu nieaktualnej zawartości przez ponownie używane bufory XML i tekstowe
Wersja 2.132.17
Poprawione
- Tworzenie arkusza wykresu XLS akceptuje teraz ujęte w cudzysłów nazwy arkuszy źródłowych zawierające wykrzyknik, odrzuca zbyt duże odwołania do wierszy zanim ulegną przepełnieniu w prawidłowy wiersz BIFF oraz ogranicza nazwy legend linii trendu do limitu krótkiego tekstu BIFF, dzięki czemu wygenerowane rekordy wykresów pozostają poprawne
Wersja 2.132.16
Poprawione
- Wewnętrzne listy kluczy tekstowych i obiektowych usuwają teraz nieaktualne klucze wyszukiwania, gdy istniejące gniazdo zostanie nadpisane, zapobiegając kierowaniu starych kluczy na wpisy zamienne
- Wewnętrzne zastępowanie list obiektów i transformowane bufory unikalnych kluczy zwalniają teraz posiadane wpisy podczas nadpisywania, czyszczenia i niszczenia, zapobiegając wyciekom podczas powtarzających się operacji na skoroszytach i stylach
Wersja 2.132.15
Poprawione
- Bezpośrednie strumieniowe odczyty XLSX dekodują teraz komórki logiczne przechowujące dosłowne wartości OOXML, takie jak true i false
- Wewnętrzne aktualizacje indeksów list ciągów znaków usuwają teraz nieaktualne klucze, gdy istniejące gniazdo zostanie nadpisane, zapobiegając rozstrzyganiu starych nazw do nowej wartości
Wersja 2.132.14
Poprawione
- Komunikaty monitów i błędów walidacji danych BIFF8, których pierwszym znakiem jest NUL, zachowują teraz granice rekordów zamiast zapisywania niezgodnej długości DV
Wersja 2.132.13
Poprawione
- Analiza tekstu XML odrzuca teraz zagnieżdżone początki encji, takie jak &&, zamiast cichego porzucania niedokończonej encji
- Zdekompilowane formuły zapisują teraz stałe liczbowe z niezmiennym separatorem dziesiętnym w postaci kropki, dzięki czemu tekst formuły pozostaje przenośny między różnymi ustawieniami regionalnymi
Wersja 2.132.12
Poprawione
- Przezroczystość PNG palety ignoruje teraz kolory przezroczyste, które nie występują w palecie obrazu, zamiast oznaczać losowy indeks palety jako przezroczysty
- Formuły SUMPRODUCT teraz przestają skanować pozostałe wiersze po pierwszym wierszu wykraczającym poza używany zakres w długich argumentach zakresu, unikając niepotrzebnych odczytów komórek przy zachowaniu obliczonego wyniku
Wersja 2.132.11
Poprawione
- Formuły TEXT zwracają teraz błąd #VALUE!, gdy nie można zastosować nieprawidłowego lub zbyt dużego formatu liczb, zamiast cichego zwracania pustego wyniku z sukcesem
- Skracanie tabeli ciągów współdzielonych zwalnia teraz prawidłowe bloki końcowe i utrzymuje tabelę w stanie zdatnym do ponownego użycia po dużych cyklach usuwania
Wersja 2.132.10
Poprawione
- Dokładne wyszukiwania MATCH uwzględniają teraz symbole wieloznaczne programu Excel, a metadane przesunięcia wierszy klasycznego XLS ignorują teraz wiersze spoza bloku zamiast uszkadzać zapisaną strukturę skoroszytu
- Metadane skompresowanego tekstu PNG zwalniają teraz bezpiecznie bufory tymczasowe, jeśli przetwarzanie fragmentów zgłosi błąd
Wersja 2.132.9
Poprawione
- Metadane skompresowanego tekstu PNG, wstawianie na listę fragmentów i obsługa kolejności bajtów CRC pozostają teraz stabilne na obsługiwanych platformach Windows
Wersja 2.132.8
Poprawione
- Formuły LEFT i RIGHT zwracają teraz błąd #VALUE!, gdy parametr num_chars nie może zostać przekonwertowany na prawidłową liczbę całkowitą
Wersja 2.132.7
Poprawione
- Formuły SEARCH obsługują teraz symbole wieloznaczne w stylu Excela: ?, * i ~
- Walidacja nazw arkuszy odrzuca teraz nieprawidłowe znaki nazw arkuszy programu Excel podczas zmiany ich nazw
- Usuwanie ręcznego podziału strony działa teraz po wstawieniu podziału przed istniejącymi podziałami
Wersja 2.132.6
Poprawione
- Formuły DATE pasują teraz do kompatybilnego z programem Excel zachowania przeniesienia miesiąca i dnia, w tym do wywołań takich jak DATE(2008,14,2)
- Odczyty właściwości Hidden dla zakresów kolumn zwracają teraz widoczność każdej kolumny zamiast mieszania jej ze stanem widoczności wiersza
- Metadane wierszy BIFF przy limicie wierszy programu Excel 97-2003 ładują się teraz poprawnie, dzięki czemu ustawienia dla wiersza 65536 są zachowane
Wersja 2.132.5
Poprawione
- Ładowanie skoroszytu BIFF toleruje teraz nieprawidłowe kolory kart arkuszy, obcięte etykiety przestawne i nieprawidłowe fragmenty dat pamięci podręcznej tabeli przestawnej bez zgłaszania wyjątków
- Ładowanie pakietów i strumieni skoroszytów czyści teraz bardziej spójnie nieudane ścieżki konfiguracji archiwum i magazynu, unikając wycieków zasobów przy nieprawidłowych danych wejściowych lub nieudanych otwarciach magazynów opartych na strumieniach
Wersja 2.132.4
Poprawione
- Obsługa archiwów ZIP finalizuje teraz bieżący pakiet przed ponownym użyciem tego samego obiektu archiwum dla innego pakietu, a otwieranie archiwum opartego na plikach umożliwia teraz współbieżny dostęp wielu czytelnikom
Wersja 2.132.3
Poprawione
- Zapisywanie pakietu skoroszytu zachowuje teraz nazwy wpisów ZIP inne niż ASCII za pomocą metadanych UTF-8, zapobiegając zniekształcaniu znaków (mojibake), gdy nazwy części pakietu zawierają tekst Unicode
- Wyjściowy format XML zapisuje teraz surowy tekst i wartości atrybutów jako bajty UTF-8, gdy eskejpowanie jest wyłączone, dopasowując się do zadeklarowanego kodowania dokumentu
- Obliczanie formuł czyści teraz swój stan w toku po wyjątkach wywołań zwrotnych i poprawnie obsługuje anulowanie dużych liczb w kompilacjach Unicode Delphi
- Wyodrębnianie macierzy formuły tablicowej uwzględnia teraz niezerowe dolne granice tablicy Variant, zamiast zgłaszać błąd dla prawidłowych tablic opartych na 1
Wersja 2.132.2
Zmieniono
- Sortowanie zakresów używa teraz stabilnego przejścia porządkującego O(n log n) dla dużych sortowanych zakresów, zachowując istniejącą zawartość wierszy podczas zapisu i odczytu
- Numeryczne analizowanie i formatowanie ODS i XLSX ponownie wykorzystuje teraz niezmienny stan formatowania zamiast tworzyć go wielokrotnie w kluczowych ścieżkach kodu
Poprawione
- Analiza XML akceptuje teraz prawidłowe bloki CDATA i instrukcje przetwarzania UTF-8 bez uszkadzania tekstu ani błędów przy prawidłowej strukturze
- Analiza formuł akceptuje teraz podpisaną notację naukową i poprawnie odrzuca nieprawidłowe lub obcięte bajty formuł
- Klasyczne ścieżki otwierania i zapisywania skoroszytów teraz niezawodnie zwalniają strumienie i magazyny po wystąpieniu błędów, zapobiegając blokowaniu plików tymczasowych
- Obsługa buforów binarnych sprawdza teraz granice kopiowania i odczytu, powiększa bufor docelowy przed kopiowaniem i poprawnie odrzuca nieprawidłowe odwołania wsteczne kompresji VBA
Wersja 2.132.1
Poprawione
- Poprawiono komunikat o błędzie zgłaszany, gdy zaszyfrowany skoroszyt używa nieobsługiwanego schematu szyfrowania: wcześniej twierdzono, że nie można odczytać szyfrowania ECMA-376 Agile Encryption, chociaż deszyfrowanie Agile (AES-128/192/256) jest obsługiwane od wersji 2.119.0; komunikat wyświetla teraz faktycznie obsługiwane schematy
- Metoda Open kieruje teraz wywołujących do TXLSXWorkbook.OpenEncrypted, gdy odrzuci zaszyfrowany pakiet OOXML, zamiast informować, że zaszyfrowane skoroszyty nie są obsługiwane
Wersja 2.132.0
Zmieniono
- Ładowanie XLSX jest znacznie szybsze: czytnik XML dokonuje teraz internownia powtarzających się nazw elementów i konwertuje tekst oraz wartości atrybutów bezpośrednio ze swojego bufora skanowania, zmniejszając alokację pamięci na komórkę o ponad połowę; otwarcie wielowątkowe (2.128.0) przynosi najwięcej korzyści — usunięte alokacje to te, które serializowały wątki robocze — dzięki czemu skoroszyty z wieloma arkuszami otwierają się teraz niemal dwukrotnie szybciej niż ścieżka jednowątkowa na maszynach wielordzeniowych; otwarcie jednowątkowe również zyskuje kilka procent
Wersja 2.131.0
Dodano
- Bloki rozszerzeń arkusza, których HotXLS nie modeluje — wpisy
<ext>w elemencie<extLst>arkusza inne niż sparklines, zapisywane przez Excel dla funkcji takich jak formatowanie warunkowe x14 lub fragmentatory — są teraz zachowywane bez zmian po otwarciu skoroszytu i zapisywane z powrotem przy zapisie, dzięki czemu otwarcie i ponowne zapisanie pliku nie usuwa już tych rozszerzeń; przechwycone bloki są widoczne tylko do odczytu poprzezWorksheet.RawWorksheetExtsi przemieszczają się wraz z arkuszem, gdy jest on kopiowany do innego skoroszytu
Wersja 2.130.0
Dodano
- Zapisane skoroszyty zawierające formuły przenoszą teraz część łańcucha obliczeń
xl/calcChain.xml, pozwalając programowi Excel zainicjować swój silnik zależności z zapisanej kolejności zamiast odbudowywać go przy ładowaniu. Po wywołaniuRecalculatełańcuch podąża za porządkiem topologicznym grafu zależności; w przeciwnym razie komórki z formułami są wymienione w kolejności dokumentu (wskazówka, którą Excel udoskonala w locie). Część, jej typ zawartości i relacja skoroszytu są emitowane razem i przetrwają round-tripy otwierania/zapisywania
Wersja 2.129.0
Dodano
- Nowa właściwość
Workbook.ParallelParseThreadsdostraja liczbę wątków roboczych dla wielowątkowej ścieżki Open wprowadzonej w wersji 2.128.0 (0 = automatycznie, jeden wątek na rdzeń procesora); analizowanie arkusza mocno obciąża pamięć, a alokacja pamięci jest serializowana między wątkami, więc w niektórych przypadkach niewielki jawny limit działa tak samo dobrze — lub lepiej — niż pełna liczba rdzeni; właściwość ta pozwala integratorom wybrać optymalne ustawienie dla ich plików
Wersja 2.128.0
Dodano
- Wielowątkowe ładowanie XLSX: otwieranie skoroszytu przetwarza teraz plik XML każdego arkusza — co stanowi główny koszt przy dużych plikach — w wątkach roboczych, dzięki czemu skoroszyty z wieloma arkuszami otwierają się szybciej na maszynach wielordzeniowych; części arkuszy są wyodrębniane z pakietu z góry i każdy pracownik modyfikuje tylko własny arkusz, więc załadowany skoroszyt jest identyczny z wynikiem sekwencyjnym
- Nowa właściwość
Workbook.ParallelParse(domyślnieTrue) przełącza z powrotem na analizowanie jednowątkowe po ustawieniu naFalseprzed wywołaniemOpen— jednoliniowe wyłączenie dla środowisk o ograniczonych zasobach
Zmieniono
- Wywołanie zwrotne odczytu
OnProgressnadal wyzwala się raz na arkusz w wątku wywołującym, teraz przy przekazywaniu każdego arkusza do analizy, a nie ściśle między arkuszami
Wersja 2.127.0
Dodano
- Przyrostowe przeliczanie w silniku XLSX: nowa metoda
Workbook.Recalculatebuduje wykres zależności formuł, oblicza każdą komórkę z formułą raz w kolejności zależności i przechowuje każdy wynik w pamięci podręcznej komórki; kolejne wywołania ponownie obliczają tylko te komórki, na które wpłynęły zmiany wartości od ostatniego przejścia — w modelach łańcuchowych (arkusze finansowe, kaskady raportów) edycja jednego wejścia powoduje przeliczenie tylko jego formuł podrzędnych zamiast całego skoroszytu - Funkcje zmienne (
NOW,TODAY,RAND,OFFSET,INDIRECT) przeliczają się przy każdym przejściu, podobnie jak formuły, których odwołań nie można rozstrzygnąć statycznie (nazwy wieloobszarowe, zewnętrzne skoroszyty) — silnik woli przeliczyć nadmiarowo, niż ryzykować nieaktualny wynik - Cykle odwołań są teraz wykrywane zamiast powodować pętlę:
Recalculatezwraca kod błędu, gdy formuły tworzą kołowe powiązanie, pomija elementy cyklu i nadal oblicza każdą formułę poza cyklem; odwołania między arkuszami, zakresy nazwane i formuły tablicowe CSE (wyniki rozlewające się na zakotwiczony zakres) w pełni uczestniczą w wykresie zależności
Zmieniono
- Istniejąca ścieżka
Calculatewywoływana na żądanie pozostaje bez zmian;Recalculateto osobny interfejs API wymagający jawnego włączenia, a skoroszyty, które go nie wywołują, zachowują się dokładnie tak jak wcześniej
Wersja 2.126.0
Dodano
- Wykresy przebiegu w czasie (Sparklines) w silniku XLSX: arkusze zawierają teraz grupy wykresów przebiegu — miniaturowe wykresy wewnątrzkomórkowe renderowane przez program Excel z zakresu danych — z trzema typami programu Excel (liniowy, kolumnowy, skumulowany zysk/strata); utwórz je za pomocą
Worksheet.AddSparklineGrouplub buduj grupy ręcznie poprzez nową kolekcjęWorksheet.SparklineGroups, dodając dowolną liczbę wykresów przebiegu w grupie z zakresem źródłowym i komórką wyświetlania dla każdego z nich - Grupy wykresów przebiegu w czasie eksponują pełny zestaw opcji oferowanych przez program Excel: grubość linii, znaczniki punktów danych, przełączniki wyróżniania punktów najwyższych/najniższych/ujemnych/pierwszych/ostatnich, osiem gniazd kolorów ARGB (seria, ujemne, oś, znaczniki, pierwsze, ostatnie, najwyższe, najniższe), skalowanie osi pionowej dla grupy lub pojedynczego wykresu przebiegu, a także obsługę pustych komórek źródłowych (przerwy/zero/rozciągnięcie)
- Wykresy przebiegu w czasie (Sparklines) zachowują się podczas pełnego cyklu zapis→odczyt: zapis generuje blok rozszerzenia arkusza
extLst([MS-XLSX] §2.3.6), dzięki czemu Excel 2010 i nowsze renderują te wykresy, a otwarcie takiego skoroszytu — niezależnie od tego, czy został zapisany przez HotXLS, czy Excel — odbudowuje każdą grupę, opcję i zakres, dzięki czemu zachowują się one podczas cykli edycji; kopiowanie arkusza do innego skoroszytu klonuje również jego grupy wykresów przebiegu
Wersja 2.125.0
Dodano
- Siedem dwubajtowych (DBCS) funkcji tekstowych liczących bajty z analizy luk XLSSuit jest teraz wyliczanych na obu silnikach:
LEFTB,RIGHTB,MIDB,LENB,FINDB,SEARCHBiREPLACEB. Każda traktuje swoje wejście jako ciąg bajtów w systemowej stronie kodowej ANSI, tak że znaki CJK (chińskie/japońskie/koreańskie) zajmują 2 bajty, a ASCII zajmuje 1; operacje, które podzieliłyby parę bajtów prowadzący/końcowy DBCS, cofają się do najbliższej granicy znaku, zgodnie z zachowaniem programu Excel
Wersja 2.124.0
Dodano
- Pięć funkcji testowania hipotez i rozkładu z analizy luk XLSSuit jest teraz obliczanych w obu silnikach:
Z.TEST(jednostronne prawdopodobieństwo prawego ogona, że średnia z próby wynosi co najmniejxprzy hipotezie zerowej),T.TEST(wartość p parzystego testu t dla dwóch prób; typy nieparzyste o równej/nierównej wariancji są odroczone),CHISQ.TEST(wartość p dobroci dopasowania poprzez dystrybuantę chi-kwadrat górnego ogona),HYPGEOM.DIST(PMF/CDF hipergeometryczny z flagą kumulacji) orazNEGBINOM.DIST(PMF/CDF ujemnego rozkładu dwumianowego); obliczenia wartości p ponownie wykorzystują istniejących pomocników dystrybuanty normalnej/Studenta-t/chi-kwadrat silnika za pomocą autonomicznych zagnieżdżonych procedur, więc żadna istniejąca metoda Calc nie ulega zmianie
Wersja 2.123.0
Dodano
- Czternaście funkcji formuł, które porównanie z XLSSuit zidentyfikowało jako luki, jest teraz obliczanych w obu silnikach:
AVERAGEIF(średnia z jednym kryterium, brakujący odpowiednik SUMIF/COUNTIF),WORKDAY.INTLiNETWORKDAYS.INTL(niestandardowe maski weekendów za pomocą kodów numerycznych 1-17 lub 7-znakowego ciągu Pon-Niedz),XIRRiXNPV(wewnętrzna stopa zwrotu i wartość bieżąca netto dla przepływów pieniężnych o nieregularnych datach, rozwiązywane metodą bisekcji),CEILING.PRECISE/FLOOR.PRECISE/ISO.CEILING(zaokrąklanie niezależne od znaku),PERCENTRANK.INC/PERCENTRANK.EXC(pozycja procentowa z dopasowaną interpolacją włącznie/wyłącznie),MODE.MULT(zwraca każdą wartość powiązaną z najwyższą częstotliwością),ERF.PRECISE(funkcja błędu Gaussa poprzez jej naprzemienne szeregi),ACCRINT(naliczone odsetki) orazISPMT(odsetki okresowe dla stałej amortyzacji kapitału)
Wersja 2.122.0
Dodano
- Komentarze wątkowe (Excel 365) są teraz poprawnie zapisywane i odczytywane w silniku XLSX:
AddThreadedCommentiAddThreadedReplyw arkuszu budują drzewo odpowiedzi rodzic→dziecko zakotwiczone w komórce, automatycznie rejestrują każdego autora na nowej liściePersonsna poziomie skoroszytu i generują dedykowaną częśćxl/threadedComments/threadedCommentN.xmlna arkusz orazxl/person/person.xmlo zakresie skoroszytu; ponowne otwarcie takiego pakietu odbudowuje drzewo konwersacji i listę uczestników na podstawie tych części, dzięki czemu wątki odpowiedzi, identyfikatory i nazwy wyświetlane zachowują się podczas pełnego cyklu odczyt→zapis
Wersja 2.121.0
Dodano
- Ewaluator formuł oblicza teraz funkcje tablic dynamicznych Excel 365:
XMATCH,SORT,UNIQUEiSEQUENCE, dołączając do już obsługiwanychXLOOKUPiFILTER; wyniki rozlewają się jako tablice dwuwymiarowe, dzięki czemuSEQUENCE(3;2;1;1)zwraca siatkę 3×2,SORTporządkuje wiersze według dowolnej kolumny kluczowej rosnąco lub malejąco,UNIQUEzwija zduplikowane wiersze zachowując pierwsze wystąpienie, aXMATCHzgłasza pozycję opartą na 1 szukanej wartości z tymi samymi trybami dopasowania (dokładne/symbol wieloznaczny/następny mniejszy/następny większy) coXLOOKUP
Wersja 2.120.0
Dodano
- Nowa metoda
PasteFromClipboardw arkuszach obu silników odczytuje tekst rozdzielany tabulatorami ze schowka systemu Windows — dane, które program Excel tam umieszcza po skopiowaniu zakresu, lub zwykłe zaznaczenie z dowolnej innej aplikacji — i zapisuje je w komórkach zaczynając od danego wiersza i kolumny, z tym samym mechanizmem konwersji typów liczb/dat/wartości logicznych, z którego korzysta już ładowarka CSV; tekst rozpoczynający się od=staje się aktywnej formułą, co odpowiada sposobowi wklejania przez sam Excel
Wersja 2.119.0
Dodano
- Odczyt szyfrowania ECMA-376 Agile — ochrony hasłem stosowanej domyślnie przez program Excel 2010 i nowsze:
OpenEncryptedanalizuje teraz deskryptor szyfrowania XML, uzyskuje klucze za pomocą haszowania SHA-512, weryfikuje hasło i deszyfruje podzielony pakiet AES-CBC (AES-128/192/256), dzięki czemu skoroszyty chronione hasłem bezpośrednio w Excelu otwierają się bez zainstalowanego Excela OpenEncryptedobsługuje wszystkie trzy przypadki za pomocą jednego punktu wejścia: zwykły niezaszyfrowany plik.xlsx, szyfrowanie standardowe (nasza kompatybilność zSaveAsEncrypted) oraz szyfrowanie zwinne (Agile); błędne hasło zgłasza ten sam wyraźny błąd w każdym schemacie
Poprawione
- Zapisywanie skoroszytu
.xlsx, którego arkusz XML przekraczał około 116 KB — około 3000 wierszy typowych danych tekstowych — kończyło się awarią z przepełnieniem stosu; suma kontrolna CRC-32 modułu zapisu ZIP przetwarza teraz dane w porcjach po 64 KB, co utrzymuje backend kompresji z dala od ścieżki kodu dla dużych wejść, która przydziela zbyt duży bufor pomocniczy na stosie. Wynik sumy kontrolnej pozostaje niezmieniony
Zmieniono
- Deduplikacja ciągów współdzielonych odbywa się teraz za pomocą tablicy mieszającej zamiast skanowania listy ciągów znaków, a część
sharedStrings.xmljest montowana za pomocą pre-alokowanego kreatora ciągów zamiast powtarzanej konkatenacji — wraz z indeksem komórek o stałym czasie dostępu pozwala to skrócić czas zapisu 120 000 komórek tekstowych z kilkudziesięciu sekund do około jednej trzeciej sekundy
Wersja 2.117.0
Zmieniono
- XLSX komórka access jest now constant-time: arkusz komórka kolekcja carries hash indeks over (wiersz, kolumna), replacing previous linear scan — so populating, reading back, lub loading large arkusz scales linearly z komórka count instead z quadratically; filling 100,000 komórki now takes well under second where it previously took minutes
- speedup applies across engine:
Cells[r, c],HasCell, skoroszyt loading, saving, cross-skoroszyt copies, auto-fit, i każdy helper że touches komórki przez position all benefit; wiersz i kolumna insertion lub deletion rebuilds indeks w single pass
Wersja 2.116.0
Dodano
- PDF export w klasyczny XLS engine: new
SaveAsPDFmetody on arkusz i skoroszyt render używany zakres (lub caller-supplied zakres przezTXLSPDFExport) as paginated grid — komórka display tekst przez number format, gridlines, kolumna widths derived z Excel widths i scaled do fit strona, i automatic multi-strona pagination - Output jest self-contained PDF 1.4 plik z no external dependencies, używając built-w Helvetica czcionka z WinAnsi tekst encoding; portrait lub landscape A4 orientation, strona margin, i czcionka size są configurable on exporter
- ten jest data-presentation export alongside HTML i RTF: it reproduces tabular content i layout dla reports i document handoff rather than full per-komórka styling
Wersja 2.115.0
Dodano
- jeden-call chart creation z data zakres w XLSX engine: new
AddChartFromRangebuilds complete chart i derives its series automatically z rectangular data block — equivalent z Excel's "insert chart z selection" — z series-w-kolumny lub transposed series-w-wiersze layout - Named shortcuts
AddColumnChart,AddBarChart,AddLineChart,AddPieChart, iAddAreaChartpick chart type przez nazwa over same jeden-call flow, reading series names z header wiersz i category labels z first kolumna - Series references są qualified z source arkusz's quoted nazwa, so generated chart keeps working gdy placed on any arkusz i survives save i reload
Wersja 2.114.0
Dodano
- RTF import w klasyczny XLS engine, inverse dla istniejący
SaveAsRTFexport: newOpenRTFmetody on arkusz i skoroszyt read RTF document's table do arkusz komórki —\celladvances kolumna,\rowadvances wiersz — starting at A1 - Recovers tabular data z pliki produced przez
SaveAsRTF, Word, lub WordPad: numeric tekst jest stored as numery so formuły keep working, hex (\'hh) i Unicode (\uN) escapes decode correctly, i header groups (czcionka table, kolor table, stylesheet, info) są skipped - Documents z no table fall back do paragraph mode, importing each
\paras next wiersz w kolumna
Wersja 2.113.0
Dodano
- Reading z encrypted
.xlsxskoroszyty:OpenEncryptednow decrypts ECMA-376 Standard Encryption (AES-128) packages, completing round trip z istniejącySaveAsEncrypted— it reads compound-plik container, derives key z hasło, verifies it, i loads recovered skoroszyt - wrong hasło raises clear "hasło jest incorrect" error, i
OpenEncryptedon plain unencrypted.xlsxcontinues do load it directly, so callers może route każdy plik przez jeden wpis point
Zmieniono
- unsupported-encryption message now names ECMA-376 Agile Encryption specifically as remaining unsupported scheme, since Standard Encryption reading i writing są both dostępny
Wersja 2.112.0
Dodano
- New
TaggedTextwłaściwość on XLSX komórki converts between rich tekst i lightweight markup:<b>,<i>,<u>,<s>,<sub>,<sup>,<color=#RRGGBB>,<font=Name>, i<size=N>, z</>/&escapes — so multi-format komórka content może be produced z template String instead z assembling run obiekty przez hand - Writing markup builds run list i keeps
Valueas concatenated plain tekst; markup bez tags stores plain String z no rich payload; reading serializes each run's attributes as complete tag ustawia; unknown tags pass przez as literal tekst
Naprawiono
- rich-tekst run consisting entirely z whitespace (dla example single styled space between words) now survives save i reload; previously space was dropped gdy plik was reopened
Wersja 2.111.0
Dodano
- New
OnProgresszdarzenie on XLSX skoroszyt reports load i save progress: it fires once per arkusz as it jest parsed duringOpenlub emitted duringSaveAs, carrying phase (reading lub writing), current 1-oparty arkusz number, i total — so applications może drive progress bar over long multi-arkusz operations at negligible callback cost
Wersja 2.110.0
Dodano
- New
TXLSRowCursordataset-styl wiersz cursor dla.xlsx/.xlsmpliki:Open,SelectSheet, thenFindFirst/FindNextwalk arkusz jeden wiersz at time z tylko current wiersz's komórki w memory — pull-driven alternative doTXLSDirectReader's callbacks dla sequentially processing multi-million-wiersz arkusze - Each wiersz exposes its 1-oparty arkusz wiersz number, populated komórki w document order (typowany wartość, formuła tekst, styl indeks), i
ValueByCollookup że zwracaNulldla kolumny not populated on że wiersz; wiersze z no populated komórki są skipped - arkusz names i count są dostępny after
Open(plik i stream overloads), z shared strings i date-format detection handled same way as streaming reader
Wersja 2.109.0
Dodano
- New
TXLSXCellFormat"format brush" dla XLSX engine: describe czcionka, fill, obramowanie, alignment, number format, i protection once, then stamp any number z targets zApply(single komórka),ApplyRange,ApplyRows,ApplyCols, lubApplySheet - tylko aspects actually touched są applied — brush że ustawia just
Font.Boldleaves targets' fills, obramowania, i number formaty untouched — so brushes compose z istniejący formatting like Excel's format painter - Each apply resolves touched aspects do skoroszyt styl pools once i then writes tylko pool indices per komórka, so formatting large zakresy costs jeden pool lookup per aspect rather than per komórka;
ApplyRangematerializes missing komórki podczas wiersz/kolumna/arkusz forms stamp istniejący komórki tylko
Wersja 2.108.0
Dodano
- Localizable Boolean display tekst: new
XLSBooleanTrueText/XLSBooleanFalseTextvariables control how Boolean komórka wartości render wherever display tekst jest produced —FormattedText, HTML export, i auto-fit measurement — so localized applications może show dla example WAHR/FALSCH lub VRAI/FAUX
Zmieniono
- Boolean komórki now display as
TRUE/FALSEprzez default, matching Excel's grid, instead dla runtime'sTrue/Falsecapitalization
Wersja 2.107.0
Dodano
- New
OnPasswordzdarzenie on klasyczny XLS skoroszyt: gdyOpenmeets encrypted skoroszyt i supplied hasło jest missing lub wrong, zdarzenie asks application dla hasło i retries open (up do three attempts) — so interactive tools może prompt user instead z pre-loading passwords lub inspecting error codes - zdarzenie receives current hasło przez dokumentacja i
Retryflag; leavingRetryatFalsegives up i zwraca original hasło error
Wersja 2.106.0
Dodano
- New
TXLSFileMonitorklasa watches skoroszyt plik on disk i firesOnFileChangedgdy another process — typically Excel — saves over it, so applications może reload i refresh their view automatically - Polling-oparty (last-write time plus size,
IntervalMsconfigurable, 1 s default), so it works on local disks i network shares alike bez message loop;SynchronizeEventchooses between main-thread delivery dla UI handlers (default) i direct watcher-thread delivery dla console lub service code - plik że briefly disappears during save cycle does not fire false zdarzenie; change jest reported once new content jest w place
Wersja 2.105.0
Dodano
- Bounded auto-fit w klasyczny XLS engine, matching limits XLSX engine already offers: new
AutoFit(Columns, AMin, AMax),ColumnsAutoFit(AMinWidth, AMaxWidth), iRowsAutoFit(AMinHeight, AMaxHeight)overloads clamp każdy fitted kolumna szerokość (Excel szerokość units) lub wiersz wysokość (points) do given zakres — 0 leaves side unbounded, i all-empty kolumna lub wiersz still receives requested minimum
Wersja 2.104.0
Dodano
- New Tylko do odczytu
FormattedTextwłaściwość Zwraca komórka's display tekst — stored wartość rendered przez its number format, way Excel shows it w grid — covering thousands separators, decimals, percentages, date i time masks, multi-section positive/negative/zero masks, i Boolean formaty - dostępny w both engines: on
IXLSRangew klasyczny XLS engine (multi-komórka zakresy render their anchor komórka) i onTXLSXCellw XLSX engine (rich-tekst komórki zwrócić their concatenated run tekst)
Wersja 2.103.0
Dodano
- New
DetectExcelContentFormatfunkcja (plik nazwa i stream overloads) identifies skoroszyt's container z its leading bytes rather than plik extension — reporting BIFF/OLE compound plik, OOXML.xlsxpackage, OpenDocument.odspackage, lub plain delimited tekst — so applications może route renamed lub extension-less pliki do right loader
Zmieniono
TXLSWorkbook.Opennow sniffs content signature i rejects ZIP-oparty packages (.xlsxlub.odsrenamed do.xls) z clear message naming right loader, instead z failing z opaque error codeTXLSXWorkbook.Opennow recognizes OLE compound-plik content (legacy.xlsrenamed do.xlsx, lub encrypted package) i reports what plik actually jest, instead z surfacing ZIP parser error
Wersja 2.102.0
Dodano
- Cross-skoroszyt arkusz copy w klasyczny XLS (BIFF8) engine now brings skoroszyt-level defined names formuła uses over do destination — same thing Excel does gdy arkusz moves between skoroszyty: nazwa destination already has jest bound as-jest (no duplicate jest created), missing nazwa jest registered z its original definition i visibility so formuła recompiles against it, i nazwa whose definition cannot resolve w destination (dla example, it points at arkusz że does not exist there) leaves formuła on its computed wartość as before
Wersja 2.101.0
Dodano
- Cross-skoroszyt arkusz copy w klasyczny XLS (BIFF8) engine now re-points formuły at source skoroszyt as external link gdy destination has no arkusz dla referenced nazwa i source has been saved do plik: copied komórka stays live formuła (its references switch do [SourceBook]arkusz form), source's computed wartość jest kept as cached result so reads keep working until link jest refreshed, i external skoroszyt dokumentacja round-trips przez save i reload; formuły carrying defined-nazwa references, i copies z unsaved source skoroszyty, keep computed wartość as before
Wersja 2.100.0
Dodano
- Array formuły now survive arkusz copies w klasyczny XLS (BIFF8) engine: each array zakres jest rebuilt as whole w copy — within same skoroszyt i across skoroszyty alike — z root formuła recompiled against destination's arkusz names; array destination cannot recompile keeps its computed wartości instead
Naprawiono
- Copying zakres że zawiera array-formuła komórki between klasyczny XLS arkusze no longer risks crash on spill komórki (which carry no formuła tree z their own); such komórki now transfer their computed wartość
Wersja 2.99.0
Dodano
- Chart arkusze może now be copied between klasyczny XLS (BIFF8) skoroszyty: chart record stream jest cloned do destination, series category / wartość / nazwa references są recompiled against destination's arkusz names (series whose arkusz has no same-nazwa counterpart falls back do empty dokumentacja so plik still opens), chart czcionka references migrate przez wartość do destination czcionka table, i strona setup, tab kolor, zoom, i visibility dla chart arkusz come along; ten removes last documented limitation dla cross-skoroszyt arkusz copy
Wersja 2.98.0
Dodano
- Cross-skoroszyt arkusz copy w klasyczny XLS (BIFF8) engine now preserves rich-tekst formatting inside komórki: each formatting run's czcionka jest migrated przez wartość do destination skoroszyt's czcionka table i run jest rewritten do point at it, so mixed-czcionka strings keep their appearance instead z falling back do plain tekst; phonetic (Far-East) auxiliary data travels z String as well
Naprawiono
- czcionki referenced tylko przez rich-tekst runs (i not przez any komórka format) są no longer dropped z czcionka table gdy saving klasyczny XLS skoroszyt, i runs now follow same czcionka reordering as komórka formaty on save, so rich-tekst strings keep correct czcionki after save/reload cycle
Wersja 2.97.0
Dodano
- Cross-skoroszyt arkusz copy w klasyczny XLS (BIFF8) engine now also clones embedded pictures: image bytes migrate do destination skoroszyt's picture store (identical images są shared rather than duplicated), i each picture frame keeps its komórka anchor, size, visibility, i transparent kolor; new CrossWorkbookCopyXls sample project demonstrates klasyczny-engine copy end do end
Zmieniono
- klasyczny XLS cross-skoroszyt copy limitations są now documented: chart arkusze są not copied (AddCopy zwraca nil dla them), i formuła whose arkusz dokumentacja has no same-nazwa arkusz w destination keeps source's computed wartość instead z becoming external dokumentacja
Wersja 2.96.0
Dodano
- Cross-skoroszyt arkusz copy w klasyczny XLS (BIFF8) engine now also clones conditional formaty (komórka-jest i expression rules, data bars, kolor scales, icon ustawia, i their differential styles), data validations (list, numeric, date, tekst-length, i custom rules z prompt i error boxes), AutoFilter definition z its per-kolumna criteria (dropdown buttons są rebuilt w copy), i tabele (ids i names są re-issued so they stay unique w destination skoroszyt); rule formuły są recompiled against destination's arkusz names, matching behavior z komórka formuły
Wersja 2.95.0
Dodano
- klasyczny XLS (BIFF8) arkusze może now be copied z jeden skoroszyt do another: TXLSWorksheets.AddCopy dodaje new arkusz do destination skoroszyt i copies source arkusz's komórka wartości, formuły (re-encoded as tekst so destination recompiles them against its own arkusz names, keeping same-nazwa 3D references live), merged komórki, komentarze, hiperłącza, wiersz heights, kolumna widths, outline levels, frozen panes, arkusz protection, strona setup, manual strona breaks, tab kolor, i view settings; komórka, wiersz, i kolumna formaty są migrated przez wartość do destination skoroszyt's format table, so styled source produces independently styled copy
- Cross-skoroszyt format migration w klasyczny XLS engine now carries full-precision RGB i motyw kolory alongside each format wpis, so fills, czcionki, i obramowania keep their exact kolory instead z falling back do palette approximations; ten also applies do zakres-level paste between skoroszyty
Wersja 2.94.0
Dodano
- Cross-skoroszyt arkusz copy now clones conditional formaty (z their differential styles i dataBar / colorScale / iconSet visual payloads), tabele, data validations, i charts (z każdy series); each sub-obiekt deep-copies its own state do destination arkusz
- Cross-skoroszyt formuła references są rewritten: dokumentacja whose arkusz nazwa exists w destination resolves as-jest, otherwise it becomes external dokumentacja back do source skoroszyt (which jest registered as external link) lub #REF! gdy source has no plik identity; rewrite applies do komórka formuły, conditional-format rules, data-validation formuły, i chart series zakresy alike
Wersja 2.93.0
Dodano
- arkusz może now be copied z jeden skoroszyt do another: TXLSXSheets.AddCopy dodaje new arkusz do destination skoroszyt i copies source arkusz's komórki, formuły, merged zakresy, kolumna/wiersz sizing, hidden/collapsed/outline flags, freeze panes, view state, protection, strona setup, AutoFilter zakres, i tab colour onto it; six per-komórka styl indices są remapped do destination skoroszyt's own czcionka/Fill/obramowanie/NumberFormat/Alignment/Protection pools via wartość-equality lookup, so styled source produces independently-styled copy rather than indices pointing at wrong pool
- six per-attribute styl pools (czcionki, Fills, obramowania, NumberFormats, Alignments, Protections) each expose 1-oparty LookupOrAdd że deduplicates przez wartość; new CrossWorkbookCopy sample project demonstrates cross-skoroszyt copy z styl zachowanie
Wersja 2.92.0
Dodano
- XLSX skoroszyty now obsługa tabele przestawne: TXLSXWorksheet.AddPivotTable scans flat source zakres, auto-builds pivot cache, i Zwraca typowany tabela przestawna dla wiersz / kolumna / strona / data-axis wiring, mirroring long-standing BIFF8 (XLS) engine API so same code targets either format; PivotSetDataFieldFormat assigns number format do each aggregated wartość field
- Excel-created tabele przestawne dwukierunkowy bez loss przez Open then Save: XLSX engine preserves each pivot cache definition, cache records, i tabela przestawna part verbatim i replays original bytes on save, so re-saving skoroszyt never drops lub alters its pivots even gdy they use funkcje typowany model does not expose
Wersja 2.91.0
Dodano
- Filtr AutoFilter arkusza może być teraz zastosowany do danych, dzięki czemu zapisany skoroszyt otwiera się z już ukrytymi niepasującymi wierszami, odzwierciedlając zachowanie programu Excel po wybraniu wartości z listy rozwijanej filtra
- Osadzone obrazy udostępniają swoją geometrię w rzeczywistych jednostkach (centymetry, cale, punkty) obok wartości EMU i mogą być skalowane za pomocą współczynnika skali z opcjonalnym blokowaniem proporcji
- Marginesy ustawień strony można ustawiać bezpośrednio w centymetrach, co jest wygodniejszą metryczną alternatywą dla marginesów opartych na calach
- Chronione arkusze XLSX udostępniają teraz piętnaście szczegółowych przełączników uprawnień (formatowanie komórek, wstawianie/usuwanie wierszy i kolumn, sortowanie, AutoFilter, zaznaczanie zablokowanych/odblokowanych komórek i inne) za pośrednictwem nowej właściwości AllowOption, co odpowiada liście pól wyboru w Excelu: Recenzja > Chroń arkusz; ustawienia poszczególnych akcji są zachowywane podczas zapisu i odczytu pliku
- Arkusze XLSX można teraz duplikować (TXLSXSheets.Duplicate): dodawany jest nowy arkusz, a na niego kopiowane są komórki źródłowe, scalone zakresy, rozmiary kolumn/wierszy, zamrożone okienka, stan widoku, ochrona, ustawienia strony i kolor karty, co odzwierciedla akcję z menu kontekstowego w programie Excel > Przenieś lub kopiuj > Utwórz kopię
- Dwadzieścia dwa nowe przykładowe projekty obejmują możliwości obsługiwane przez bibliotekę: szyfrowanie skoroszytu, komentarze w komórkach, hiperłącza, zdefiniowane nazwy, ocena AutoFilter, osadzone obrazy, szablon faktury, zaawansowane formatowanie warunkowe XLSX, scalone komórki, grupowanie wierszy/kolumn, zamrożone okienka, układ wieloarkuszowy, formuły tablicowe, kopiowanie/przenoszenie zakresu, znajdź/zamień, systemy dat, tekst sformatowany, zaawansowane opcje CSV, opcje eksportu HTML, niestandardowe formaty liczb, ukryte wiersze/kolumny i ochrona arkusza
Wersja 2.90.29
Zmieniono
- Bezpośredni czytnik strumieniowy liczy teraz każdą wypełnioną komórkę, nawet jeśli nie przypisano modułu obsługi poszczególnych komórek, dzięki czemu zwykłe wywołanie ReadFile może posłużyć do szybkiego określenia rozmiaru arkusza; zwrócona liczba i właściwość CellCount zgłaszają liczbę przeskanowanych wypełnionych komórek
Wersja 2.90.28
Dodano
- Formuły można teraz obliczać krok po kroku, co jest odpowiednikiem polecenia „Szacuj formułę” w programie Excel: nowy moduł śledzenia redukuje wyrażenie po jednym podkroku na raz, zaczynając od najbardziej wewnętrznego, i raportuje każdą redukcję z jej źródłowym podwyrażeniem, tym samym podwyrażeniem po zastąpieniu argumentów ich wartościami, oraz ostateczną wartością, dzięki czemu aplikacje mogą pokazać, jak powstaje wynik; przestrzega on pierwszeństwa operatorów, zachowuje nienaruszone odwołania do zakresów dla funkcji takich jak SUM, i ponownie wykorzystuje aparat obliczeniowy arkusza, więc każdy krok zgadza się z pełnym przeliczeniem
Wersja 2.90.27
Dodano
- Skoroszyty XLSX mogą być teraz tworzone komórka po komórce za pomocą nowego bezpośredniego kreatora strumieniowego, który emituje każdy arkusz bezpośrednio do pakietu w miarę nadejścia wierszy, bez budowania pełnego drzewa komórek w pamięci, co pozwala na generowanie bardzo dużych plików przy niemal stałym zużyciu pamięci; kreator obsługuje wbudowane ciągi znaków, liczby, wartości logiczne, daty i formuły w wielu arkuszach oraz płynnie współpracuje z bezpośrednim czytnikiem strumieniowym
Wersja 2.90.26
Dodano
- Skoroszyty XLSX mogą być teraz skanowane komórka po komórce za pomocą nowego bezpośredniego czytnika strumieniowego, który wyzwala zdarzenia dla poszczególnych komórek i arkuszy bez budowania pełnego drzewa komórek w pamięci, utrzymując niemal stałe zużycie pamięci dla bardzo dużych plików; każda zgłoszona komórka niesie swoją wartość, rodzaj (liczba, ciąg znaków, wartość logiczna, data lub błąd), tekst formuły i indeks stylu, z opcjonalnym wykrywaniem dat i obsługą wczesnego przerywania
Wersja 2.90.25
Dodano
- Klasyczne arkusze kalkulacyjne XLS mogą teraz dodawać hiperłącza z odwołań do komórek w stylu A1 przy zachowaniu normalizacji URL, podadresów docelowych skoroszytów, tekstu wyświetlanego i podpowiedzi ekranowych
Wersja 2.90.24
Dodano
- Klasyczne podziały stron XLS można teraz dodawać korzystając z indeksowanych od 1 pozycji wierszy lub kolumn oraz odwołań do komórek w stylu A1 za pośrednictwem przeciążeń kolekcji podziałów stron i pomocników arkusza
Wersja 2.90.23
Dodano
- Klasyczne arkusze XLS i kolekcje kształtów mogą teraz tworzyć obiekty rysunkowe prostokątów, owali, linii oraz typizowanych autokształtów na podstawie ciągów zakresów w stylu A1
Wersja 2.90.22
Dodano
- Klasyczne kolekcje kształtów XLS mogą teraz tworzyć pola tekstowe na podstawie ciągów zakresów w stylu A1 za pośrednictwem przeciążenia AddTextBox
Wersja 2.90.21
Dodano
- Klasyczne pola tekstowe XLS można teraz repozycjonować z ciągów zakresów w stylu A1 za pośrednictwem nowego przeciążenia SetArea
Wersja 2.90.20
Dodano
- Klasyczne pola tekstowe arkusza XLS można teraz tworzyć na podstawie ciągów zakresów w stylu A1 za pośrednictwem przeciążenia AddTextBox
Wersja 2.90.19
Dodano
- Klasyczne arkusze XLS mogą teraz tworzyć rysunkowe pola tekstowe bezpośrednio z kotwic wierszy i kolumn za pośrednictwem nowej metody AddTextBox
Wersja 2.90.18
Dodano
- Klasyczne arkusze XLS mogą teraz tworzyć komentarze komórek bezpośrednio ze współrzędnych wierszy i kolumn za pośrednictwem nowych przeciążeń AddComment