Zapisanie pliku Excela .xlsx do formatu .xls

0

Hej!

Piszę pewien projekt, którego finalnym owocem jest plik Excela .xlsx utworzony przy pomocy EPPlus ( http://epplus.codeplex.com/ ).

Niestety potrzebuję, aby plik ten był kompatybilny z Office'm 2003, ale używając niektórych metod (jak np kształt linii Line i LineInv) sprawiają, iż oficjalny konwerter MS wywala się z błędem: "Otwarcie pliku przez konwerter nie powiodło się".

Czy ktoś dysponuje jakimiś źródłami, które mogłyby mi pomóc i przekonwertować plik .xlsx do .xls przy pomocy C#?

Szukałem dużo, ale niestety nie znalazłem niczego, co by mi pomogło.

1
  1. co to jest ten „oficjalny konwerter MS”?
  2. skoro „oficjalny konwerter MS” się wywala, to
    • albo go źle używasz
    • albo natrafiłeś na jakiegoś buga i masz duże szanse, że pod C# wynik będzie taki sam.

Niestety potrzebuję, aby plik ten był kompatybilny z Office'm 2003

Problem leży raczej po stronie Office'a 2003. Zainstaluj „pakiet zgodności” a ten Office 2003 obsłuży ci pliki .xlsx

0

Pod pojęciem "oficjalny konwerter" miałem właśnie ten pakiet kompatybilności. Konwerter uruchamia się podczas otwierania pliku .xlsx.
Znalazłem "potencjalny bug" - dotyczy on tworzenia kształtów. W EPPlus mam do dyspozycji linię (Line) i linię odwróconą (LineInv).
Różnią się one układem współrzędnych - Line ma osie dodanie w dół i na prawo, LineInv w lewo i do góry. Przekazywanie ujemnych współrzędnych owocuje brakiem linii :/
Dodanie do arkusza obiektu LineInv powoduje to, iż w Office 2003 nie mogę go otworzyć (przy użyciu pakietu zgodności).

Nie mam pomysłu na wyjście z tej sytuacji. Póki co, po utworzeniu i sformatowaniu pliku .xlsx, odpalam Excela i rysuję kształty. Niestety przy 300 obiektach program zwalnia bardzo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1