Często zadawane pytania

Praktyczne odpowiedzi na problemy, z którymi użytkownicy HotXLS spotykają się w pierwszej kolejności

Na tej stronie zebrano pytania, które najczęściej pojawiają się podczas instalacji HotXLS, wyboru między fasadami XLS i XLSX, oceny wersji próbnej, eksportowania raportów i wdrażania aplikacji Delphi lub C++Builder

Biblioteka natywna Skoroszyty są generowane wewnątrz procesu Delphi lub C++Builder
XLS i XLSX Oddzielne fasady utrzymują stabilność starszego kodu XLS, podczas gdy XLSX rozwija się niezależnie
Najpierw instalator Użyj instalatora do normalnej konfiguracji; wykrywa obsługiwane wersje RAD Studio
Brak opłat licencyjnych za środowisko uruchomieniowe Wdrażaj aplikacje bez opłat za środowisko uruchomieniowe dla poszczególnych kopii

Instalacja i konfiguracja IDE

Większość pytań dotyczących konfiguracji dotyczy wykrywania IDE, obsługiwanych wersji i opcjonalnej zawartości C++Builder

Jakie wersje Delphi i C++Builder są obsługiwane?

Pełny pakiet jest przeznaczony dla Delphi i C++Builder od XE5 do RAD Studio 13.1 Florence; próbny instalator dostarcza obecnie pakiety dla RAD Studio 11.3, 12.3 i 13.1

Dlaczego instalator wymienia tylko niektóre wersje IDE?

Strona IDE wymienia obsługiwane instalacje RAD Studio wykryte na bieżącym komputerze; jeśli obsługiwane IDE nie jest wymienione, potwierdź, że zainstalowano RAD Studio i że instalator jest uruchomiony w ramach tego samego profilu użytkownika Windows, który jest właścicielem ustawień IDE

Gdzie pojawiają się komponenty w czasie projektowania?

Instalator rejestruje zakładkę Tool Palette o nazwie losLab; komponenty wizualne to DataToXLS i GridToXLS

Dlaczego po instalacji brakuje pakietów lub demonstracji C++Builder?

Pliki pakietów C++Builder i projekty demonstracyjne to opcjonalna zawartość instalatora; zaznacz odpowiednie pole wyboru IDE C++Builder podczas konfiguracji, gdy potrzebujesz integracji lub demonstracji C++Builder

Czy obsługiwane są systemy Win32 i Win64?

Tak, HotXLS dostarcza standardowe pakiety Win32 i Win64 dla obsługiwanych wersji IDE; instalator może zarejestrować ścieżki bibliotek Win64x w celu przebudowy ze źródeł, ale wstępnie skompilowane pakiety Win64x nie są obecnie dostarczane

Czy muszę mieć zainstalowany Microsoft Excel?

Nie, HotXLS bezpośrednio czyta, pisze, stylizuje i eksportuje skoroszyty; nie wymaga programu Microsoft Excel, automatyzacji Office, automatyzacji COM ani zewnętrznego procesu arkusza kalkulacyjnego

Wersja próbna

Wersja próbna jest zgodna pod względem API z pełną wersją, ale ma ciche ograniczenia rozmiaru skoroszytu

Jakie ograniczenia nakłada wersja próbna?

W przypadku każdego skoroszytu wersja próbna zezwala na maksymalnie 5 arkuszy roboczych, 100 wierszy na arkusz i 26 kolumn na arkusz; te same ograniczenia dotyczą fasady XLS i fasady XLSX

Dlaczego wynik mojej wersji próbnej zatrzymuje się po kolumnie Z lub 100. wierszu?

Zapisy wykraczające poza limity próbne są akceptowane przez API, ale usuwane z zapisanego pliku; pełna wersja usuwa te ograniczenia bez konieczności wprowadzania zmian w kodzie źródłowym

Czy wersja próbna obetnie pliki, które otwieram?

Nie, otwarcie istniejącego skoroszytu zawierającego więcej niż 5 arkuszy lub więcej niż 100 wierszy i 26 kolumn nie spowoduje obcięcia pliku; ograniczenia dotyczą inicjowanego przez użytkownika dodawania arkuszy i zapisów komórek po utworzeniu skoroszytu

Czy wersja próbna wyświetla ostrzeżenia po osiągnięciu limitu?

Nie, ograniczenia są ciche: po przekroczeniu limitu próbnego nie jest emitowane żadne okno dialogowe, wiersz dziennika ani wyjątek

Wybór API

HotXLS oddziela klasyczne API XLS od nowoczesnego API XLSX, dzięki czemu istniejące projekty mogą rozwijać się we własnym tempie

Czy powinienem użyć lxHandle czy lxHandleX?

Użyj lxHandle w przypadku klasycznych przepływów pracy XLS w programie Excel 97-2003 oraz starszego kodu raportów; użyj lxHandleX i TXLSXWorkbook dla plików XLSX w programie Excel 2007 i nowszych oraz funkcji specyficznych dla OOXML

Czy jeden projekt może korzystać z obu fasad?

Tak, aplikacje mogą obejmować obie jednostki i utrzymywać oddzielne obiekty skoroszytu dla każdego formatu pliku; jest to przydatne podczas utrzymywania starych danych wyjściowych XLS przy jednoczesnym dodawaniu nowych raportów XLSX

Dlaczego niektóre funkcje XLSX nie są dostępne za pośrednictwem starego interfejsu API XLS?

XLS i XLSX mają różne modele plików; pojęcia specyficzne dla XLSX, takie jak udostępnione ciągi znaków, style OOXML, tabele, arkusze wykresów i relacje pakietów, znajdują się w lxHandleX, a nie są modernizowane do klasycznej fasady XLS

Gdzie powinienem zacząć od przykładowego kodu?

Rozpocznij od demonstracji QuickStart i ApiTour w folderach demonstracyjnych Delphi lub C++Builder; w przypadku kodu specyficznego dla XLSX skorzystaj z omówienia fasady XLSX i demonstracji eksportu XLSX

Funkcje i ograniczenia XLSX

Fasada XLSX obejmuje typowe potrzeby związane z generowaniem raportów i dokumentuje funkcje, które są celowo zarezerwowane

Jakie funkcje XLSX są obsługiwane?

TXLSXWorkbook obsługuje wartości, formuły, jawne obliczanie formuł, style, niestandardowe formaty liczb, szerokości i wysokości, scalone komórki, eksport HTML na poziomie zakresu, hiperłącza, komentarze, obrazy, formatowanie warunkowe, walidację danych, filtry, tabele, wykresy, tekst sformatowany, właściwości dokumentu, widoczność arkusza, ustawienia strony, zapisywanie z szyfrowaniem AES i otwieranie/zapisywanie oparte na strumieniach

Czy mogę zapisywać lub otwierać pliki XLSX ze strumieni?

Tak, fasada XLSX obsługuje SaveAs(Stream) i Open(Stream), które są odpowiednie dla buforów pamięci, pól BLOB bazy danych, odpowiedzi HTTP i innych ścieżek przechowywania innych niż pliki

Jak należy obsługiwać duży eksport XLSX?

Użyj fasady XLSX i włącz Workbook.StreamingWrite, gdy raport jest generowany arkusz po arkuszu; zapisywanie strumieniowe zmniejsza obciążenie pamięci skoroszytu podczas zapisywania

Czy HotXLS może otwierać lub zapisywać zaszyfrowane hasłem archiwa XLSX?

TXLSXWorkbook.SaveAsEncrypted może zapisać kontener XLSX chroniony przez AES ECMA-376 w przypadku podania niepustego hasła; OpenEncrypted może wrócić do zwykłego Open w przypadku niezaszyfrowanych pakietów, ale nadal zgłasza EXlsxEncryptionNotImplemented w przypadku zaszyfrowanych pakietów, dopóki nie wyląduje obsługa odszyfrowywania; ochrona arkusza roboczego i skoroszytu pozostają odrębnymi funkcjami blokowania w stylu Excela

Czy mogę zachować makra?

Fasada XLSX może utrzymywać bajt po bajcie ładunek vbaProject.bin w skoroszycie i udostępniać przeanalizowany, przeznaczony tylko do odczytu widok ParsedVBAProject dla prawidłowego magazynu VBA; nie kompiluje ani nie wykonuje kodu VBA

Czy formuły są obliczane wewnątrz HotXLS?

HotXLS zapisuje tekst formuły w zapisanych skoroszytach, a aplikacje arkuszy kalkulacyjnych mogą przeliczać te komórki po otwarciu pliku; w przypadku jawnej oceny w procesie zarówno fasada klasyczna XLS, jak i XLSX uwidaczniają Calculate; przypisz OnUserFunction, gdy niestandardowe lub nieobsługiwane funkcje arkusza muszą zostać obsłużone przez kod aplikacji

Eksport, wdrażanie i licencjonowanie

Te odpowiedzi obejmują formaty wyjściowe, oczekiwania dotyczące wdrożenia oraz pytania dotyczące licencjonowania, które zazwyczaj pojawiają się przed wysyłką aplikacji

Czy HotXLS może eksportować do formatów innych niż XLS lub XLSX?

Tak, HotXLS zawiera pomocników eksportu do formatów takich jak CSV, TSV, HTML i RTF; użyj fasady odpowiadającej formatowi Twojego skoroszytu i wybierz metodę eksportu wymaganą w Twoim przepływie pracy

Czy mogę używać HotXLS w usługach lub narzędziach wsadowych?

Tak, ponieważ HotXLS nie automatyzuje programu Excel, nadaje się do aplikacji komputerowych, usług, zadań wsadowych, instalatorów i narzędzi po stronie serwera, w których automatyzacja pakietu Office byłaby niestabilna lub niedostępna

Czy istnieją opłaty licencyjne za środowisko uruchomieniowe?

Nie, HotXLS nie wymaga opłat licencyjnych za środowisko uruchomieniowe; potrzebujesz licencji programisty dla programistów, którzy tworzą aplikacje za pomocą biblioteki