Cześć,
Mam pewną aplikację która łączy się z bazą danych, analizuje ją i tworzy raport w pliku xlsx. Problem zaczyna się gdy w raporcie mają pojawić się wykresy. Biblioteka POI (z której korzystam do wypełnienia excela danymi) póki co nie daje możliwści tworzenia wykresów, więc postanowiłem obejść ten problem w sposób taki:
Napisać makro do rysowania wykresów,
Wywołać je z pliku vbs
Plik vbs uruchomić z poziomu javy.
Chcę aby wszystko pozostało zautomatyzowane i niewidoczne dla użytkownika.
Dodaję plik xlsm z makrem ( będzie on bazą do tworzenia raportu - poi nie wpływa na makra które są już w pliku) oraz vbs do jara.
Chce teraz skopiować plik xlsm do katalogu domowego w ten sposób:
InputStream is = getClass().getResourceAsStream("tmp.xlsm");
InputStream out;
while(is.read(b) != -1)
out.write(b)
Jednak po tej operacji excel pisze że nowy plik jest uszkodzony i nie mogę już nic z tym zrobić.
Ktoś ma jakieś pomysły dlaczego może to się pojawiać(tutaj nie jestem w stanie powiedzieć coś więcej na temat błędu).
Inne rozwiązania też mile widziane.